2007-12-16 Mark Rowe <mrowe@apple.com>
[WebKit-https.git] / WebCore / ChangeLog
1 2007-12-16  Mark Rowe  <mrowe@apple.com>
2
3         Mac build fix.
4
5         * WebCore.xcodeproj/project.pbxproj: Remove NetscapePlugInStreamLoader.cpp from the WebCore target.
6         Mac currently has its own implementation in NetscapePlugInStreamLoaderMac.mm which conflicts with the
7         new shared implementation.
8
9 2007-12-16  Rodney Dawes  <dobey@wayofthemonkey.com>
10
11         Reviewed by Maciej Stachowiak.
12
13         http://bugs.webkit.org/show_bug.cgi?id=16389
14         Bug 16389: Common Implementation of NetscapePlugInStreamLoader
15
16         * WebCore.vcproj/WebCore.vcproj: Remove NetscapePlugInStreamLoaderWin.cpp.
17         * loader/NetscapePlugInStreamLoader.cpp: Copy method implementations from NetscapePlugInStreamLoaderWin.cpp.
18         * loader/win/NetscapePlugInStreamLoaderWin.cpp: Removed.
19
20 2007-12-16  Grace Kloba  <klobag@gmail.com>
21
22         Reviewed by Darin Adler.
23
24         Fix http://bugs.webkit.org/show_bug.cgi?id=16433.
25         Bug 16433: LOW_BANDWIDTH_DISPLAY build is broken
26
27         * dom/Document.cpp:
28         (WebCore::Document::Document):
29         * loader/FrameLoader.cpp:
30         (WebCore::FrameLoader::addLowBandwidthDisplayRequest):
31         (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
32
33 2007-12-16  Darin Adler  <darin@apple.com>
34
35         Reviewed by Maciej.
36
37         - fix <rdar://problem/5636065> First form of SQLTransaction.executeSql() fails with TYPE_ERROR dom exception
38
39         Test: storage/execute-sql-args.html
40
41         * bindings/js/JSSQLTransactionCustom.cpp:
42         (WebCore::JSSQLTransaction::executeSql): Added exception handling code so that once an
43         exception happens, we won't try to do any more argument processing. Changed processing
44         of the second argument so that we allow an undefined value or null, and simply omit the
45         array. Changed processing of the second argument so that we don't require an actual
46         JavaScript array. Instead, as with the JavaScript array operations themselves, we use
47         the length property and corresponding numeric properties of the object, allowing other
48         objects to act as arrays. Changed processing of the third and fourth arguments to
49         allow the undefined value as well as null; we check the value of the argument rather
50         than looking at the size of the passed-in arguments list.
51
52 2007-12-16  Sam Weinig  <sam@webkit.org>
53
54         Reviewed by Darin.
55
56         More of http://bugs.webkit.org/show_bug.cgi?id=16385
57         Cleanup kjs_window
58
59         - Move PausedTimeouts into its own file and put it in the WebCore namespace.
60
61         * WebCore.pro:
62         * WebCore.vcproj/WebCore.vcproj:
63         * WebCore.xcodeproj/project.pbxproj:
64         * WebCoreSources.bkl:
65         * bindings/js/PausedTimeouts.cpp: Copied from bindings/js/kjs_window.cpp.
66         * bindings/js/PausedTimeouts.h: Copied from bindings/js/kjs_window.h.
67         * bindings/js/kjs_window.cpp:
68         (KJS::Window::pauseTimeouts):
69         * bindings/js/kjs_window.h:
70         * history/CachedPage.cpp:
71         * history/CachedPage.h:
72         * page/Chrome.cpp:
73
74 2007-12-16  Beth Dakin  <bdakin@apple.com>
75
76         Reviewed by Geoff.
77
78         Make relative-size SVGs work in border-image.
79
80         * rendering/RenderBox.cpp:
81         (WebCore::RenderBox::calculateBackgroundSize):
82         * rendering/RenderObject.cpp:
83         (WebCore::RenderObject::paintBorderImage):
84
85 2007-12-16  Darin Adler  <darin@apple.com>
86
87         - fix Tiger build (my fault it was broken)
88
89         * rendering/RenderThemeMac.mm: Define NSUInteger if on Tiger.
90
91 2007-12-16  Andrew Wellington  <proton@wiretapped.net>
92
93         Reviewed by Darin.
94         
95         http://bugs.webkit.org/show_bug.cgi?id=6129
96         Incomplete implementation of CSS 2.1 system colors
97
98         Test: fast/css/css2-system-color.html
99         
100         Based on original patch by Rob Buis.
101         
102         System colors are retrieved from NSColor as appropriate. If the color is a pattern color
103         (and therefore NSColor won't let us retrieve a color from it) we draw a 1x1 image of the
104         color and sample that to get a solid color.
105
106         * css/CSSStyleSelector.cpp:
107         (WebCore::):
108         (WebCore::colorForCSSValue):
109         * rendering/RenderTheme.cpp:
110         (WebCore::RenderTheme::systemColor):
111         * rendering/RenderTheme.h:
112         * rendering/RenderThemeMac.h:
113         * rendering/RenderThemeMac.mm:
114         (WebCore::getSystemColor):
115         (WebCore::RenderThemeMac::platformColorsDidChange):
116         (WebCore::RenderThemeMac::systemColor):
117
118 2007-12-16  Dan Bernstein  <mitz@apple.com>
119
120         Reviewed by Darin Adler.
121
122         - fix http://bugs.webkit.org/show_bug.cgi?id=16426
123           Divs with overflow:auto: scrollbars not correctly updated when contents change
124
125         Test: fast/overflow/scrollbar-position-update.html
126
127         * platform/mac/PlatformScrollBarMac.mm:
128         (WebCore::PlatformScrollbar::updateThumbProportion): Update the
129         NSScroller's value for the new proportions.
130         * rendering/RenderLayer.cpp:
131         (WebCore::RenderLayer::updateScrollInfoAfterLayout): Removed unnecessary
132         repaint(). Scrollbars repaint themselves as needed.
133
134 2007-12-16  Alexey Proskuryakov  <ap@webkit.org>
135
136         Reviewed by Darin.
137
138         http://bugs.webkit.org/show_bug.cgi?id=14140
139         <rdar://problem/5270958> REGRESSION: Complex system KeyBindings don't work properly
140
141         * dom/KeyboardEvent.h:
142         (WebCore::KeypressCommand::KeypressCommand):
143         (WebCore::KeyboardEvent::keypressCommands):
144         Change stored command class to preserve complete information about commands.
145
146         * editing/EditorCommand.cpp: (WebCore::CommandEntry::): Mark InsertText as a text insertion
147         command, which it is. Previously, we couldn't do it because WebKit didn't really treat insertText:
148         as a command.
149
150         * page/EventHandler.cpp: (WebCore::EventHandler::keyEvent): Copy commands saved while interpreting
151         a keydown event into keypress, to avoid losing state when running interpretKeyEvents: again.
152
153 2007-12-16  Alexey Proskuryakov  <ap@webkit.org>
154
155         Reviewed by Darin.
156
157         http://bugs.webkit.org/show_bug.cgi?id=16462
158         REGRESSION: access keys broken on Windows
159
160         * page/EventHandler.cpp:
161         (WebCore::EventHandler::handleAccessKey):
162         (WebCore::EventHandler::keyEvent):
163         * page/EventHandler.h:
164         Make handleAccessKey a class method; rely on WebKit to call it on Windows and wxWidgets.
165
166 2007-12-16  Xan Lopez  <xan@gnome.org>
167
168         Reviewed by Alexey Proskuryakov.
169
170         http://bugs.webkit.org/show_bug.cgi?id=16454
171         [GTK] Text input doesn't work consistently on PPC
172
173         * platform/gtk/KeyEventGtk.cpp:
174         (WebCore::singleCharacterString):
175
176         UChar is 2 bytes (UTF-16), so transform accordingly from
177         gunichar (UCS-4). Fixes keyboard input on big endian systems.
178
179 2007-12-15  Darin Adler  <darin@apple.com>
180
181         Reviewed by Mark Rowe.
182
183         - better build fix for the problem affecting GTK and some other platforms
184           "this time for sure"
185
186         * WebCore.xcodeproj/project.pbxproj:
187         * bindings/js/JSEventTargetBase.cpp: Move the include of the .lut.h file here.
188         * bindings/js/JSEventTargetBase.h: Instead of including the .lut.h file in the header,
189         which won't work, declare the tables that are in the .lut.h file in the header.
190
191 2007-12-12  Kevin Watters  <kevin@dotsyntax.com>
192
193         Reviewed by Darin Adler.
194
195         Fixed the Wx port's FontPlatformData for use in HashTable.
196         - FontPlatformData(Deleted) made unequal to FontPlatformData()
197
198         * platform/graphics/wx/FontPlatformData
199
200 2007-12-15  Dan Bernstein  <mitz@apple.com>
201
202         Reviewed by Darin Adler.
203
204         - fix <rdar://problem/5636090> Text in Georgia, Armenian, Inuktitut, Cree, or Cherokee (KA, HY, IU, CR, CHR) draws as all missing glyphs
205
206         * platform/graphics/win/FontCacheWin.cpp:
207         (WebCore::metaFileEnumProc): Added. Called during metafile record
208         enumeration and extracts the font from the create font record.
209         (WebCore::FontCache::getFontDataForCharacters): If font linking fails,
210         let Uniscribe draw the characters and see what font it chooses.
211
212 2007-12-15  Darin Adler  <darin@apple.com>
213
214         * WebCore.pro: Roll my last change out. Was wrong and didn't fix the build.
215
216 2007-12-15  Darin Adler  <darin@apple.com>
217
218         Another try at a GTK build fix.
219
220         * WebCore.pro: Add JSEventTargetBase.cpp to LUT_TABLE_FILES instead of LUT_FILES.
221
222 2007-12-15  Sam Weinig  <sam@webkit.org>
223
224         Force windows to regenerate COM DOM bindings.
225
226         * WebCore.vcproj/build-generated-files.sh: Add license. 
227         * bindings/scripts/CodeGeneratorCOM.pm: Use shared WK_ucfirst.
228
229 2007-12-15  Sam Weinig  <sam@webkit.org>
230
231         Fix Windows and wx builds.
232
233         * WebCore.vcproj/WebCore.vcproj:
234         * WebCoreSources.bkl:
235
236 2007-12-15  Mark Rowe  <mrowe@apple.com>
237
238         Gtk build fix.  Add JSEventTargetBase.cpp to SOURCES.
239
240         * WebCore.pro:
241
242 2007-12-15  Sam Weinig  <sam@webkit.org>
243
244         Fix wx build.
245
246         * WebCoreSources.bkl:
247
248 2007-12-15  Nikolas Zimmermann  <zimmermann@kde.org>
249
250         Not reviewed. Build fix for Qt/Gtk.
251
252         * WebCore.pro: Include JSEventTargetBase.lut.h in generation
253
254 2007-12-15  Nikolas Zimmermann  <zimmermann@kde.org>
255
256         Reviewed by Eric.
257
258         Fixes: http://bugs.webkit.org/show_bug.cgi?id=16445 (Refactor EventTargetNode & JSEventTargetNode for an upcoming SVG patch)
259
260         Split up JSEventTargetNode in JSEventTargetNode & JSEventTargetBase - where most functionality has been moved down
261         in the base class. Applied the same refactorization to EventTargetNode.
262
263         This makes it possible for the upcoming patch implementing the EventTarget interface for SVGElementInstance
264         to share as much code as possible with the EventTargetNode classes.
265
266         * DerivedSources.make:
267         * WebCore.xcodeproj/project.pbxproj:
268         * bindings/js/JSEventTargetBase.cpp: Added.
269         (WebCore::retrieveEventTargetAndCorrespondingNode):
270         (WebCore::eventNameForPropertyToken):
271         * bindings/js/JSEventTargetBase.h: Added.
272         (WebCore::JSEventTargetProperties::):
273         (WebCore::JSEventTargetPrototypeFunctionBase::JSEventTargetPrototypeFunctionBase):
274         (WebCore::JSEventTargetPrototypeFunction::JSEventTargetPrototypeFunction):
275         (WebCore::):
276         (WebCore::::create):
277         (WebCore::JSEventTargetBase::JSEventTargetBase):
278         (WebCore::JSEventTargetBase::getValueProperty):
279         (WebCore::JSEventTargetBase::putValueProperty):
280         (WebCore::JSEventTargetBase::getOwnPropertySlot):
281         (WebCore::JSEventTargetBase::put):
282         (WebCore::JSEventTargetPrototype::JSEventTargetPrototype):
283         (WebCore::JSEventTargetPrototype::self):
284         (WebCore::JSEventTargetPrototype::getOwnPropertySlot):
285         (WebCore::JSEventTargetPrototype::classInfo):
286         * bindings/js/JSEventTargetNode.cpp:
287         (WebCore::JSEventTargetNode::getOwnPropertySlot):
288         (WebCore::JSEventTargetNode::getValueProperty):
289         (WebCore::JSEventTargetNode::put):
290         (WebCore::JSEventTargetNode::putValueProperty):
291         (WebCore::JSEventTargetNode::setListener):
292         (WebCore::toEventTargetNode):
293         * bindings/js/JSEventTargetNode.h:
294         (WebCore::JSEventTargetPrototypeInformation::prototypeClassName):
295         (WebCore::JSEventTargetPrototypeInformation::prototypeIdentifier):
296         * dom/EventTarget.cpp:
297         (WebCore::EventTarget::addEventListener):
298         (WebCore::EventTarget::removeEventListener):
299         (WebCore::EventTarget::dispatchGenericEvent):
300         (WebCore::EventTarget::removeAllEventListeners):
301         (WebCore::EventTarget::insertedIntoDocument):
302         (WebCore::EventTarget::removedFromDocument):
303         (WebCore::EventTarget::handleLocalEvents):
304         (WebCore::EventTarget::applySVGEventTargetRules):
305         (WebCore::forbidEventDispatch):
306         (WebCore::allowEventDispatch):
307         (WebCore::eventDispatchForbidden):
308         * dom/EventTarget.h:
309         (WebCore::EventTarget::preDispatchEventHandler):
310         (WebCore::EventTarget::postDispatchEventHandler):
311         (WebCore::forbidEventDispatch):
312         (WebCore::allowEventDispatch):
313         * dom/EventTargetNode.cpp:
314         (WebCore::EventTargetNode::~EventTargetNode):
315         (WebCore::EventTargetNode::insertedIntoDocument):
316         (WebCore::EventTargetNode::removedFromDocument):
317         (WebCore::EventTargetNode::addEventListener):
318         (WebCore::EventTargetNode::removeEventListener):
319         (WebCore::EventTargetNode::removeAllEventListeners):
320         (WebCore::EventTargetNode::handleLocalEvents):
321         (WebCore::EventTargetNode::dispatchEvent):
322         (WebCore::EventTargetNode::dispatchWindowEvent):
323         * dom/EventTargetNode.h:
324         (WebCore::EventTargetNode::localEventListeners):
325         * svg/SVGElement.cpp:
326         (WebCore::SVGElement::sendSVGLoadEventIfPossible):
327         (WebCore::SVGElement::dispatchEvent):
328
329 2007-12-15  Eric Seidel  <eric@webkit.org>
330
331         Reviewed by Oliver.
332         
333         Width of SVG elements not applied to container elements
334         http://bugs.webkit.org/show_bug.cgi?id=16305
335         Added calcPrefWidths for RenderSVGRoot (copied from RenderReplaced)
336         This is caused by poor factoring in the render tree.  RenderContainer probably should be a template.
337
338         svg/css/css-box-min-width.html
339
340         * rendering/RenderSVGRoot.cpp:
341         (WebCore::RenderSVGRoot::calcPrefWidths): Added.
342         * rendering/RenderSVGRoot.h:
343         * css/SVGCSSStyleSelector::applySVGProperty: fixed ASSERT in debug builds
344
345 2007-12-15  David Kilzer  <ddkilzer@apple.com>
346
347         Fix comment after isSafeScript() was renamed to allowsAccessFrom().
348
349         * bindings/js/kjs_window.cpp:
350         (KJS::createWindow):
351
352 2007-12-15  Alp Toker  <alp@atoker.com>
353
354         Reviewed by Mark Rowe.
355
356         http://bugs.webkit.org/show_bug.cgi?id=16449
357         cairo_arc() functions hang or crash when passed inf as radius or start/end angle
358
359         Add checks. This matches a similar workaround for a CG bug in the CG
360         graphics backend: <rdar://problem/5189233>
361
362         Fixes:
363           fast/canvas/arc-crash.html
364           fast/canvas/canvas-with-incorrect-args.html
365
366         * platform/graphics/cairo/PathCairo.cpp:
367         (WebCore::Path::addArc):
368
369 2007-12-15  Alexey Proskuryakov  <ap@webkit.org>
370
371         Reviewed by Darin.
372
373         http://bugs.webkit.org/show_bug.cgi?id=16078
374         Google Maps zooming via the scroll wheel (almost) always zooms IN only.
375
376         * dom/WheelEvent.cpp: (WebCore::WheelEvent::WheelEvent):
377         Ensure that delta is never rounded down to zero - we are getting values less than 1 from 
378         many mice on OS X, and Google Maps code assumes scrolling up if event.wheelDelta is zero.
379
380 2007-12-14  Dan Bernstein  <mitz@apple.com>
381
382         - Windows build fix
383
384         * WebCore.vcproj/WebCore.vcproj:
385
386 2007-12-14  Alp Toker  <alp@atoker.com>
387
388         GTK+/Qt build fix. Track added files in r28722.
389
390         * WebCore.pro:
391
392 2007-12-14  Sam Weinig  <sam@webkit.org>
393
394         Reviewed by Geoff.
395
396         Speed up getElementByClassName.
397         - This makes getElementByClassName 33% faster on the stress test
398           linked to at http://bugs.webkit.org/show_bug.cgi?id=15760.
399
400         * platform/text/StringImpl.cpp:
401         (WebCore::StringImpl::foldCase): Optimize the case when all the characters are ASCII.
402
403 2007-12-14  Alp Toker  <alp@atoker.com>
404
405         Reviewed by Maciej.
406
407         http://bugs.webkit.org/show_bug.cgi?id=16432
408         [GTK] Update license headers
409
410         Consent has been given by the authors of these files to change license
411         to the LGPL as outlined in the bug report.
412
413         * platform/gtk/ClipboardGtk.cpp:
414         * platform/gtk/ContextMenuGtk.cpp:
415         * platform/gtk/ContextMenuItemGtk.cpp:
416         * platform/gtk/CookieJarGtk.cpp:
417         * platform/gtk/CursorGtk.cpp:
418         * platform/gtk/DragDataGtk.cpp:
419         * platform/gtk/DragImageGtk.cpp:
420         * platform/gtk/PasteboardGtk.cpp:
421         * platform/gtk/PlatformScreenGtk.cpp:
422         * platform/gtk/PlatformScrollBarGtk.cpp:
423         * platform/gtk/SearchPopupMenuGtk.cpp:
424         * platform/gtk/WidgetGtk.cpp:
425
426 2007-12-14  Darin Adler  <darin@apple.com>
427
428         Reviewed by Adele.
429
430         - fix http://bugs.webkit.org/show_bug.cgi?id=16442
431           navigation policy delegate gets called twice for each load
432
433         * loader/MainResourceLoader.cpp:
434         (WebCore::MainResourceLoader::willSendRequest): Removed call to checkNavigationPolicy.
435         That's handled by FrameLoader.
436
437         * loader/MainResourceLoader.h: Removed callContinueAfterNavigationPolicy
438         and continueAfterNavigationPolicy.
439
440 2007-12-14  Anders Carlsson  <andersca@apple.com>
441
442         Reviewed by Brady.
443
444         Make document.open count as committing a document load, so that -[WebFrame dataSource:] won't
445         return nil in that case.
446         
447         * loader/FrameLoader.cpp:
448         (WebCore::FrameLoader::didExplicitOpen):
449
450 2007-12-14  David Smith  <catfish.man@gmail.com>
451
452         Reviewed by Mitz.
453
454         - fix http://bugs.webkit.org/show_bug.cgi?id=14955
455           Implement getElementsByClassName.
456
457         This patch also renames AtomicStringList to ClassNames to better reflect its actual use,
458         and takes advantage of admitting that it's class-specific to encapsulate class attribute 
459         parsing so it can be shared.  It also changes the class to use a Vector, rather than a linked
460         list to store the class names.
461
462         Tests: fast/dom/getElementsByClassName/001.html
463                fast/dom/getElementsByClassName/002.html
464                fast/dom/getElementsByClassName/003.html
465                fast/dom/getElementsByClassName/004.html
466                fast/dom/getElementsByClassName/005.html
467                fast/dom/getElementsByClassName/006.html
468                fast/dom/getElementsByClassName/007.html
469                fast/dom/getElementsByClassName/008.html
470                fast/dom/getElementsByClassName/009.html
471                fast/dom/getElementsByClassName/010.xml
472                fast/dom/getElementsByClassName/011.xml
473                fast/dom/getElementsByClassName/012.html
474                fast/dom/getElementsByClassName/013.html
475                fast/dom/getElementsByClassName/014.html
476                fast/dom/getElementsByClassName/array/001.html
477                fast/dom/getElementsByClassName/array/002.html
478                fast/dom/getElementsByClassName/array/003.html
479                fast/dom/getElementsByClassName/array/004.html
480                fast/dom/getElementsByClassName/dumpNodeList.html
481
482         * WebCore.xcodeproj/project.pbxproj:
483         * css/CSSStyleSelector.cpp:
484         (WebCore::CSSStyleSelector::matchRules):
485         (WebCore::CSSStyleSelector::checkOneSelector):
486         * dom/AtomicStringList.h: Removed.
487         * dom/ClassNames.cpp: Added.
488         (WebCore::ClassNames::contains):
489         (WebCore::ClassNames::parseClassAttribute):
490         * dom/ClassNames.h: Copied from WebCore/dom/AtomicStringList.h.
491         (WebCore::ClassNames::ClassNames):
492         (WebCore::ClassNames::size):
493         (WebCore::ClassNames::clear):
494         (WebCore::ClassNames::operator[]):
495         (WebCore::isClassWhitespace):
496         * dom/ClassNodeList.cpp: Added.
497         (WebCore::ClassNodeList::ClassNodeList):
498         (WebCore::ClassNodeList::length):
499         (WebCore::ClassNodeList::item):
500         (WebCore::ClassNodeList::nodeMatches):
501         * dom/ClassNodeList.h: Added.
502         * dom/Document.cpp:
503         (WebCore::Document::getElementsByName):
504         (WebCore::Document::getElementsByClassName):
505         * dom/Document.h:
506         * dom/Document.idl:
507         * dom/Element.cpp:
508         (WebCore::Element::getClassNames):
509         (WebCore::Element::getElementsByClassName):
510         * dom/Element.h:
511         * dom/Element.idl:
512         * dom/NameNodeList.cpp:
513         (WebCore::NameNodeList::NameNodeList):
514         (WebCore::NameNodeList::item):
515         (WebCore::NameNodeList::nodeMatches):
516         * dom/NameNodeList.h:
517         * dom/NamedMappedAttrMap.cpp:
518         (WebCore::NamedMappedAttrMap::clearAttributes):
519         (WebCore::NamedMappedAttrMap::parseClassAttribute):
520         * dom/NamedMappedAttrMap.h:
521         (WebCore::NamedMappedAttrMap::getClassNames):
522         * dom/StyledElement.cpp:
523         (WebCore::StyledElement::getClassNames):
524         * dom/StyledElement.h:
525
526 2007-12-14  Darin Adler  <darin@apple.com>
527
528         Reviewed by Sam.
529
530         - fix http://bugs.webkit.org/show_bug.cgi?id=16351
531           FontFallbackList.h doesn't include wtf/PassRefPtr.h
532           
533         * platform/graphics/FontFallbackList.h: Added include of <wtf/Forward.h>
534         * platform/graphics/GlyphPageTreeNode.h: Removed an unneeded include.
535
536 2007-12-14  Darin Adler  <darin@apple.com>
537
538         Reviewed by Alexey.
539
540         - http://bugs.webkit.org/show_bug.cgi?id=16420
541           change regression tests to use document.execCommand instead of textInputController.doCommand
542
543         Add a few more operations to document.execCommand.
544
545         Finished up the transition to the new Editor::Command, including removing
546         the Editor::execCommand function.
547
548         * WebCore.base.exp: Added Editor::Command::isSupported.
549         * editing/Editor.h: Removed execCommand.
550         * editing/EditorCommand.cpp:
551         (WebCore::expandSelectionToGranularity): Added.
552         (WebCore::verticalScrollDistance): Added; replaces canScroll.
553         (WebCore::executeDeleteBackward): Added. Moved code here from WebHTMLView.
554         (WebCore::executeDeleteBackwardByDecomposingPreviousCharacter): Ditto.
555         (WebCore::executeDeleteForward): Ditto.
556         (WebCore::executeDeleteToBeginningOfLine): Ditto.
557         (WebCore::executeDeleteToBeginningOfParagraph): Ditto.
558         (WebCore::executeDeleteToEndOfLine): Ditto.
559         (WebCore::executeDeleteToEndOfParagraph): Ditto.
560         (WebCore::executeMovePageDown): Renamed this command to be consistent with all the other
561         Move commands. They all modify the caret. Reimplemented to match the Mac OS X version by
562         removing the explicit scrolling, and letting it be done automatically by code that makes
563         the caret visible. In some cases the old code would scroll twice which was harmless but
564         unnecessary.
565         (WebCore::executeMovePageDownAndModifySelection): Added. Moved code here from WebHTMLView.
566         (WebCore::executeMovePageUp): See MovePageDown above.
567         (WebCore::executeMovePageUpAndModifySelection): Added. Moved code here from WebHTMLView.
568         (WebCore::executeSelectLine): Ditto.
569         (WebCore::executeSelectParagraph): Ditto.
570         (WebCore::executeSelectSentence): Ditto.
571         (WebCore::executeSelectWord): Ditto.
572         (WebCore::executeSwapWithMark): Some small tweaks.
573
574         * page/ContextMenuController.cpp:
575         (WebCore::ContextMenuController::contextMenuItemSelected): Changed to use Editor::command()
576         instead of Editor::execCommand(). This code could be changed to use Editor::Command quite a
577         bit more, but I didn't do that this time.
578
579         - Removed some obsolete unused code.
580
581         * page/mac/EventHandlerMac.mm:
582         (WebCore::EventHandler::passMouseDownEventToWidget): Removed the special case code for
583         NSTextView. This was left over from when we used NSTextField and NSTextView for form
584         elements and is no longer used at all.
585
586         * page/mac/WebCoreFrameBridge.h: Removed 20 unused methods that were still on one side
587         of the bridge or another. We really need to find a time to tear down the rest of the
588         bridge, but that's not this patch.
589
590         * page/mac/WebCoreFrameBridge.mm:
591         (-[WebCoreFrameBridge addData:]): Changed to get at the _shouldCreateRenderers field directly
592         instead of using a method.
593         (-[WebCoreFrameBridge rangeByAlteringCurrentSelection:SelectionController::direction:SelectionController::granularity:]):
594         Took out obsolete comment about matching enums (we use a single enum now and have for some
595         time).
596         (-[WebCoreFrameBridge selectionGranularity]): Ditto.
597
598 2007-12-14  Justin Garcia  <justin.garcia@apple.com>
599
600         Reviewed by Darin Adler.
601
602         <rdar://problem/5575101> GoogleDocs: Hang in SplitElementCommand::doApply when outdenting a list item in a particular list
603
604         * editing/CompositeEditCommand.cpp:
605         (WebCore::CompositeEditCommand::splitTreeToNode): Moved here.
606         * editing/CompositeEditCommand.h:
607         * editing/IndentOutdentCommand.cpp: Moved splitTreeToNode.
608         * editing/IndentOutdentCommand.h: Ditto, and removed unimplemented splitTreeTo.
609         * editing/InsertListCommand.cpp:
610         (WebCore::InsertListCommand::doApply): Split ancestors of listChildNode between
611         it and listNode, if they exists, so that moving listChildNode doesn't put it out
612         of order.  Added a test case to cover each change.
613         * editing/SplitElementCommand.cpp:
614         (WebCore::SplitElementCommand::doApply): Added an ASSERT to catch code that
615         tries to split a container at a bogus child, and an early return to avoid a
616         hang in that case.
617
618 2007-12-14  Anders Carlsson  <andersca@apple.com>
619
620         Reviewed by Darin and Geoff.
621
622         <rdar://problem/5619295> 
623         REGRESSION: 303-304: Embedded YouTube video fails to render- JS errors (16150) (Flash 9)
624
625         _NPN_CreateScriptObject doesn't take an origin root object anymore.
626         
627         * html/HTMLPlugInElement.cpp:
628         (WebCore::HTMLPlugInElement::createNPObject):
629         * page/Frame.cpp:
630         (WebCore::Frame::windowScriptNPObject):
631
632 2007-12-14  Dan Bernstein  <mitz@apple.com>
633
634         Reviewed by Darin Adler.
635
636         - fix <rdar://problem/5643663> text-shadow and box-shadow offsets 1px smaller than specified
637           which is the root cause of:
638           http://bugs.webkit.org/show_bug.cgi?id=12943
639           box-shadow: small values don't affect shadow position
640           http://bugs.webkit.org/show_bug.cgi?id=14736
641           Safari implementation of text-shadow off by 1px
642
643         * platform/graphics/cg/GraphicsContextCG.cpp:
644         (WebCore::GraphicsContext::setShadow): Slightly increase the magnitude
645         of the offsets passed to CGContextSetShadow* to ensure that the end
646         result after truncation is the desired integer offsets.
647
648 2007-12-13  Alp Toker  <alp@atoker.com>
649
650         curl backend build fix for breakage introduced in r28709.
651
652         * platform/network/ResourceHandleInternal.h:
653         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
654
655 2007-12-13  Justin Garcia  <justin.garcia@apple.com>
656
657         Reviewed by Oliver Hunt.
658
659         <rdar://problem/5607069> In Mail, a crash occurs at WebCore::AppendNodeCommand() after dragging image into a <FORM> element
660
661         * editing/InsertLineBreakCommand.cpp:
662         (WebCore::InsertLineBreakCommand::shouldUseBreakElement): Equip this function to
663         handle editing positions, like [input, 0];
664         * editing/InsertParagraphSeparatorCommand.cpp:
665         (WebCore::InsertParagraphSeparatorCommand::doApply): Pass enclosingBlock a node peeled
666         off of a non-editing position, to fix a bug where the enclosing block of [input, 0] was
667         the input element itself.
668         Insert a <br> when a <form> element is the enclosing block instead of splitting/cloning or
669         nesting a <div>.
670
671 2007-12-13  Alp Toker  <alp@atoker.com>
672
673         Reviewed by Oliver Hunt.
674
675         http://bugs.webkit.org/show_bug.cgi?id=16365
676         [cURL] Acid2 test segmentation fault
677
678         This patch makes the Acid2 test pass.
679
680         Defer the cleanup of cancelled jobs and halt further transfer as early
681         as possible.
682
683         Bug found by and initial patch provided by Luca Bruno.
684
685         * platform/network/curl/ResourceHandleManager.cpp:
686         (WebCore::writeCallback):
687         (WebCore::headerCallback):
688         (WebCore::ResourceHandleManager::downloadTimerCallback):
689         (WebCore::ResourceHandleManager::cancel):
690
691 2007-12-13  Sam Weinig  <sam@webkit.org>
692
693         Reviewed by Mark Rowe.
694
695         Fix typos and rename InspectorController::moveByUnrestricted to InspectorController::moveWindowBy.
696
697         * page/InspectorController.cpp:
698         (WebCore::moveByUnrestricted):
699         (WebCore::InspectorController::windowScriptObjectAvailable):
700         (WebCore::InspectorController::moveWindowBy):
701         * page/InspectorController.h:
702         * page/inspector/inspector.js:
703
704 2007-12-13  Dan Bernstein  <mitz@apple.com>
705
706         Reviewed by Dave Hyatt.
707
708         - fix <rdar://problem/5642426> explicit cubic-bezier curves all treated as "default" for transition-timing-function
709
710         Test: fast/css/transition-timing-function.html
711
712         * css/CSSStyleSelector.cpp: Changed the HANDLE_MULTILAYER_VALUE macro to
713         not reject non-primitive non-list values, and instead made sure that the
714         mapping functions rejected them if necessary. This allows non-primitive
715         timing functions to be mapped.
716         (WebCore::CSSStyleSelector::mapBackgroundAttachment):
717         (WebCore::CSSStyleSelector::mapBackgroundClip):
718         (WebCore::CSSStyleSelector::mapBackgroundComposite):
719         (WebCore::CSSStyleSelector::mapBackgroundOrigin):
720         (WebCore::CSSStyleSelector::mapBackgroundImage):
721         (WebCore::CSSStyleSelector::mapBackgroundRepeat):
722         (WebCore::CSSStyleSelector::mapBackgroundXPosition):
723         (WebCore::CSSStyleSelector::mapBackgroundYPosition):
724         (WebCore::CSSStyleSelector::mapTransitionDuration):
725         (WebCore::CSSStyleSelector::mapTransitionRepeatCount):
726         (WebCore::CSSStyleSelector::mapTransitionTimingFunction):
727         (WebCore::CSSStyleSelector::mapTransitionProperty):
728         * css/CSSTimingFunctionValue.cpp:
729         (WebCore::CSSTimingFunctionValue::cssText): Implemented for use in the
730         regression test.
731         * css/CSSTimingFunctionValue.h:
732         (WebCore::CSSTimingFunctionValue::isTransitionTimingFunctionValue):
733         Added. Returns true.
734         * css/CSSValue.h:
735         (WebCore::CSSValue::isTransitionTimingFunctionValue): Added. Returns
736         false.
737
738 2007-12-13  Steve Falkenburg  <sfalken@apple.com>
739
740         Move source file generation into its own vcproj to fix build dependencies.
741
742         Reviewed by Adam.
743
744         * WebCore.vcproj/WebCore.make:
745         * WebCore.vcproj/WebCore.sln:
746         * WebCore.vcproj/WebCore.submit.sln:
747         * WebCore.vcproj/WebCore.vcproj:
748         * WebCore.vcproj/WebCoreGenerated.vcproj: Added.
749
750 2007-12-13  Justin Garcia  <justin.garcia@apple.com>
751
752         Reviewed by Oliver Hunt.
753         
754         <rdar://problem/4145786> Undoing a color change of text in a compose window always changes it back to black
755         
756         Some of the operations performed in removeHTMLFontStyle were non-undoable.
757         
758         I'm having trouble writing a layout test for this because I can't get DRT to
759         perform editing operations in separate Undo steps without adding unacceptably long
760         wait times between operations.  I filed:
761         
762         <rdar://problem/5646779> Can't get DRT to perform editing operations in separate Undo steps
763
764         * editing/ApplyStyleCommand.cpp:
765         (WebCore::ApplyStyleCommand::removeHTMLFontStyle):
766
767 2007-12-13  Sam Weinig  <sam@webkit.org>
768
769         Reviewed by Anders.
770
771         Fix for http://bugs.webkit.org/show_bug.cgi?id=16352
772         Toolbar dragged inspector cannot be moved beyond screen edges
773
774         * page/InspectorController.cpp:
775         (WebCore::moveByUnrestricted):
776         (WebCore::InspectorController::windowScriptObjectAvailable):
777         (WebCore::InspectorController::moveByUnrestricted):
778         * page/InspectorController.h:
779         * page/inspector/inspector.js:
780
781 2007-12-13  Adam Roben  <aroben@apple.com>
782
783         Fix <rdar://5517707> Crash on wptv.wp.pl when "make bigger" button is clicked
784
785         Windows Media Player has a modal message loop that will deliver
786         messages to us at inappropriate times and we will crash if we handle
787         them when they are delivered. In PluginViewWin, we add a quirk for
788         Media Player to set a flag whenever we give the plugin a chance to
789         execute code, and in SharedTimerWin we check if the plugin is
790         executing code and repost messages if so.
791
792         Reviewed by Anders.
793
794         * platform/win/SharedTimerWin.cpp:
795         (WebCore::TimerWindowWndProc): Repost messages if we're calling a
796         plugin.
797         * plugins/win/PluginViewWin.cpp: Surround all calls to the plugin with
798         setCallingPlugin(true/false).
799         (WebCore::PluginViewWin::updateWindow):
800         (WebCore::PluginViewWin::dispatchNPEvent):
801         (WebCore::PluginViewWin::setNPWindowRect):
802         (WebCore::PluginViewWin::start):
803         (WebCore::PluginViewWin::stop):
804         (WebCore::PluginViewWin::performRequest):
805         (WebCore::PluginViewWin::bindingInstance):
806         (WebCore::PluginViewWin::determineQuirks):
807         (WebCore::PluginViewWin::setCallingPlugin): Added.
808         (WebCore::PluginViewWin::isCallingPlugin): Added.
809         * plugins/win/PluginViewWin.h: Added a new quirk.
810
811 2007-12-13  Alp Toker  <alp@atoker.com>
812
813         Add a missing DEPENDPATH. Fixes non-clean builds following networking
814         header changes.
815
816         * WebCore.pro:
817
818 2007-12-13  Dan Bernstein  <mitz@apple.com>
819
820         Reviewed by Anders Carlsson.
821
822         - fix regression in fast/text/international/bidi-override on Tiger
823
824         * platform/graphics/GlyphPageTreeNode.cpp:
825         (WebCore::GlyphPageTreeNode::initializePage): Add bidi overrides here
826         too. I forgot to add them when I added them to treatAsZeroWidthSpace in
827         an earlier patch.
828
829 2007-12-13  Justin Garcia  <justin.garcia@apple.com>
830
831         Reviewed by Darin Adler.
832
833         <rdar://problem/5601583> GMail Editor: Copied link doesn't paste as a link, just colored text
834         
835         The code that checks the selected Range to see if it's inside an anchor
836         checks ancestors of the Range's commonAncestor() but not the
837         commonAncestor() itself, and so we'd fail to add markup for the enclosing
838         anchor to the pasteboard.
839         
840         Some enclosing element getters check the node passed to the getter and some
841         don't.  There were a few places where we incorrectly assumed that enclosing 
842         element getters check the node passed to the getter, but this is the only 
843         case that I'm able to write a test case for at the moment.
844         
845         In this patch I've:
846         Changed enclosingNodeWithType and enclosingNodeWithTag to take in positions,
847         like the newer enclosing element getters.  This is important because we must
848         soon add code to the getters so that they understand that some editing positions
849         inside nodes don't actually refer to positions inside those nodes but positions
850         before and after them.  Like [table, 0].
851         Changed enclosingNodeWithType and enclosingNodeWithTag to check nodes starting with
852         n where [n, o] is the position passed to the getter, instead of starting the the parent
853         of n.  This makes all but a few of the enclosing element getters behave consistently.
854         Changed enclosingNodeWithType and enclosingNodeWithTag to not return non-editable 
855         nodes if the input position was editable.  This fixes a bug that that the above change
856         exposed.
857         Changed enclosingTableCell to simply call enclosingNodeWithType.  We should do
858         this for the rest of the getters, or simply remove them in favor of enclosingNodeWithType
859         unless doing so would affect readability, like it would in the case of enclosingTableCell.
860         Ditto for enclosingBlock.
861
862         * editing/AppendNodeCommand.cpp:
863         (WebCore::AppendNodeCommand::doApply):
864         * editing/DeleteButtonController.cpp:
865         (WebCore::enclosingDeletableElement):
866         * editing/DeleteSelectionCommand.cpp:
867         (WebCore::DeleteSelectionCommand::initializePositionData):
868         (WebCore::DeleteSelectionCommand::saveFullySelectedAnchor):
869         * editing/Editor.cpp:
870         (WebCore::Editor::selectionUnorderedListState):
871         (WebCore::Editor::selectionOrderedListState):
872         * editing/IndentOutdentCommand.cpp:
873         (WebCore::IndentOutdentCommand::prepareBlockquoteLevelForInsertion):
874         (WebCore::IndentOutdentCommand::outdentParagraph):
875         * editing/InsertNodeBeforeCommand.cpp:
876         (WebCore::InsertNodeBeforeCommand::doApply):
877         * editing/InsertParagraphSeparatorCommand.cpp:
878         (WebCore::InsertParagraphSeparatorCommand::doApply):
879         * editing/ReplaceSelectionCommand.cpp:
880         (WebCore::ReplaceSelectionCommand::shouldMerge):
881         (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds):
882         (WebCore::ReplaceSelectionCommand::positionAtEndOfInsertedContent):
883         * editing/TextIterator.cpp:
884         * editing/htmlediting.cpp:
885         (WebCore::enclosingBlock):
886         (WebCore::enclosingNodeWithTag):
887         (WebCore::enclosingNodeOfType):
888         (WebCore::enclosingTableCell):
889         (WebCore::isTableCell):
890         * editing/htmlediting.h:
891         * editing/markup.cpp:
892         (WebCore::appendStartMarkup):
893         (WebCore::createMarkup):
894
895 2007-12-13  Alexey Proskuryakov  <ap@webkit.org>
896
897         Reviewed by Darin.
898
899         Turn on keyboard event processing quirks for feed views and old applications on Mac OS X.
900
901         * WebCore.base.exp:
902         * dom/KeyboardEvent.cpp:
903         (WebCore::KeyboardEvent::charCode):
904         * page/EventHandler.cpp:
905         (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks):
906         (WebCore::EventHandler::keyEvent):
907         * page/EventHandler.h:
908         * page/Settings.cpp:
909         (WebCore::Settings::Settings):
910         (WebCore::Settings::setNeedsKeyboardEventDisambiguationQuirks):
911         * page/Settings.h:
912         (WebCore::Settings::needsKeyboardEventDisambiguationQuirks):
913         * page/mac/EventHandlerMac.mm:
914         (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks):
915         * platform/PlatformKeyboardEvent.h:
916         * platform/mac/KeyEventMac.mm:
917         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
918         (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
919
920 2007-12-13  Dan Bernstein  <mitz@apple.com>
921
922         - build fix
923
924         * platform/network/cf/ResourceErrorCF.cpp:
925
926 2007-12-13  Antti Koivisto  <antti@apple.com>
927
928         Reviewed by Tim Hatcher.
929
930         Fix <rdar://problem/5605674> 
931         Make <video> display WebKit context menu instead of the QTKit one.
932     
933         It doesn't really matter where the QTMovieView is.
934
935         * ChangeLog:
936         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
937         (WebCore::MediaPlayerPrivate::createQTMovieView):
938         (WebCore::MediaPlayerPrivate::setRect):
939
940 2007-12-13  Dan Bernstein  <mitz@apple.com>
941
942         Reviewed by Adam Roben.
943
944         - ensure that Unicode bidi control characters are rendered as zero width
945           spaces
946
947         Test: fast/text/international/bidi-control-chars-treated-as-ZWS.html
948
949         * platform/graphics/Font.h:
950         (WebCore::Font::treatAsZeroWidthSpace):
951         * platform/graphics/GlyphPageTreeNode.cpp:
952         (WebCore::GlyphPageTreeNode::initializePage):
953         * platform/text/CharacterNames.h:
954
955 2007-12-13  Brady Eidson  <beidson@apple.com>
956
957         Build fix
958
959         * platform/wx/TemporaryLinkStubs.cpp:
960
961 2007-12-12  Brady Eidson  <beidson@apple.com>
962
963         Build fix
964
965         * platform/gtk/TemporaryLinkStubs.cpp:
966
967 2007-12-12  Brady Eidson  <beidson@apple.com>
968
969         Build fix
970
971         * WebCore.pro:
972         * history/qt/CachedPageQt.cpp: Removed. Whole purpose for this method being platform-specific has been removed
973
974 2007-12-12  Brady Eidson  <beidson@apple.com>
975
976         Build fix
977
978         * platform/win/TemporaryLinkStubs.cpp:
979
980 2007-12-12  Brady Eidson  <beidson@apple.com>
981
982         Reviewed by Sam Weinig
983
984         Fix for <rdar://problem/4886844> and lay groundwork for <rdar://problem/4516170> (Back/Forward Cache on Windows)
985
986         All back/forward list and page cache related items used to be in WebKit.
987         When they were pushed into WebCore, some sloppy compromises were made to keep the Back/Forward cache working on Mac.
988         Namely, a WebCore::HistoryItem had to know how to keep a WebDocumentView alive.  We accomplished this via some #ifdefs
989         in CachedPage and having the Mac-only CachedPageMac.mm
990
991         To get rid of that nastiness and pave the way for adding Back/Forward cache on other platforms, this patch adds the 
992         concept of "CachedPagePlatformData" which can contain anything the platform API wants.  
993
994         I also took the opportunity to do other cleanup and renaming client methods to better fit their new purposes.
995
996         * WebCore.base.exp:
997         * WebCore.xcodeproj/project.pbxproj:
998
999         * history/CachedPage.cpp:
1000         (WebCore::CachedPage::~CachedPage): Combined "close()" and "clear()" to just "clear()" - call it from here.
1001         (WebCore::CachedPage::clear): Call clear() on the CachedPagePlatformData if it exists.  Also delete the CachedPagePlatformData.
1002         (WebCore::CachedPage::setCachedPagePlatformData):
1003         (WebCore::CachedPage::cachedPagePlatformData):
1004         * history/CachedPage.h:
1005
1006         * history/CachedPagePlatformData.h: Added.
1007         (WebCore::CachedPagePlatformData::~CachedPagePlatformData): Virtual d'tor.
1008         (WebCore::CachedPagePlatformData::clear): Virtual method for platforms that need to do cleanup at the same time as CachedPage::clear().
1009
1010         * history/PageCache.cpp:
1011         (WebCore::PageCache::releaseAutoreleasedPagesNow): Call "clear()" instead of "close()"
1012
1013         * history/mac/CachedPageMac.mm: Removed. Functionality replaced with CachedPagePlatformData.
1014
1015         * loader/FrameLoader.cpp:
1016         (WebCore::FrameLoader::transitionToCommitted): Call the new client methods.  Make some work previously done by WebKitMac cross platform 
1017           (setting the cached DocumentLoader to the Frame).
1018         (WebCore::FrameLoader::cachePageForHistoryItem):  Renamed the client methods
1019
1020         * loader/FrameLoaderClient.h:  The very Mac-centric "makeDocumentView", "setDocumentViewFromCachedPage", and "saveDocumentViewToCachedPage"
1021           become "transitionToCommittedForNewPage", "transitionToCommittedFromCachedPage", and "savePlatformDataToCachedPage" accordingly
1022
1023         * svg/graphics/SVGImageEmptyClients.h:
1024         (WebCore::SVGEmptyFrameLoaderClient::savePlatformDataToCachedPage):
1025         (WebCore::SVGEmptyFrameLoaderClient::transitionToCommittedFromCachedPage):
1026         (WebCore::SVGEmptyFrameLoaderClient::transitionToCommittedForNewPage):
1027
1028 2007-12-12  Dan Bernstein  <mitz@apple.com>
1029
1030         Reviewed by Oliver Hunt.
1031
1032         - fix <rdar://problem/5074620> text with font:initial; fails to appear (causes fast/text/font-initial.html to fail)
1033
1034         * css/CSSStyleSelector.cpp:
1035         (WebCore::CSSStyleSelector::applyProperty): When the font property is
1036         set to 'initial', set the font size to its initial value, 'medium',
1037         and the font family to the standard family.
1038
1039 2007-12-12  Justin Garcia  <justin.garcia@apple.com>
1040
1041         Reviewed by Darin Adler.
1042
1043         <rdar://problem/5433862> Mail crashes at WebCore::highestAncestor() when deleting a particular selection
1044
1045         * editing/DeleteSelectionCommand.cpp:
1046         (WebCore::DeleteSelectionCommand::removePreviouslySelectedEmptyTableRows):
1047         Don't remove the table row that contained the end of the selection if it is where we are
1048         about to place the ending selection.
1049         Don't remove all empty rows after the row that contained the start of the selection,
1050         they might come after the row that contained the end of the selection.
1051
1052 2007-12-12  Sam Weinig  <sam@webkit.org>
1053
1054         Reviewed by Anders Carlsson.
1055
1056         Add button to clear the Web Inspector's console.
1057
1058         * English.lproj/InspectorLocalizedStrings.js:
1059         * page/inspector/ConsolePanel.js:
1060         * page/inspector/inspector.css:
1061
1062 2007-12-12  Anders Carlsson  <andersca@apple.com>
1063
1064         Reviewed by Adam and Jon.
1065
1066         <rdar://problem/5349282>
1067         popup blocking is not applied to plugins on Windows.
1068         
1069         Implement popup blocking. If the plug-in supports the new 
1070         NPN_PushPopupsEnabledState/NPN_PopPopupsEnabledState API we just use that
1071         to determine if a plug-in request can open new windows.
1072         
1073         If a plug-in does not support the new API, we assume that a plug-in can open new windows
1074         in response to either mouse click or key press events.
1075         
1076         * plugins/win/PluginViewWin.cpp:
1077         (WebCore::PluginRequestWin::PluginRequestWin):
1078         (WebCore::PluginRequestWin::shouldAllowPopups):
1079         Add new shouldAllowPopups member.
1080         
1081         (WebCore::PluginViewWin::popPopupsStateTimerFired):
1082         Reset the popup state.
1083         
1084         (WebCore::isWindowsMessageUserGesture):
1085         New function that given a windows message id returns whether it's a user gesture or not.
1086         
1087         (WebCore::PluginViewWin::wndProc):
1088         Allow popups if the window message is a user gesture.
1089         
1090         (WebCore::PluginViewWin::dispatchNPEvent):
1091         New method that dispatches an NPEvent, turning on popups if necessary.
1092         
1093         (WebCore::PluginViewWin::paint):
1094         (WebCore::PluginViewWin::handleKeyboardEvent):
1095         (WebCore::PluginViewWin::handleMouseEvent):
1096         Call dispatchNPEvent().
1097         
1098         (WebCore::PluginViewWin::performRequest):
1099         (WebCore::PluginViewWin::load):
1100         Add calls to shouldAllowPopups().
1101         
1102         (WebCore::PluginViewWin::pushPopupsEnabledState):
1103         (WebCore::PluginViewWin::popPopupsEnabledState):
1104         New methods that maintain the popup state stack.
1105         
1106         (WebCore::PluginViewWin::arePopupsAllowed):
1107         New method that returns whether popups are allowed.
1108         
1109         (WebCore::PluginViewWin::PluginViewWin):
1110         * plugins/win/PluginViewWin.h:
1111         Add new instance variables.
1112         
1113         * plugins/win/npapi.cpp:
1114         (NPN_PushPopupsEnabledState):
1115         (NPN_PopPopupsEnabledState):
1116         Implement these.
1117
1118 2007-12-12  Dan Bernstein  <mitz@apple.com>
1119
1120         Reviewed by John Sullivan.
1121
1122         - fix a bug in debug builds only where selecting an earlier item in
1123           a popup selects the first item
1124
1125         Test: fast/forms/menulist-selection-reset.html
1126
1127         * html/HTMLSelectElement.cpp:
1128         (WebCore::HTMLSelectElement::recalcListItems): Added an argument that
1129         tells that function whether it should update the selected state of
1130         option elements.
1131         (WebCore::HTMLSelectElement::checkListItems): Changed to pass false
1132         as the above argument.
1133         * html/HTMLSelectElement.h:
1134
1135 2007-12-12  Adele Peterson  <adele@apple.com>
1136
1137         Reviewed by Geoff.
1138
1139         Fix for <rdar://problem/5643054> Remove cue point implementation for media elements
1140
1141         When the specification for cue ranges is more final, we will implement those.
1142
1143         * html/HTMLMediaElement.cpp:
1144         (WebCore::HTMLMediaElement::~HTMLMediaElement):
1145         (WebCore::HTMLMediaElement::load):
1146         * html/HTMLMediaElement.h:
1147         * html/HTMLMediaElement.idl:
1148         * platform/graphics/MediaPlayer.cpp:
1149         * platform/graphics/MediaPlayer.h:
1150         (WebCore::MediaPlayerClient::mediaPlayerTimeChanged):
1151         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
1152         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1153         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
1154         (WebCore::MediaPlayerPrivate::load):
1155         (WebCore::MediaPlayerPrivate::play):
1156         (WebCore::MediaPlayerPrivate::pause):
1157         (WebCore::MediaPlayerPrivate::setEndTime):
1158         (WebCore::MediaPlayerPrivate::startEndPointTimerIfNeeded):
1159         (WebCore::MediaPlayerPrivate::endPointTimerFired):
1160         (WebCore::MediaPlayerPrivate::timeChanged):
1161         (WebCore::MediaPlayerPrivate::didEnd):
1162         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
1163         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
1164         (WebCore::MediaPlayerPrivate::startEndPointTimerIfNeeded):
1165         (WebCore::MediaPlayerPrivate::endPointTimerFired):
1166         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
1167
1168 2007-12-12  MorganL  <morganl.webkit@yahoo.com>
1169
1170         Reviewed by Maciej.
1171
1172         Fixes:
1173         http://bugs.webkit.org/show_bug.cgi?id=16408
1174
1175         When navigating back/forward to a http:// link, we should prefer to
1176         load from cache if possible.
1177
1178         * loader/FrameLoader.cpp:
1179
1180 2007-12-12  Anders Carlsson  <andersca@apple.com>
1181
1182         Reviewed by Sam.
1183
1184         <rdar://problem/5132003>
1185         dumpResourceLoadCallbacks is not implemented in DRT on Windows.
1186         
1187         * platform/network/cf/ResourceErrorCF.cpp:
1188         (WebCore::ResourceError::unpackPlatformError):
1189         Handle kCFErrorDomainWinSock.
1190         
1191         * platform/network/cf/ResourceHandleCFNet.cpp:
1192         (WebCore::willSendRequest):
1193         Ignore willSendRequest calls where the redirect response is null, like we do in 
1194         the Mac version.
1195
1196 2007-12-12  Steve Falkenburg  <sfalken@apple.com>
1197
1198         <rdar://problem/5643785> Fix iBench regression caused by mis-placed nested timer check.
1199         
1200         Reviewed by Anders.
1201
1202         * platform/win/SharedTimerWin.cpp:
1203         (WebCore::TimerWindowWndProc): Don't set high-resolution timer flag inside non-high-resolution timer proc.
1204
1205 2007-12-12  Beth Dakin  <bdakin@apple.com>
1206
1207         Reviewed by Oliver.
1208
1209         Fix for <rdar://problem/5643770> REGRESSION: Free-standing SVGs 
1210         with width and height 100% clip to 300 x 150
1211
1212         Though it was correct in an earlier iteration of my patch, it is 
1213         not sufficient in the final, committed version to ask if the 
1214         relativeWidthValue() or relativeHeightValue() is greater than 0 
1215         just to determine if one has been set, for, they are now 
1216         initialized to 300 and 150 respectively! This patch instead adds a 
1217         bool to keep track of whether a container size has been set, and 
1218         only used the relative value if it has.
1219
1220         * rendering/RenderSVGRoot.cpp:
1221         (WebCore::RenderSVGRoot::calcViewport):
1222         * svg/SVGSVGElement.cpp:
1223         (WebCore::SVGSVGElement::SVGSVGElement):
1224         * svg/SVGSVGElement.h:
1225         (WebCore::SVGSVGElement::setContainerSize):
1226         (WebCore::SVGSVGElement::hasSetContainerSize):
1227
1228 2007-12-12  Brady Eidson  <beidson@apple.com>
1229
1230         Reviewed by Steve Falkenburg 
1231
1232         <rdar://problem/5012636> - WebURLProtectionSpace::realm returns the hostname rather than the authentication realm
1233
1234         * platform/network/ProtectionSpace.cpp:
1235         (WebCore::ProtectionSpace::ProtectionSpace): Assign the realm to m_realm, instead of the host
1236
1237 2007-12-12  Alp Toker  <alp@atoker.com>
1238
1239         Reviewed by Maciej.
1240
1241         http://bugs.webkit.org/show_bug.cgi?id=16388
1242         [GTK] Widget::setCursor() gets called frequently
1243
1244         Cache the current cursor to avoid calling gdk_window_set_cursor() when
1245         there's no change in cursor.
1246
1247         * platform/gtk/WidgetGtk.cpp:
1248         (WebCore::Widget::Widget):
1249         (WebCore::Widget::cursor):
1250         (WebCore::Widget::setCursor):
1251
1252 2007-12-12  Rodney Dawes  <dobey@wayofthemonkey.com>
1253
1254         Reviewed by Maciej.
1255
1256         http://bugs.webkit.org/show_bug.cgi?id=16342
1257         Build Warning and Error fixes in WebCore GTK+
1258
1259         Use C-style casts for casting function pointers to gpointer
1260         Use static_cast<int> to cast a float to int to fix a warning
1261
1262         * platform/gtk/PlatformScrollBarGtk.cpp:
1263         (PlatformScrollbar::PlatformScrollbar):
1264         (PlatformScrollbar::~PlatformScrollbar):
1265         (PlatformScrollbar::gtkValueChanged):
1266         * platform/gtk/ThreadingGtk.cpp:
1267         (callFunctionOnMainThread):
1268         (callOnMainThread):
1269
1270 2007-12-12  Dan Bernstein  <mitz@apple.com>
1271
1272         Reviewed by Darin Adler.
1273
1274         - better fix for a crash when pressing a key that is not associated
1275           with a command
1276
1277         * editing/EditorCommand.cpp:
1278         (WebCore::Editor::command): Return the empty command if the command name
1279         is empty.
1280
1281 2007-12-12  Alexey Proskuryakov  <ap@webkit.org>
1282
1283         Reviewed by Darin.
1284
1285         http://bugs.webkit.org/show_bug.cgi?id=16410
1286         Implement isKeypadEvent() on Windows
1287
1288         Test: platform/win/fast/events/keyLocation-numpad.html
1289
1290         * platform/win/KeyEventWin.cpp:
1291         (WebCore::isKeypadEvent): Added.
1292         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Also fixed a mistake with autorepeat.
1293
1294 2007-12-12  Oliver Hunt  <oliver@apple.com>
1295
1296         Reviewed by Maciej.
1297
1298         <rdar://problem/5071781> window.mouseout events are not sent 
1299         to window when mouse moves out of window 
1300
1301         Make PlatformMouseEvent recognise WM_MOUSELEAVE.
1302
1303         * platform/win/PlatformMouseEventWin.cpp:
1304         (WebCore::messageToEventType):
1305         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
1306
1307 2007-12-12  Sam Weinig  <sam@webkit.org>
1308
1309         Fix Mac release build.
1310
1311         * WebCore.base.exp:
1312
1313 2007-12-12  Sam Weinig  <sam@webkit.org>
1314
1315         Build fix for Qt, Gtk, and Wx.
1316
1317         * css/CSSParser.cpp:
1318         (WebCore::CSSParser::parseValue):
1319         * loader/win/FrameLoaderWin.cpp:
1320         (WebCore::FrameLoader::urlSelected):
1321         * platform/network/curl/ResourceHandleManager.cpp:
1322         (WebCore::parseDataUrl):
1323         (WebCore::ResourceHandleManager::startJob):
1324         * platform/network/win/CookieJarWin.cpp:
1325         (WebCore::setCookies):
1326         (WebCore::cookies):
1327         * platform/network/win/ResourceHandleWin.cpp:
1328         (WebCore::ResourceHandle::start):
1329         * platform/qt/PasteboardQt.cpp:
1330         (WebCore::Pasteboard::writeURL):
1331
1332 2007-12-11  Dan Bernstein  <mitz@apple.com>
1333
1334         Reviewed by Maciej Stachowiak.
1335
1336         - allow non-integer font sizes on Windows for small caps
1337
1338         * platform/graphics/win/FontDataWin.cpp:
1339         (WebCore::FontData::smallCapsFontData):
1340         * platform/graphics/win/FontPlatformData.h:
1341         (WebCore::FontPlatformData::size):
1342         (WebCore::FontPlatformData::setSize):
1343         * platform/graphics/win/FontPlatformDataWin.cpp:
1344         (WebCore::FontPlatformData::FontPlatformData):
1345
1346 2007-12-11  Sam Weinig  <sam@webkit.org>
1347
1348         Build fix for Qt, Gtk, and Wx.
1349
1350         * platform/gtk/CookieJarGtk.cpp:
1351         (WebCore::setCookies):
1352         (WebCore::cookies):
1353         * platform/qt/ClipboardQt.cpp:
1354         (WebCore::ClipboardQt::writeURL):
1355         * platform/qt/CookieJarQt.cpp:
1356         (WebCore::setCookies):
1357         (WebCore::cookies):
1358         * platform/wx/PasteboardWx.cpp:
1359         (WebCore::Pasteboard::writeURL):
1360
1361 2007-12-11  Sam Weinig  <sam@webkit.org>
1362
1363         Reviewed by Darin Adler.
1364
1365         Scrub URL out of the tree in preparation for renaming KURL to URL.
1366             - Renames Document::URL() -> Document::url()
1367             - Renames DocumentLoader::URL() -> DocumentLoader::url()
1368             - Renames KURL::url() to KURL::string() and KURL::deprecatedString()
1369             - Remove FrameLoader::URL()
1370             - Various variable renames.
1371
1372         The change from Document::URL() to Document::url() required changes
1373         to the bindings scripts as well, because URL() is the name of a DOM
1374         method.  The code generation scripts now have code to special case URL()
1375         to url().
1376
1377         * WebCore.base.exp:
1378         * bindings/js/kjs_events.cpp:
1379         (WebCore::JSLazyEventListener::parseCode):
1380         * bindings/js/kjs_navigator.cpp:
1381         (KJS::Navigator::getValueProperty):
1382         * bindings/js/kjs_proxy.cpp:
1383         (WebCore::KJSProxy::initScript):
1384         * bindings/js/kjs_window.cpp:
1385         (KJS::Window::put):
1386         (KJS::Window::allowsAccessFrom):
1387         (KJS::Location::put):
1388         (KJS::LocationProtoFuncReplace::callAsFunction):
1389         (KJS::LocationProtoFuncReload::callAsFunction):
1390         (KJS::LocationProtoFuncAssign::callAsFunction):
1391         * bindings/scripts/CodeGenerator.pm:
1392         * bindings/scripts/CodeGeneratorCOM.pm:
1393         * bindings/scripts/CodeGeneratorJS.pm:
1394         * bindings/scripts/CodeGeneratorObjC.pm:
1395         * css/CSSImportRule.cpp:
1396         (WebCore::CSSImportRule::insertedIntoParent):
1397         * css/CSSParser.cpp:
1398         (WebCore::CSSParser::parseValue):
1399         (WebCore::CSSParser::parseContent):
1400         (WebCore::CSSParser::parseBackgroundImage):
1401         (WebCore::CSSParser::parseFontFaceSrc):
1402         (WebCore::CSSParser::parseBorderImage):
1403         (WebCore::CSSParser::createImportRule):
1404         * css/CSSStyleSelector.cpp:
1405         (WebCore::CSSStyleSelector::setEncodedURL):
1406         * dom/Document.cpp:
1407         (WebCore::Document::processHttpEquiv):
1408         (WebCore::Document::cookie):
1409         (WebCore::Document::setCookie):
1410         (WebCore::Document::domain):
1411         (WebCore::Document::setDomain):
1412         (WebCore::Document::getImageMap):
1413         (WebCore::Document::completeURL):
1414         * dom/Document.h:
1415         (WebCore::Document::url):
1416         (WebCore::Document::baseURL):
1417         * dom/Element.cpp:
1418         (WebCore::Element::baseURI):
1419         * dom/ProcessingInstruction.h:
1420         * dom/StyledElement.cpp:
1421         (WebCore::StyledElement::addCSSImageProperty):
1422         * dom/StyledElement.h:
1423         * dom/XMLTokenizer.cpp:
1424         (WebCore::XMLTokenizer::endElementNs):
1425         (WebCore::XMLTokenizer::end):
1426         (WebCore::):
1427         * dom/XMLTokenizer.h:
1428         * editing/Editor.cpp:
1429         (WebCore::Editor::copy):
1430         * editing/markup.cpp:
1431         (WebCore::completeURLs):
1432         * history/CachedPage.h:
1433         (WebCore::CachedPage::url):
1434         * history/HistoryItem.cpp:
1435         (WebCore::HistoryItem::HistoryItem):
1436         (WebCore::HistoryItem::setURL):
1437         (WebCore::HistoryItem::isCurrentDocument):
1438         * html/HTMLBaseElement.cpp:
1439         (WebCore::HTMLBaseElement::process):
1440         * html/HTMLParser.cpp:
1441         (WebCore::HTMLParser::reportErrorToConsole):
1442         * html/HTMLScriptElement.cpp:
1443         (WebCore::HTMLScriptElement::childrenChanged):
1444         (WebCore::HTMLScriptElement::insertedIntoDocument):
1445         (WebCore::HTMLScriptElement::evaluateScript):
1446         * html/HTMLScriptElement.h:
1447         * html/HTMLTokenizer.cpp:
1448         (WebCore::HTMLTokenizer::scriptExecution):
1449         * loader/Cache.cpp:
1450         (WebCore::createResource):
1451         (WebCore::Cache::requestResource):
1452         * loader/CachedCSSStyleSheet.cpp:
1453         (WebCore::CachedCSSStyleSheet::checkNotify):
1454         * loader/CachedResource.cpp:
1455         (WebCore::CachedResource::CachedResource):
1456         * loader/CachedResource.h:
1457         (WebCore::CachedResource::):
1458         * loader/CachedScript.h:
1459         * loader/DocLoader.cpp:
1460         (WebCore::DocLoader::checkForReload):
1461         (WebCore::DocLoader::requestResource):
1462         * loader/DocumentLoader.cpp:
1463         (WebCore::DocumentLoader::url):
1464         (WebCore::DocumentLoader::replaceRequestURLForAnchorScroll):
1465         (WebCore::DocumentLoader::setRequest):
1466         (WebCore::DocumentLoader::startLoadingMainResource):
1467         * loader/DocumentLoader.h:
1468         * loader/FrameLoader.cpp:
1469         (WebCore::FormSubmission::FormSubmission):
1470         (WebCore::ScheduledRedirection::ScheduledRedirection):
1471         (WebCore::FrameLoader::changeLocation):
1472         (WebCore::FrameLoader::urlSelected):
1473         (WebCore::FrameLoader::requestFrame):
1474         (WebCore::FrameLoader::loadSubframe):
1475         (WebCore::FrameLoader::submitFormAgain):
1476         (WebCore::FrameLoader::submitForm):
1477         (WebCore::FrameLoader::didExplicitOpen):
1478         (WebCore::FrameLoader::replaceContentsWithScriptResult):
1479         (WebCore::FrameLoader::executeScript):
1480         (WebCore::FrameLoader::receivedFirstData):
1481         (WebCore::FrameLoader::begin):
1482         (WebCore::FrameLoader::startIconLoader):
1483         (WebCore::FrameLoader::commitIconURLToIconDatabase):
1484         (WebCore::FrameLoader::scheduleRefresh):
1485         (WebCore::FrameLoader::redirectionTimerFired):
1486         (WebCore::FrameLoader::loadPlugin):
1487         (WebCore::FrameLoader::didNotOpenURL):
1488         (WebCore::FrameLoader::updatePolicyBaseURL):
1489         (WebCore::FrameLoader::scrollToAnchor):
1490         (WebCore::FrameLoader::startRedirectionTimer):
1491         (WebCore::FrameLoader::load):
1492         (WebCore::FrameLoader::canLoad):
1493         (WebCore::FrameLoader::shouldHideReferrer):
1494         (WebCore::FrameLoader::shouldAllowNavigation):
1495         (WebCore::FrameLoader::commitProvisionalLoad):
1496         (WebCore::FrameLoader::clientRedirected):
1497         (WebCore::FrameLoader::open):
1498         (WebCore::FrameLoader::didTellBridgeAboutLoad):
1499         (WebCore::FrameLoader::haveToldBridgeAboutLoad):
1500         (WebCore::FrameLoader::post):
1501         (WebCore::FrameLoader::loadResourceSynchronously):
1502         (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
1503         (WebCore::FrameLoader::shouldTreatURLAsSameAsCurrent):
1504         (WebCore::FrameLoader::createHistoryItem):
1505         (WebCore::FrameLoader::addBackForwardItemClippedAtTarget):
1506         (WebCore::FrameLoader::loadItem):
1507         (WebCore::FrameLoader::urlsMatchItem):
1508         (WebCore::FrameLoader::recursiveGoToItem):
1509         (WebCore::FrameLoader::updateHistoryForStandardLoad):
1510         (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory):
1511         * loader/FrameLoader.h:
1512         (WebCore::FrameLoader::url):
1513         * loader/ImageDocument.cpp:
1514         (WebCore::ImageDocument::createDocumentStructure):
1515         * loader/MainResourceLoader.cpp:
1516         (WebCore::shouldLoadAsEmptyDocument):
1517         (WebCore::MainResourceLoader::didFinishLoading):
1518         * loader/NavigationAction.cpp:
1519         (WebCore::NavigationAction::NavigationAction):
1520         * loader/NavigationAction.h:
1521         (WebCore::NavigationAction::url):
1522         * loader/PluginDocument.cpp:
1523         (WebCore::PluginTokenizer::createDocumentStructure):
1524         * loader/SubresourceLoader.cpp:
1525         (WebCore::SubresourceLoader::load):
1526         (WebCore::SubresourceLoader::create):
1527         * loader/icon/IconLoader.cpp:
1528         (WebCore::IconLoader::startLoading):
1529         (WebCore::IconLoader::finishLoading):
1530         * loader/loader.cpp:
1531         (WebCore::Loader::servePendingRequests):
1532         * loader/mac/LoaderNSURLExtras.m:
1533         (urlOriginalData):
1534         * page/Chrome.cpp:
1535         (WebCore::Chrome::setToolTip):
1536         * page/ContextMenuController.cpp:
1537         (WebCore::ContextMenuController::contextMenuItemSelected):
1538         * page/Frame.cpp:
1539         (WebCore::Frame::setUserStyleSheetLocation):
1540         * page/InspectorController.cpp:
1541         (WebCore::InspectorResource::type):
1542         (WebCore::addSourceToFrame):
1543         (WebCore::InspectorController::addScriptResource):
1544         (WebCore::InspectorController::updateScriptResourceRequest):
1545         (WebCore::InspectorController::didCommitLoad):
1546         * page/mac/WebCoreFrameBridge.mm:
1547         (-[WebCoreFrameBridge getData:andResponse:forURL:]):
1548         * platform/KURL.h:
1549         (WebCore::KURL::string):
1550         (WebCore::KURL::deprecatedString):
1551         * platform/mac/ClipboardMac.mm:
1552         (WebCore::ClipboardMac::getData):
1553         * platform/mac/CookieJar.mm:
1554         (WebCore::cookies):
1555         (WebCore::setCookies):
1556         * platform/mac/PasteboardMac.mm:
1557         (WebCore::Pasteboard::writeURL):
1558         (WebCore::fileWrapperForImage):
1559         (WebCore::Pasteboard::writeImage):
1560         (WebCore::Pasteboard::plainText):
1561         * platform/network/ResourceHandle.cpp:
1562         (WebCore::ResourceHandle::portAllowed):
1563         * platform/network/ResourceRequestBase.cpp:
1564         (WebCore::ResourceRequestBase::isNull):
1565         * platform/network/cf/ResourceHandleCFNet.cpp:
1566         (WebCore::willSendRequest):
1567         (WebCore::didReceiveResponse):
1568         (WebCore::didReceiveData):
1569         (WebCore::didFinishLoading):
1570         (WebCore::didFail):
1571         (WebCore::didReceiveChallenge):
1572         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
1573         (WebCore::ResourceHandle::~ResourceHandle):
1574         (WebCore::ResourceHandle::start):
1575         * platform/win/ClipboardUtilitiesWin.cpp:
1576         (WebCore::createGlobalData):
1577         (WebCore::urlToMarkup):
1578         * platform/win/ClipboardWin.cpp:
1579         (WebCore::writeURL):
1580         (WebCore::writeImageToDataObject):
1581         (WebCore::ClipboardWin::writeURL):
1582         (WebCore::ClipboardWin::writeRange):
1583         * platform/win/PasteboardWin.cpp:
1584         (WebCore::Pasteboard::writeSelection):
1585         (WebCore::Pasteboard::writeURL):
1586         * plugins/win/PluginDatabaseWin.cpp:
1587         (WebCore::PluginDatabaseWin::findPlugin):
1588         * plugins/win/PluginStreamWin.cpp:
1589         (WebCore::PluginStreamWin::startStream):
1590         (WebCore::PluginStreamWin::destroyStream):
1591         * plugins/win/PluginViewWin.cpp:
1592         (WebCore::scriptStringIfJavaScriptURL):
1593         (WebCore::PluginViewWin::performRequest):
1594         * svg/SVGImageLoader.cpp:
1595         (WebCore::SVGImageLoader::updateFromElement):
1596         * xml/XMLHttpRequest.cpp:
1597         (WebCore::XMLHttpRequest::getResponseXML):
1598         (WebCore::XMLHttpRequest::urlMatchesDocumentDomain):
1599         * xml/XSLImportRule.cpp:
1600         (WebCore::XSLImportRule::loadSheet):
1601         * xml/XSLTProcessor.cpp:
1602         (WebCore::XSLTProcessor::createDocumentFromSource):
1603         (WebCore::xsltStylesheetPointer):
1604         (WebCore::xmlDocPtrFromNode):
1605
1606 2007-12-11  Beth Dakin  <bdakin@apple.com>
1607
1608         Reviewed by Darin.
1609
1610         Fix for <rdar://problem/5641255> SVGs with width and height 100% 
1611         fail to render when used as background images
1612
1613         CachedImage now has a setImageContainerSize function. It is only 
1614         needed for SVG right now.
1615         * loader/CachedImage.cpp:
1616         (WebCore::CachedImage::setImageContainerSize):
1617         * loader/CachedImage.h:
1618
1619         Relatively sized SVGs have no intrinsic size. Because this call is 
1620         low-level enough that we cannot pass in the container size and get 
1621         the real size of the SVG, we need to know if it has relative 
1622         dimensions, and if so, we need to get the size from scaledTileSize.
1623         * platform/graphics/Image.cpp:
1624         (WebCore::Image::drawTiled):
1625         * platform/graphics/Image.h:
1626         (WebCore::Image::setContainerSize):
1627         (WebCore::Image::hasRelativeWidth):
1628         (WebCore::Image::hasRelativeHeight):
1629
1630         Re-factored calculateBackgroundSize a bit so that it returns an 
1631         IntSize. Made it a member function so that it can send m_width and 
1632         m_height along to setImageContainerSize.
1633         * rendering/RenderBox.cpp:
1634         (WebCore::RenderBox::calculateBackgroundSize):
1635         (WebCore::RenderBox::calculateBackgroundImageGeometry):
1636         * rendering/RenderBox.h:
1637
1638         Need to account for relatively sized SVGs in calcViewport()
1639         * rendering/RenderSVGRoot.cpp:
1640         (WebCore::RenderSVGRoot::calcViewport):
1641         
1642         Added new member variables to store the size of the SVG container. 
1643         relativeWidthValue() and relativeHeightValue() use the stored SVG 
1644         container size to correctly calculate the width and height of a 
1645         relatively sized SVG.
1646         * svg/SVGSVGElement.cpp:
1647         (WebCore::SVGSVGElement::SVGSVGElement):
1648         (WebCore::SVGSVGElement::setContainerSize):
1649         (WebCore::SVGSVGElement::relativeWidthValue):
1650         (WebCore::SVGSVGElement::relativeHeightValue):
1651         * svg/SVGSVGElement.h:
1652         (WebCore::SVGSVGElement::containerSize):
1653         
1654         Re-factored size calculations to use the size of the container.
1655         * svg/graphics/SVGImage.cpp:
1656         (WebCore::SVGImage::setContainerSize):
1657         (WebCore::SVGImage::size):
1658         (WebCore::SVGImage::hasRelativeWidth):
1659         (WebCore::SVGImage::hasRelativeHeight):
1660         * svg/graphics/SVGImage.h:
1661
1662 2007-12-11  Darin Adler  <darin@apple.com>
1663
1664         * editing/Editor.cpp:
1665         (WebCore::Editor::yankFromKillRing): Try to fix non-Mac builds by adding
1666         a missing return statement.
1667
1668 2007-12-11  Darin Adler  <darin@apple.com>
1669
1670         Reviewed by Geoff.
1671
1672         - exposed many new commands to the DOM Document executeCommand function by
1673           merging the JSEditor and Editor executeCommand implementations
1674         - replaced the execCommand function with a EditorCommand class
1675         - replaced the WTF::StrHash<> class template with the WebCore::StringHash class
1676         - replaced the WTF::CaseInsensitiveHash<> class template with the
1677           WebCore::CaseFoldingHash class
1678
1679         * WebCore.base.exp: Updated.
1680         * WebCore.pro: Added EditorCommand.cpp, removed JSEditor.cpp.
1681         * WebCore.vcproj/WebCore.vcproj: Ditto.
1682         * WebCore.xcodeproj/project.pbxproj: Ditto.
1683         * WebCoreSources.bkl: Ditto.
1684
1685         * dom/Document.cpp:
1686         (WebCore::Document::Document): Removed code to set up m_jsEditor.
1687         (WebCore::Document::~Document): Removed code to delete m_jsEditor.
1688         (WebCore::command): Added. Helper function that gets an Editor::Command.
1689         (WebCore::Document::executeCommand): Changed to use Editor::Command instead of
1690         JSEditor.
1691         (WebCore::Document::queryCommandEnabled): Ditto.
1692         (WebCore::Document::queryCommandIndeterm):
1693         (WebCore::Document::queryCommandState): Ditto.
1694         (WebCore::Document::queryCommandSupported): Ditto.
1695         (WebCore::Document::queryCommandValue): Ditto.
1696
1697         * dom/Document.h: Removed JSEditor, jsEditor, m_jsEditor. Changed to
1698         use CaseFoldingHash.
1699
1700         * editing/Editor.cpp:
1701         (WebCore::Editor::selectionForCommand): Renamed from selectionForEvent and
1702         made into a member function so it is accessible from the new EditorCommand.cpp file.
1703         Also changed to get the selection from the passed-in frame instead of from the
1704         page, because this should work on the targeted frame unless the event overrides it.
1705         (WebCore::Editor::handleKeypress): Updated for selectionForCommand change.
1706         (WebCore::Editor::handleInputMethodKeypress): Ditto.
1707         (WebCore::imageElementFromImageDocument): Renamed and changed to return
1708         a HTMLImageElement instead of a Node*.
1709         (WebCore::Editor::canCopy): Updated for name change.
1710         (WebCore::Editor::selectionUnorderedListState): Updated for TriState change.
1711         (WebCore::Editor::selectionOrderedListState): Ditto.
1712         (WebCore::Editor::selectionStartHasStyle): Make type of local more specific.
1713         (WebCore::updateState): Moved here from Frame.
1714         (WebCore::Editor::selectionHasStyle): Ditto.
1715         (WebCore::Editor::Editor): Initialize m_shouldStartNewKillRingSequence.
1716         (WebCore::Editor::insertTextWithoutSendingTextEvent): Updated for
1717         selectionForCommand change.
1718         (WebCore::Editor::copy): Updated for imageElementFromImageDocument change.
1719         (WebCore::Editor::toggleBold): Call the ToggleBold command via the command
1720         machinery since it's no longer in this file as a local function.
1721         (WebCore::Editor::toggleUnderline): Call the ToggleUnderline command.
1722         (WebCore::Editor::setBaseWritingDirection): Change type of argument and of
1723         local variable.
1724         (WebCore::Editor::addToKillRing): Moved here from EditorMac. Not useful
1725         without a kill ring, but it's relatively straightforward to implement one.
1726         (WebCore::Editor::appendToKillRing): Put default implementation here for
1727         platforms other than Mac. We should probably put a simple kill ring
1728         implementation here -- doesn't need to be shared with the OS oh platforms
1729         other than Mac.
1730         (WebCore::Editor::prependToKillRing): Ditto.
1731         (WebCore::Editor::yankFromKillRing): Ditto.
1732         (WebCore::Editor::startNewKillRingSequence): Ditto.
1733         (WebCore::Editor::setKillRingToYankedState): Ditto.
1734
1735         * editing/Editor.h: Moved the TriState enum here instead of inside the
1736         Frame class. Added EditorCommandSource enum. Moved selectionHasStyle
1737         here from the Frame class. Added Editor::Command class with five functions
1738         for the various things you can do with a command (execute it, check if it
1739         can be used, and its state and value). Changed hte parameter of
1740         setBaseWritingDirection to be a const String& rather than a String.
1741         Got rid of the kill-ring-related operations, but added the kill ring
1742         functions themselves. Made selectedRange() public. Made the
1743         m_startNewKillRingSequence not Mac-specific and added "should" to its
1744         name.
1745
1746         * editing/EditorCommand.cpp: Copied from WebCore/editing/Editor.cpp.
1747         Retained only the editing commands.
1748         (WebCore::targetFrame): Moved to the top of the file.
1749         (WebCore::executeApplyStyle): Added. Helper function for commands
1750         that need to apply styles.
1751         (WebCore::executeToggleStyle): Added. Helper function for commands
1752         that need to toggle styles based on the style of the start of selection.
1753         (WebCore::executeApplyParagraphStyle): Added. Like executeApplyStyle, but
1754         for paragraph styles.
1755         (WebCore::executeInsertFragment): Added. Helper function for commands
1756         that need to insert a DOM fragment.
1757         (WebCore::executeInsertNode): Added. Helper function for commands that
1758         need to insert a tree rooted in a single DOM node.
1759         (WebCore::stateStyle): Added. Helper function for the state of commands
1760         that represent style.
1761         (WebCore::valueStyle): Added. Helper function for the value of commands
1762         that represent style.
1763         (WebCore::canScroll): Added. Helper functions for some move and scroll
1764         commands that need to determine if the renderer they are in can scroll.
1765         (WebCore::unionDOMRanges): Moved here from EditorMac.
1766         (WebCore::executeBackColor):
1767         (WebCore::executeBackwardDelete):
1768         (WebCore::executeCopy):
1769         (WebCore::executeCreateLink):
1770         (WebCore::executeCut):
1771         (WebCore::executeDelete):
1772         (WebCore::executeDeleteToMark):
1773         (WebCore::executeDeleteWordBackward):
1774         (WebCore::executeDeleteWordForward):
1775         (WebCore::executeFindString):
1776         (WebCore::executeFontName):
1777         (WebCore::executeFontSize):
1778         (WebCore::executeFontSizeDelta):
1779         (WebCore::executeForeColor):
1780         (WebCore::executeFormatBlock):
1781         (WebCore::executeForwardDelete):
1782         (WebCore::executeIndent):
1783         (WebCore::executeInsertBacktab):
1784         (WebCore::executeInsertHorizontalRule):
1785         (WebCore::executeInsertHTML):
1786         (WebCore::executeInsertImage):
1787         (WebCore::executeInsertLineBreak):
1788         (WebCore::executeInsertNewline):
1789         (WebCore::executeInsertNewlineInQuotedContent):
1790         (WebCore::executeInsertOrderedList):
1791         (WebCore::executeInsertParagraph):
1792         (WebCore::executeInsertTab):
1793         (WebCore::executeInsertText):
1794         (WebCore::executeInsertUnorderedList):
1795         (WebCore::executeJustifyCenter):
1796         (WebCore::executeJustifyFull):
1797         (WebCore::executeJustifyLeft):
1798         (WebCore::executeJustifyRight):
1799         (WebCore::executeMoveBackward):
1800         (WebCore::executeMoveBackwardAndModifySelection):
1801         (WebCore::executeMoveDown):
1802         (WebCore::executeMoveDownAndModifySelection):
1803         (WebCore::executeMoveDownByPageAndModifyCaret):
1804         (WebCore::executeMoveForward):
1805         (WebCore::executeMoveForwardAndModifySelection):
1806         (WebCore::executeMoveLeft):
1807         (WebCore::executeMoveLeftAndModifySelection):
1808         (WebCore::executeMoveRight):
1809         (WebCore::executeMoveRightAndModifySelection):
1810         (WebCore::executeMoveToBeginningOfDocument):
1811         (WebCore::executeMoveToBeginningOfDocumentAndModifySelection):
1812         (WebCore::executeMoveToBeginningOfLine):
1813         (WebCore::executeMoveToBeginningOfLineAndModifySelection):
1814         (WebCore::executeMoveToBeginningOfParagraph):
1815         (WebCore::executeMoveToBeginningOfParagraphAndModifySelection):
1816         (WebCore::executeMoveToBeginningOfSentence):
1817         (WebCore::executeMoveToBeginningOfSentenceAndModifySelection):
1818         (WebCore::executeMoveToEndOfDocument):
1819         (WebCore::executeMoveToEndOfDocumentAndModifySelection):
1820         (WebCore::executeMoveToEndOfSentence):
1821         (WebCore::executeMoveToEndOfSentenceAndModifySelection):
1822         (WebCore::executeMoveToEndOfLine):
1823         (WebCore::executeMoveToEndOfLineAndModifySelection):
1824         (WebCore::executeMoveToEndOfParagraph):
1825         (WebCore::executeMoveToEndOfParagraphAndModifySelection):
1826         (WebCore::executeMoveParagraphBackwardAndModifySelection):
1827         (WebCore::executeMoveParagraphForwardAndModifySelection):
1828         (WebCore::executeMoveUp):
1829         (WebCore::executeMoveUpAndModifySelection):
1830         (WebCore::executeMoveUpByPageAndModifyCaret):
1831         (WebCore::executeMoveWordBackward):
1832         (WebCore::executeMoveWordBackwardAndModifySelection):
1833         (WebCore::executeMoveWordForward):
1834         (WebCore::executeMoveWordForwardAndModifySelection):
1835         (WebCore::executeMoveWordLeft):
1836         (WebCore::executeMoveWordLeftAndModifySelection):
1837         (WebCore::executeMoveWordRight):
1838         (WebCore::executeMoveWordRightAndModifySelection):
1839         (WebCore::executeOutdent):
1840         (WebCore::executePaste):
1841         (WebCore::executePasteAndMatchStyle):
1842         (WebCore::executePrint):
1843         (WebCore::executeRedo):
1844         (WebCore::executeRemoveFormat):
1845         (WebCore::executeSelectAll):
1846         (WebCore::executeSelectToMark):
1847         (WebCore::executeSetMark):
1848         (WebCore::executeStrikethrough):
1849         (WebCore::executeSubscript):
1850         (WebCore::executeSuperscript):
1851         (WebCore::executeSwapWithMark):
1852         (WebCore::executeToggleBold):
1853         (WebCore::executeToggleItalic):
1854         (WebCore::executeTranspose):
1855         (WebCore::executeUnderline):
1856         (WebCore::executeUndo):
1857         (WebCore::executeUnlink):
1858         (WebCore::executeUnscript):
1859         (WebCore::executeUnselect):
1860         (WebCore::executeYank):
1861         (WebCore::executeYankAndSelect):
1862         (WebCore::supported):
1863         (WebCore::supportedPaste):
1864         (WebCore::enabled):
1865         (WebCore::enabledAnySelection):
1866         (WebCore::enabledAnySelectionAndMark):
1867         (WebCore::enableCaretInEditableText):
1868         (WebCore::enabledCopy):
1869         (WebCore::enabledCut):
1870         (WebCore::enabledInEditableText):
1871         (WebCore::enabledInRichlyEditableText):
1872         (WebCore::enabledPaste):
1873         (WebCore::enabledRangeInEditableText):
1874         (WebCore::enabledRangeInRichlyEditableText):
1875         (WebCore::enabledRedo):
1876         (WebCore::enabledUndo):
1877         (WebCore::stateNone):
1878         (WebCore::stateBold):
1879         (WebCore::stateItalic):
1880         (WebCore::stateOrderedList):
1881         (WebCore::stateStrikethrough):
1882         (WebCore::stateSubscript):
1883         (WebCore::stateSuperscript):
1884         (WebCore::stateUnderline):
1885         (WebCore::stateUnorderedList):
1886         (WebCore::valueNull):
1887         (WebCore::valueBackColor):
1888         (WebCore::valueFontName):
1889         (WebCore::valueFontSize):
1890         (WebCore::valueFontSizeDelta):
1891         (WebCore::valueForeColor):
1892         (WebCore::createCommandMap): Added lots of commands, including all the commands
1893         from JSEditor. A few commands needed different behavior based on whether they are
1894         invoked from the DOM or a keyboard binding.
1895         (WebCore::Editor::command): Added. Gets a command object given a name.
1896         (WebCore::Editor::Command::Command): Added.
1897         (WebCore::Editor::Command::execute): Added.
1898         (WebCore::Editor::Command::isSupported): Added.
1899         (WebCore::Editor::Command::isEnabled): Added.
1900         (WebCore::Editor::Command::state): Added.
1901         (WebCore::Editor::Command::value): Added.
1902         (WebCore::Editor::execCommand): Changed to call command().execute().
1903
1904         * editing/JSEditor.cpp: Removed.
1905         * editing/JSEditor.h: Removed.
1906
1907         * editing/mac/EditorMac.mm: Changed to provide kill ring primitives intead of
1908         kill ring commands, so the kill ring commands can be cross-platform.
1909         (WebCore::Editor::appendToKillRing): Added.
1910         (WebCore::Editor::prependToKillRing): Added.
1911         (WebCore::Editor::yankFromKillRing): Added.
1912         (WebCore::Editor::startNewKillRingSequence): Added.
1913         (WebCore::Editor::setKillRingToYankedState): Added.
1914
1915         * page/Frame.cpp: Removed selectionHasStyle, TriState, and updateState.
1916         * page/Frame.h: Ditto.
1917
1918         * page/mac/WebCoreFrameBridge.mm: Removed selectionHasStyle.
1919         * page/mac/WebCoreFrameBridge.h: Ditto.
1920
1921         * platform/ContextMenu.cpp:
1922         (WebCore::ContextMenu::checkOrEnableIfNeeded): Updated for TriState change.
1923
1924         * platform/text/StringHash.h:
1925         (WebCore::StringHash::hash): Merged the StrHash<> template classes into this.
1926         (WebCore::StringHash::equal): Ditto.
1927         (WebCore::CaseFoldingHash::hash): Merged the CaseInsensitiveHash<> template
1928         classes into this.
1929         (WebCore::CaseFoldingHash::equal): Ditto.
1930
1931         * platform/text/StringImpl.cpp:
1932         (WebCore::equal): Changed to invoke StringHash.
1933         (WebCore::equalIgnoringCase): Changed to invoke CaseFoldingHash.
1934
1935         * dom/DOMImplementation.cpp:
1936         (WebCore::addString): Updated to use StringHash and CaseFoldingHash.
1937         (WebCore::isSVG10Feature): Ditto.
1938         (WebCore::isSVG11Feature): Ditto.
1939         * loader/FrameLoader.cpp:
1940         (WebCore::localSchemes): Ditto.
1941         * platform/graphics/FontCache.cpp:
1942         (WebCore::computeHash): Ditto.
1943         * platform/network/HTTPHeaderMap.h: Ditto.
1944         * platform/text/PlatformString.h: Ditto.
1945         * platform/text/StringImpl.h: Ditto.
1946         * rendering/RenderPartObject.cpp:
1947         (WebCore::RenderPartObject::updateWidget): Ditto.
1948         * xml/XMLHttpRequest.cpp:
1949         (WebCore::canSetRequestHeader): Ditto.
1950
1951         * rendering/RenderTreeAsText.cpp: Removed stray include of JSEditor.h.
1952
1953 2007-12-11  Darin Adler  <darin@apple.com>
1954
1955         * platform/wx/KeyboardEventWx.cpp:
1956         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Another try at fixing the
1957         WX build. Changes the code around a little bit.
1958
1959 2007-12-11  Darin Adler  <darin@apple.com>
1960
1961         * platform/wx/KeyboardEventWx.cpp:
1962         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Quick try at fixing build.
1963
1964 2007-12-11  Dan Bernstein  <mitz@apple.com>
1965
1966         Reviewed by Darin Adler.
1967
1968         - fix <rdar://problem/5631507> Text doesn't wrap properly at Tamil version of Wikipedia
1969
1970         Test: fast/text/international/complex-character-based-fallback.html
1971
1972         * platform/graphics/Font.cpp:
1973         (WebCore::Font::glyphDataForCharacter): Added a forceSmallCaps argument
1974         that forces this function to use the small caps font. It is used for
1975         combining marks that need to combine with a small cap.
1976         * platform/graphics/Font.h:
1977         * platform/win/UniscribeController.cpp:
1978         (WebCore::UniscribeController::advance): Changed to split the string
1979         into runs of characters that will be rendered using the same FontData.
1980         This is done by calling glyphDataForCharacter() for each cahracter to
1981         find the FontData it should be rendered with.
1982         (WebCore::UniscribeController::itemizeShapeAndPlace): Added a fontData
1983         argument that is passed on to shapeAndPlaceItem() instead of the
1984         smallCaps argument.
1985         (WebCore::UniscribeController::shapeAndPlaceItem): Added a fontData
1986         argument and removed the font fallback logic from this function, as
1987         it is now expected to be called with an item all of whose characters
1988         can be rendered with the given fontData.
1989         * platform/win/UniscribeController.h:
1990
1991 2007-12-07  Alexey Proskuryakov  <ap@webkit.org>
1992
1993         Reviewed by Darin.
1994
1995         <rdar://problem/5535636>
1996         Have to press 4 times instead of 2 times to get the expected result of ^^ with german keyboard.
1997
1998         http://bugs.webkit.org/show_bug.cgi?id=13916
1999         JavaScript detects Tab as a character input on a textfield validation
2000
2001         Test: platform/win/fast/events/double-dead-char.html
2002
2003         * platform/PlatformKeyboardEvent.h:
2004         (WebCore::PlatformKeyboardEvent::):
2005         (WebCore::PlatformKeyboardEvent::type):
2006         (WebCore::PlatformKeyboardEvent::windowsVirtualKeyCode):
2007         (WebCore::PlatformKeyboardEvent::setWindowsVirtualKeyCode):
2008         (WebCore::PlatformKeyboardEvent::keyIdentifier):
2009         (WebCore::PlatformKeyboardEvent::setIsAutoRepeat):
2010         Added an explicit type member to differentiate different kinds of events:
2011           RawKeyDown == keydown == WM_KEYDOWN
2012           KeyUp == keyup == WM_KEYUP
2013           Char == keypress == WM_CHAR
2014           KeyDown == e.g. NSKeyDown or NSFlagsChanged, used on platforms that have a different model for
2015           event processing, and needs to be converted to RawKeyDown (+ Char) for processing in DOM.
2016
2017         * platform/mac/KeyEventMac.mm:
2018         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Updated for changed data members.
2019         Fix Enter (numeric keypad) charCode to match Return, as we check for it from keypress default handlers.
2020         (WebCore::windowsKeyCodeForKeyEvent): 
2021         (WebCore::isKeyUpEvent): Made it do something closer to what it claims; added a FIXME explaining
2022         that it still fails.
2023         (WebCore::disambiguateKeyDownEvent): Downgrade from KeyDown to RawKeyDown or Char, removing information that
2024         should not be available in those (because it cannot be provided on Windows).
2025
2026         * platform/win/KeyEventWin.cpp:
2027         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): Updated for changed data members.
2028         Used standard Windows constants for bit masks instead of our own ones.
2029         (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): Should never be called on Windows.
2030
2031         * platform/gtk/KeyEventGtk.cpp:
2032         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2033         (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
2034         * platform/qt/PlatformKeyboardEventQt.cpp:
2035         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2036         (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
2037         * platform/wx/KeyboardEventWx.cpp:
2038         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2039         (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
2040         Updated for cross-platform changes as much as it was possible without appropriate build
2041         environments.
2042
2043         * WebCore.base.exp: Export PlatformKeyboardEvent::disambiguateKeyDownEvent(), used by platforms that need to
2044         convert their fancy key events to RawKeyDown/Char pairs. Export Editor::isTextInsertionCommand().
2045
2046         * bridge/EditorClient.h:
2047         Renamed handleKeypress() to handleKeyboardEvent(), as it gets both keydowns and keypresses.
2048         Renamed handleInputMethodKeypress() to handleInputMethodKeydown(), as IMs work with raw keydowns.
2049
2050         * dom/Document.h:
2051         * dom/Document.cpp:
2052         (WebCore::Document::defaultEventHandler): Moved accesskey processing to EventHandler.
2053
2054         * dom/KeyboardEvent.h: Added comments describing keyCode/charCode behavior.
2055
2056         * dom/KeyboardEvent.cpp:
2057         (WebCore::eventTypeForKeyboardEventType):
2058         (WebCore::KeyboardEvent::KeyboardEvent): Conversion between platform and DOM event types is
2059         now straightforward, so scary hacks such as using autorepeat to distinguish types are
2060         not needed.
2061         (WebCore::KeyboardEvent::keyCode): Added a comment describing other browsers' behavior.
2062         (WebCore::KeyboardEvent::charCode): Added a comment describing other browsers' behavior.
2063         Changed to a more compatible behavior: raw keydown/keyup events do not and can not have
2064         character codes.
2065
2066         * editing/Editor.h:
2067         * editing/Editor.cpp:
2068         (WebCore::Editor::isTextInsertionCommand): Is this command actually text input in disguise?
2069         (WebCore::Editor::handleKeyboardEvent): Updated for new function names.
2070         (WebCore::Editor::handleInputMethodKeydown): Ditto.
2071
2072         * html/HTMLButtonElement.cpp:
2073         (WebCore::HTMLButtonElement::defaultEventHandler): Perform the default action when handling an
2074         appropriate event. Enter is processed on keypress (and thus should be checked for via charCode,
2075         not keyIdentifier), Space is processed on keydown+keyup! We now match IE in that a button is
2076         highlighted when Space is pressed.
2077
2078         * html/HTMLInputElement.cpp:
2079         (WebCore::HTMLInputElement::defaultEventHandler):
2080         * html/HTMLSelectElement.cpp:
2081         (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
2082         (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
2083         Made a number of fixes to when default actions take place, similar to HTMLButtonElement ones
2084         described above.
2085
2086         * page/EventHandler.cpp:
2087         (WebCore::EventHandler::keyEvent): Unless we have a combined KeyDown, just forward the event
2088         to the target. Call accesskey handling directly, as it doesn't seem to be part of normal event
2089         handling in IE. Also streamlined the code in KeyDown case, thanks to handleInputMethodKeypress()
2090         now being handleInputMethodKeydown().
2091         (WebCore::EventHandler::handleTextInputEvent): Check that we were not called from keydown.
2092         (WebCore::EventHandler::defaultTextInputEventHandler): Removed a call to defaultTabEventHandler,
2093         as default tab handling happens when processing keydown.
2094         (WebCore::handleAccessKey): Moved from Document, as access keys are processed outside normal
2095         event handling. Fixed accesskey processing to use information that's available in a raw keydown
2096         event.
2097
2098         (WebCore::EventHandler::defaultKeyboardEventHandler): Do not ignore keydown; in particular,
2099         handle tabs during keydown processing.
2100
2101         * page/mac/EventHandlerMac.mm:
2102         (WebCore::EventHandler::currentKeyboardEvent): Disambiguate KeyDown as RawKeyDown, as this is
2103         what callers want.
2104
2105         * platform/text/PlatformString.h:
2106         * platform/text/String.cpp:
2107         (WebCore::String::characterStartingAt):
2108         * platform/text/StringImpl.cpp:
2109         (WebCore::StringImpl::characterStartingAt):
2110         * platform/text/StringImpl.h:
2111         Added a UChar32 accessor.
2112
2113         * svg/graphics/SVGImageEmptyClients.h:
2114         (WebCore::SVGEmptyEditorClient::handleKeyboardEvent):
2115         (WebCore::SVGEmptyEditorClient::handleInputMethodKeydown):
2116         Updated for new function names.
2117
2118 2007-12-11  John Sullivan  <sullivan@apple.com>
2119
2120         Reviewed by Adele
2121
2122         Tiger build fix -- don't call QTMovieView setDelegate: directly because it's not public
2123
2124         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2125         (WebCore::MediaPlayerPrivate::createQTMovieView):
2126         (WebCore::MediaPlayerPrivate::detachQTMovieView):
2127
2128 2007-12-11  Alexey Proskuryakov  <ap@webkit.org>
2129
2130         Reviewed by Darin.
2131
2132         http://bugs.webkit.org/show_bug.cgi?id=16325
2133         <rdar://problem/5632997> REGRESSION: www.xerox.ru doesn't work
2134
2135         Fix this on Windows, too!
2136
2137         Test: http/tests/misc/empty-cookie.html
2138
2139         * platform/network/win/CookieJarWin.cpp:
2140         (WebCore::setCookies):
2141         (WebCore::cookies):
2142         Same fix as on Mac, translated into CF.
2143
2144         * platform/win/CookieJarWin.cpp: Removed - the real one is in platform/network/win.
2145
2146 2007-12-11  Christian Dywan  <christian@twotoasts.de>
2147
2148         Reviewed by Alp Toker.
2149
2150         http://bugs.webkit.org/show_bug.cgi?id=16371
2151         Implement additional mouse cursors for Gtk
2152
2153         Added cursor bitmaps from Mozilla:
2154         http://lxr.mozilla.org/mozilla1.8/source/widget/src/gtk2/nsGtkCursors.h
2155
2156         * platform/gtk/CursorGtk.cpp:
2157         (WebCore::customCursorNew):
2158         (WebCore::verticalTextCursor):
2159         (WebCore::cellCursor):
2160         (WebCore::contextMenuCursor):
2161         (WebCore::noDropCursor):
2162         (WebCore::copyCursor):
2163         (WebCore::progressCursor):
2164         (WebCore::aliasCursor):
2165         (WebCore::noneCursor):
2166         (WebCore::notAllowedCursor):
2167         (WebCore::zoomInCursor):
2168         (WebCore::zoomOutCursor):
2169         * platform/gtk/CursorGtk.h: Added.
2170
2171 2007-12-10  Oliver Hunt  <oliver@apple.com>
2172
2173         Reviewed by Weinig, Dan, and Alexey.
2174
2175         Fix character set used for dynamically loaded scripts.
2176
2177         Fix for:
2178             <rdar://problem/5333163> Safari can not display the mouse over pop menu on ChinaTimes News site correctly.
2179             <rdar://problem/5530048> [Safari]? :Leopard9A576: The typed CH characters displays as garbage in Sina website after reloading the webpage.
2180             <rdar://problem/5416588> All menus for chinese IBM site have wrong encoding
2181             
2182         Use the same logic to determine the charset for a script loaded dynamically
2183         as we do for a statically loaded script.
2184
2185         * html/HTMLScriptElement.cpp:
2186         (WebCore::HTMLScriptElement::insertedIntoDocument):
2187
2188 2007-12-10  Justin Garcia  <justin.garcia@apple.com>
2189
2190         Reviewed by Oliver Hunt.
2191
2192         <rdar://problem/5482023> GoogleDocs: After FormatBlock in an empty document, certain functions are disabled
2193         
2194         We were trying to insert a block of the requested type before the body element.
2195         
2196         * editing/FormatBlockCommand.cpp:
2197         (WebCore::FormatBlockCommand::doApply): 
2198         Removed unnecessary ()s in the if condition.
2199         Removed "|| !upstreamStart.node()->isDescendantOf(root)" from the if condition, since
2200         a) upstreamStart will never be outside the root editable element, since in that case
2201         there would be no block inside the editable root to Format, and b) if upstreamStart.node() 
2202         *is* the root, then refNode is the root, and we shouldn't insert before the root, we should insert
2203         at [root, 0].
2204         Added comments to explain the use of upstream() in the second if-clause.
2205         Added an early return for case where there is nothing selected, in that case, there is nothing
2206         to move.
2207
2208 2007-12-10  Adele Peterson  <adele@apple.com>
2209
2210         Reviewed and partially fixed by Tim Hatcher.
2211
2212         Remaining part of fix for <rdar://problem/5633400>
2213         Transformed <video> is not clipped correctly until a repaint is forced
2214
2215         Replace the implementation of a QTKit method to avoid repaints from the NSView system associated with the QTMovie
2216         from clobbering the WebCore repaints.
2217
2218         * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::mediaPlayerRepaint): Added.
2219         * html/HTMLMediaElement.h:
2220         * platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::repaint): Added.
2221         * platform/graphics/MediaPlayer.h: (WebCore::MediaPlayerClient::mediaPlayerRepaint): Added.
2222
2223         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
2224         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2225         (method_setImplementation): Added for Tiger.
2226
2227         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): Call detachQTMovieView, which now does more cleanup.
2228         (WebCore::MediaPlayerPrivate::cancelLoad): ditto.
2229         (WebCore::MediaPlayerPrivate::setVisible): ditto.
2230         (WebCore::MediaPlayerPrivate::detachQTMovieView): Clear the delegate as well as m_qtMovieView pointer.
2231
2232         (WebCore::MediaPlayerPrivate::repaint): Added.  Triggers a repaint on the video renderer.
2233         (-[WebCoreMovieObserver repaint]): ditto.
2234
2235         (WebCore::mainThreadSetNeedsDisplay): Added.
2236          Does a WebCore repaint instead of going through the view repaint system for QTMovieView.
2237         (WebCore::MediaPlayerPrivate::createQTMovieView): Replace the implementation of _mainThreadSetNeedsDisplay.
2238
2239 2007-12-10  Geoffrey Garen  <ggaren@apple.com>
2240
2241         Reviewed by Sam Weinig.
2242
2243         Updated for rename in JavaScriptCore.
2244
2245         * bridge/mac/WebCoreScriptDebugger.mm:
2246         (-[WebCoreScriptCallFrame scopeChain]):
2247         (-[WebCoreScriptCallFrame functionName]):
2248         (-[WebCoreScriptCallFrame evaluateWebScript:]):
2249
2250 2007-12-10  Rodney Dawes  <dobey@wayofthemonkey.com>
2251
2252         Bug 16383: Ambiguous Window Usage in kjs_dom.cpp
2253         <http://bugs.webkit.org/show_bug.cgi?id=16383>
2254
2255         Use KJS::Window not the ambiguous Window
2256
2257         Reviewed by ddkilzer.
2258
2259         * bindings/js/kjs_dom.cpp (checkNodeSecurity):
2260
2261 2007-12-10  Sam Weinig  <sam@webkit.org>
2262
2263         Fix non-mac builds.
2264
2265         * page/WindowFeatures.cpp: #include <wtf/MathExtras.h> for isnan.
2266
2267 2007-12-10  Marvin Decker  <marv.decker@gmail.com>
2268
2269         Reviewed by Darin.
2270
2271         Fix a divide by 0 in the progress tracker.
2272         http://bugs.webkit.org/show_bug.cgi?id=15055
2273
2274         * loader/ProgressTracker.cpp:
2275         (WebCore::ProgressTracker::incrementProgress):
2276
2277 2007-12-09  Sam Weinig  <sam@webkit.org>
2278
2279         Reviewed by Darin.
2280
2281         More cleanup of kjs_window.
2282         - Move WindowFeatures from bridge/ to page/
2283         - Move functions related to WindowFeatures (boolFeature,
2284           floatFeature, setWindowFeature, parseWindowFeatures) into the class.
2285         - Fix up whitespace.
2286
2287         * WebCore.vcproj/WebCore.vcproj:
2288         * WebCore.xcodeproj/project.pbxproj:
2289         * bindings/js/kjs_window.cpp:
2290         (KJS::DOMWindowTimer::~DOMWindowTimer):
2291         (KJS::createWindow):
2292         (KJS::showModalDialog):
2293         (KJS::Window::getOwnPropertySlot):
2294         (KJS::Window::allowsAccessFrom):
2295         (KJS::Window::shouldInterruptScript):
2296         (KJS::WindowProtoFuncAToB::callAsFunction):
2297         (KJS::WindowProtoFuncOpen::callAsFunction):
2298         (KJS::Window::setReturnValueSlot):
2299         (KJS::ScheduledAction::execute):
2300         (KJS::Window::timerFired):
2301         (KJS::Location::Location):
2302         (KJS::Location::getValueProperty):
2303         (KJS::Location::getOwnPropertySlot):
2304         (KJS::Location::put):
2305         (KJS::LocationProtoFuncReplace::callAsFunction): Use better variable names.
2306         (KJS::LocationProtoFuncAssign::callAsFunction): Ditto.
2307         (KJS::LocationProtoFuncToString::callAsFunction): Remove extraneous calls to
2308         allowsAccessFrom, cleanup the function a little.
2309         (KJS::PausedTimeouts::~PausedTimeouts):
2310         * bridge/WindowFeatures.h: Removed.
2311         * page/WindowFeatures.cpp: Added.
2312         (WebCore::isSeparator):
2313         (WebCore::WindowFeatures::WindowFeatures):
2314         (WebCore::WindowFeatures::setWindowFeature):
2315         (WebCore::WindowFeatures::boolFeature):
2316         (WebCore::WindowFeatures::floatFeature):
2317         * page/WindowFeatures.h: Copied from WebCore/bridge/WindowFeatures.h.
2318         (WebCore::WindowFeatures::WindowFeatures):
2319
2320 2007-12-10  Timothy Hatcher  <timothy@apple.com>
2321
2322         Reviewed by Mark Rowe.
2323
2324         <rdar://problem/5639463> Bundle versions on Tiger should be 4523.x not 523.x
2325
2326         * Configurations/Version.xcconfig: Some Tiger versions of Xcode don't set MAC_OS_X_VERSION_MAJOR,
2327           so assume Tiger and use a 4 for the SYSTEM_VERSION_PREFIX.
2328
2329 2007-12-10  Alp Toker  <alp@atoker.com>
2330
2331         Reviewed by Niko.
2332
2333         Cairo implementation of GraphicsContext::setUseAntialiasing().
2334
2335         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2336         (WebCore::GraphicsContext::setUseAntialiasing):
2337
2338 2007-12-10  Rob Buis  <buis@kde.org>
2339
2340         Reviewed by Darin.
2341
2342         http://bugs.webkit.org/show_bug.cgi?id=16182
2343         SVG should disable antialiasing for shape-rendering="crispEdges"
2344
2345         Turn off anti-aliasing of shapes when shape-rendering="crispEdges".
2346
2347         * platform/graphics/GraphicsContext.h:
2348         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2349         (WebCore::GraphicsContext::setUseAntialiasing):
2350         * platform/graphics/cg/GraphicsContextCG.cpp:
2351         (WebCore::GraphicsContext::setUseAntialiasing):
2352         * platform/graphics/qt/GraphicsContextQt.cpp:
2353         (WebCore::GraphicsContext::setUseAntialiasing):
2354         * platform/graphics/wx/GraphicsContextWx.cpp:
2355         (WebCore::GraphicsContext::setUseAntialiasing):
2356         * rendering/RenderPath.cpp:
2357         (WebCore::RenderPath::paint):
2358
2359 2007-12-09  Rob Buis  <buis@kde.org>
2360
2361         Reviewed by Niko.
2362
2363         http://bugs.webkit.org/show_bug.cgi?id=16163
2364         SVG crash in Node::setChanged() on Debug builds only (trashed parent)
2365
2366         Fix the crash by properly unregistering as client from SVGResource
2367         when deleting a styled svg node.
2368
2369         * svg/SVGStyledElement.cpp:
2370         (WebCore::SVGStyledElement::~SVGStyledElement):
2371
2372 2007-12-10  Brady Eidson  <beidson@apple.com>
2373
2374         Rubberstamped by John
2375
2376         * storage/DatabaseTracker.cpp:
2377         (WebCore::DatabaseTracker::canEstablishDatabase): If the UI Delegate returns *exactly* the estimated size
2378           for the new quota, we should allow the database to be created
2379
2380 2007-12-10  David D. Kilzer  <ddkilzer@webkit.org>
2381
2382         Bug 9683: Implement select.options.remove() method
2383         <http://bugs.webkit.org/show_bug.cgi?id=9683>
2384
2385         Reviewed by Maciej.
2386
2387         Implement select.options.remove() by calling select.remove()
2388         with the same arguments.  This is what MSIE 7 does, although its
2389         select.remove() method differs from WebKit's by throwing an
2390         exception when called with no arguments or with a negative
2391         integer argument.  Note that the DOM Level 1 documentation
2392         specifies that select.remove() does not throw an exception.
2393
2394         Tests: fast/js/select-options-remove-gc.html
2395                fast/js/select-options-remove.html
2396
2397         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
2398         (WebCore::JSHTMLOptionsCollection::remove): Added.
2399         * html/HTMLOptionsCollection.cpp:
2400         (WebCore::HTMLOptionsCollection::remove): Added.
2401         * html/HTMLOptionsCollection.h:
2402         * html/HTMLOptionsCollection.idl:
2403
2404 2007-12-09  Sam Weinig  <sam@webkit.org>
2405
2406         Rubber stamped by Mark Rowe.
2407
2408         * WebCore.xcodeproj/project.pbxproj: Add missing DerivedSources files.
2409
2410 2007-12-09  Oliver Hunt  <oliver@apple.com>
2411
2412         Reviewed by Niko.
2413
2414         Correction, 'z' and 'Z' are the only commands that cannot have an extended
2415         list of arguments.
2416
2417         * svg/SVGParserUtilities.cpp:
2418         (WebCore::SVGPathParser::parseSVG):
2419
2420 2007-12-09  Oliver Hunt  <oliver@apple.com>
2421
2422         Reviewed by Niko.
2423
2424         Prevent unlimited iteration in the case of invalid path data.
2425         
2426         The only path commands that can leave numbers trailing the command processing
2427         are 'm' and 'M', in which trailing numbers are parsed as arguments to an
2428         implicit lineto command.  In any case we should just terminate as an invalid
2429         path.
2430
2431         * svg/SVGParserUtilities.cpp:
2432         (WebCore::SVGPathParser::parseSVG):
2433
2434 2007-12-09  Luca Bruno  <lethalman88@gmail.com>
2435
2436         Reviewed by Alp Toker.
2437
2438         http://bugs.webkit.org/show_bug.cgi?id=15825
2439         [GTK] curl - slow dns causing hangs.
2440
2441         Create a vector of jobs, to satisfy requests in the right order.
2442         Set a limit to the number of simultaneous connections.
2443
2444         * platform/network/curl/ResourceHandleManager.cpp:
2445         (WebCore::maxRunningJobs): added
2446         (WebCore::ResourceHandleManager::ResourceHandleManager):
2447         (WebCore::ResourceHandleManager::removeFromCurl):
2448         (WebCore::ResourceHandleManager::startScheduledJobs):
2449
2450         * platform/network/curl/ResourceHandleManager.h:
2451         (WebCore::ResourceHandleList): removed
2452         (WebCore::ResourceHandleManager::m_runningJobs): added
2453         (WebCore::ResourceHandleManager::m_resourceHandleListHead): removed
2454         (WebCore::ResourceHandleManager::m_resourceHandleList): added
2455
2456 2007-12-08  Sam Weinig  <sam@webkit.org>
2457
2458         Reviewed by Oliver.
2459
2460         Cleanup kjs_window.h/cpp.
2461
2462         * bindings/js/kjs_window.cpp:
2463         (KJS::WindowPrivate::WindowPrivate):
2464         (KJS::DOMWindowTimer::DOMWindowTimer):
2465         (KJS::Window::Window):
2466         (KJS::Window::retrieveWindow):
2467         (KJS::Window::retrieveActive):
2468         (KJS::Window::retrieve):
2469         (KJS::Window::location):
2470         (KJS::Window::mark):
2471         (KJS::allowPopUp):
2472         (KJS::parseModalDialogFeatures):
2473         (KJS::floatFeature):
2474         (KJS::canShowModalDialog):
2475         (KJS::canShowModalDialogNow):
2476         (KJS::showModalDialog):
2477         (KJS::Window::getValueProperty):
2478         (KJS::Window::getOwnPropertySlot):
2479         (KJS::Window::globalExec):
2480         (KJS::Window::setListener):
2481         (KJS::Window::getListener):
2482         (KJS::Window::findOrCreateJSEventListener):
2483         (KJS::Window::findOrCreateJSUnprotectedEventListener):
2484         (KJS::Window::clearHelperObjectProperties):
2485         (KJS::Window::setCurrentEvent):
2486         (KJS::WindowProtoFuncAToB::callAsFunction):
2487         (KJS::WindowProtoFuncBToA::callAsFunction):
2488         (KJS::WindowProtoFuncOpen::callAsFunction):
2489         (KJS::WindowProtoFuncSetTimeout::callAsFunction):
2490         (KJS::WindowProtoFuncClearTimeout::callAsFunction):
2491         (KJS::WindowProtoFuncSetInterval::callAsFunction):
2492         (KJS::WindowProtoFuncAddEventListener::callAsFunction):
2493         (KJS::WindowProtoFuncRemoveEventListener::callAsFunction):
2494         (KJS::WindowProtoFuncShowModalDialog::callAsFunction):
2495         (KJS::WindowProtoFuncNotImplemented::callAsFunction):
2496         * bindings/js/kjs_window.h:
2497         (KJS::PausedTimeouts::PausedTimeouts):
2498         (KJS::PausedTimeouts::takeTimeouts):
2499         (KJS::ScheduledAction::ScheduledAction):
2500
2501 2007-12-08  Sam Weinig  <sam@webkit.org>
2502
2503         Reviewed by Mitz.
2504
2505         Move window scrolling, moving and resizing methods from KJS::Window
2506         to WebCore::DOMWindow so that there bindings can be autogenerated.
2507
2508         Tests: fast/dom/Window/window-resize-and-move-arguments.html
2509                fast/dom/Window/window-scroll-arguments.html
2510
2511         * WebCore.xcodeproj/project.pbxproj:
2512         * bindings/js/kjs_window.cpp:
2513         (KJS::Window::getValueProperty): Remove extraneous allowsAccessFrom check.
2514         (KJS::WindowProtoFuncOpen::callAsFunction):
2515         (KJS::WindowProtoFuncNotImplemented::callAsFunction): Remove extraneous allowsAccessFrom check.
2516         * bindings/js/kjs_window.h:
2517         * bindings/scripts/CodeGeneratorJS.pm: Add new extended attribute
2518         to ensure that the no less than the declared number of attributes
2519         is allowed.
2520         * page/DOMWindow.cpp:
2521         (WebCore::DOMWindow::adjustWindowRect): Moved from kjs_window.
2522         (WebCore::DOMWindow::scrollBy):
2523         (WebCore::DOMWindow::scrollTo):
2524         (WebCore::DOMWindow::moveBy):
2525         (WebCore::DOMWindow::moveTo):
2526         (WebCore::DOMWindow::resizeBy):
2527         (WebCore::DOMWindow::resizeTo):
2528         * page/DOMWindow.h:
2529         (WebCore::DOMWindow::scroll):
2530         * page/DOMWindow.idl:
2531
2532 2007-12-08  Kevin Ollivier  <kevino@theolliviers.com>
2533
2534         Reviewed by Alp Toker.
2535
2536         http://bugs.webkit.org/show_bug.cgi?id=14651
2537         [CURL] didReceiveResponse() only called for HTTP loads
2538
2539         http://bugs.webkit.org/show_bug.cgi?id=14583
2540         [GDK] file:// relative CSS include URLs handled incorrectly
2541
2542         Make sure CURL sets the ResourceResponse URL and calls
2543         didReceiveResponse for local files too. 
2544
2545         * platform/network/curl/ResourceHandleManager.cpp:
2546         (WebCore::writeCallback):
2547
2548 2007-12-08  Oliver Hunt  <oliver@apple.com>
2549
2550         Reviewed by Sam W.
2551
2552         Split the ENABLE_SVG_EXPERIMENTAL_FEATURES flag into separate flags.
2553         
2554         Fixes <rdar://problem/5620249> Must disable SVG animation
2555         <rdar://problem/5612772> Disable SVG filters on Mac to match Windows behavior
2556         
2557         In order to allow finer grained control over the set of SVG features
2558         this patch splits ENABLE_SVG_EXPERIMENTAL_FEATURES into the following
2559         distinct flags:
2560         ENABLE_SVG_ANIMATION
2561         ENABLE_SVG_FILTERS
2562         ENABLE_SVG_FONTS
2563         ENABLE_SVG_AS_IMAGE
2564         ENABLE_SVG_USE
2565         
2566         by default only ENABLE_SVG_AS_IMAGE and ENABLE_SVG_USE are set.
2567
2568         * Configurations/WebCore.xcconfig:
2569         * DerivedSources.make:
2570           Handle the increased number of build flags that may be necessary
2571           
2572         * WebCore.SVG.Animation.exp: Added.
2573         * WebCore.SVG.Filters.exp: Added.
2574         * WebCore.SVG.exp:
2575           We now may not need the animation or filter exports so 
2576           these need to be separate.
2577           
2578         * WebCore.vcproj/WebCore.vcproj:
2579         * WebCore.vcproj/build-generated-files.sh:
2580           Update for new flags
2581           
2582         Remainder of changes are to swap ENABLE(SVG_EXPERIMENTAL_FEATURES) 
2583         with the appropriate specific feature flag.  
2584         * bindings/js/JSSVGElementWrapperFactory.cpp:
2585         (WebCore::createJSSVGWrapper):
2586         * bindings/objc/DOM.mm:
2587         (WebCore::createElementClassMap):
2588         * dom/make_names.pl:
2589         * loader/CachedImage.cpp:
2590         (WebCore::CachedImage::createImage):
2591         * page/DOMWindow.idl:
2592         * rendering/RenderPath.cpp:
2593         (WebCore::RenderPath::absoluteClippedOverflowRect):
2594         * rendering/RenderSVGContainer.cpp:
2595         (WebCore::RenderSVGContainer::absoluteClippedOverflowRect):
2596         * rendering/RenderSVGImage.cpp:
2597         (WebCore::RenderSVGImage::absoluteClippedOverflowRect):
2598         * rendering/RenderSVGRoot.cpp:
2599         (WebCore::RenderSVGRoot::paint):
2600         (WebCore::RenderSVGRoot::absoluteClippedOverflowRect):
2601         * rendering/RenderSVGText.cpp:
2602         (WebCore::RenderSVGText::absoluteClippedOverflowRect):
2603         * rendering/SVGRenderSupport.cpp:
2604         (WebCore::prepareToRenderSVGContent):
2605         (WebCore::finishRenderSVGContent):
2606         * svg/SVGAnimateElement.cpp:
2607         * svg/SVGAnimateElement.h:
2608         * svg/SVGAnimateElement.idl:
2609         * svg/SVGAnimateMotionElement.cpp:
2610         * svg/SVGAnimateMotionElement.h:
2611         * svg/SVGAnimateTransformElement.cpp:
2612         * svg/SVGAnimateTransformElement.h:
2613         * svg/SVGAnimateTransformElement.idl:
2614         * svg/SVGComponentTransferFunctionElement.cpp:
2615         * svg/SVGComponentTransferFunctionElement.h:
2616         * svg/SVGComponentTransferFunctionElement.idl:
2617         * svg/SVGDocumentExtensions.cpp:
2618         (WebCore::SVGDocumentExtensions::startAnimations):
2619         * svg/SVGFEBlendElement.cpp:
2620         * svg/SVGFEBlendElement.h:
2621         * svg/SVGFEBlendElement.idl:
2622         * svg/SVGFEColorMatrixElement.cpp:
2623         * svg/SVGFEColorMatrixElement.h:
2624         * svg/SVGFEColorMatrixElement.idl:
2625         * svg/SVGFEComponentTransferElement.cpp:
2626         * svg/SVGFEComponentTransferElement.h:
2627         * svg/SVGFEComponentTransferElement.idl:
2628         * svg/SVGFECompositeElement.cpp:
2629         * svg/SVGFECompositeElement.h:
2630         * svg/SVGFECompositeElement.idl:
2631         * svg/SVGFEDiffuseLightingElement.cpp:
2632         * svg/SVGFEDiffuseLightingElement.h:
2633         * svg/SVGFEDiffuseLightingElement.idl:
2634         * svg/SVGFEDisplacementMapElement.cpp:
2635         * svg/SVGFEDisplacementMapElement.h:
2636         * svg/SVGFEDisplacementMapElement.idl:
2637         * svg/SVGFEDistantLightElement.cpp:
2638         * svg/SVGFEDistantLightElement.h:
2639         * svg/SVGFEDistantLightElement.idl:
2640         * svg/SVGFEFloodElement.cpp:
2641         * svg/SVGFEFloodElement.h:
2642         * svg/SVGFEFloodElement.idl:
2643         * svg/SVGFEFuncAElement.cpp:
2644         * svg/SVGFEFuncAElement.h:
2645         * svg/SVGFEFuncAElement.idl:
2646         * svg/SVGFEFuncBElement.cpp:
2647         * svg/SVGFEFuncBElement.h:
2648         * svg/SVGFEFuncBElement.idl:
2649         * svg/SVGFEFuncGElement.cpp:
2650         * svg/SVGFEFuncGElement.h:
2651         * svg/SVGFEFuncGElement.idl:
2652         * svg/SVGFEFuncRElement.cpp:
2653         * svg/SVGFEFuncRElement.h:
2654         * svg/SVGFEFuncRElement.idl:
2655         * svg/SVGFEGaussianBlurElement.cpp:
2656         * svg/SVGFEGaussianBlurElement.h:
2657         * svg/SVGFEGaussianBlurElement.idl:
2658         * svg/SVGFEImageElement.cpp:
2659         * svg/SVGFEImageElement.h:
2660         * svg/SVGFEImageElement.idl:
2661         * svg/SVGFELightElement.cpp:
2662         * svg/SVGFELightElement.h:
2663         * svg/SVGFEMergeElement.cpp:
2664         * svg/SVGFEMergeElement.h:
2665         * svg/SVGFEMergeElement.idl:
2666         * svg/SVGFEMergeNodeElement.cpp:
2667         * svg/SVGFEMergeNodeElement.h:
2668         * svg/SVGFEMergeNodeElement.idl:
2669         * svg/SVGFEOffsetElement.cpp:
2670         * svg/SVGFEOffsetElement.h:
2671         * svg/SVGFEOffsetElement.idl:
2672         * svg/SVGFEPointLightElement.cpp:
2673         * svg/SVGFEPointLightElement.h:
2674         * svg/SVGFEPointLightElement.idl:
2675         * svg/SVGFESpecularLightingElement.cpp:
2676         * svg/SVGFESpecularLightingElement.h:
2677         * svg/SVGFESpecularLightingElement.idl:
2678         * svg/SVGFESpotLightElement.cpp:
2679         * svg/SVGFESpotLightElement.h:
2680         * svg/SVGFESpotLightElement.idl:
2681         * svg/SVGFETileElement.cpp:
2682         * svg/SVGFETileElement.h:
2683         * svg/SVGFETileElement.idl:
2684         * svg/SVGFETurbulenceElement.cpp:
2685         * svg/SVGFETurbulenceElement.h:
2686         * svg/SVGFETurbulenceElement.idl:
2687         * svg/SVGFilterElement.cpp:
2688         * svg/SVGFilterElement.h:
2689         * svg/SVGFilterElement.idl:
2690         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
2691         * svg/SVGTimer.cpp:
2692         (WebCore::SVGTimer::animationsByElement):
2693         * svg/SVGUseElement.cpp:
2694         (WebCore::SVGUseElement::buildPendingResource):
2695         (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
2696         * svg/SVGUseElement.h:
2697         * svg/TimeScheduler.cpp:
2698         (WebCore::TimeScheduler::connectIntervalTimer):
2699         (WebCore::TimeScheduler::disconnectIntervalTimer):
2700         * svg/graphics/SVGResourceFilter.cpp:
2701         * svg/graphics/SVGResourceFilter.h:
2702         * svg/graphics/cg/SVGResourceFilterCg.cpp:
2703         * svg/graphics/cg/SVGResourceFilterCg.mm:
2704         * svg/graphics/filters/SVGDistantLightSource.h:
2705         * svg/graphics/filters/SVGFEBlend.cpp:
2706         * svg/graphics/filters/SVGFEBlend.h:
2707         * svg/graphics/filters/SVGFEColorMatrix.cpp:
2708         * svg/graphics/filters/SVGFEColorMatrix.h:
2709         * svg/graphics/filters/SVGFEComponentTransfer.cpp:
2710         * svg/graphics/filters/SVGFEComponentTransfer.h:
2711         * svg/graphics/filters/SVGFEComposite.cpp:
2712         * svg/graphics/filters/SVGFEComposite.h:
2713         * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
2714         * svg/graphics/filters/SVGFEConvolveMatrix.h:
2715         * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
2716         * svg/graphics/filters/SVGFEDiffuseLighting.h:
2717         * svg/graphics/filters/SVGFEDisplacementMap.cpp:
2718         * svg/graphics/filters/SVGFEDisplacementMap.h:
2719         * svg/graphics/filters/SVGFEFlood.cpp:
2720         * svg/graphics/filters/SVGFEFlood.h:
2721         * svg/graphics/filters/SVGFEGaussianBlur.cpp:
2722         * svg/graphics/filters/SVGFEGaussianBlur.h:
2723         * svg/graphics/filters/SVGFEImage.cpp:
2724         * svg/graphics/filters/SVGFEImage.h:
2725         * svg/graphics/filters/SVGFEMerge.cpp:
2726         * svg/graphics/filters/SVGFEMerge.h:
2727         * svg/graphics/filters/SVGFEMorphology.cpp:
2728         * svg/graphics/filters/SVGFEMorphology.h:
2729         * svg/graphics/filters/SVGFEOffset.cpp:
2730         * svg/graphics/filters/SVGFEOffset.h:
2731         * svg/graphics/filters/SVGFESpecularLighting.cpp:
2732         * svg/graphics/filters/SVGFESpecularLighting.h:
2733         * svg/graphics/filters/SVGFETile.h:
2734         * svg/graphics/filters/SVGFETurbulence.cpp:
2735         * svg/graphics/filters/SVGFETurbulence.h:
2736         * svg/graphics/filters/SVGFilterEffect.cpp:
2737         * svg/graphics/filters/SVGFilterEffect.h:
2738         * svg/graphics/filters/SVGLightSource.cpp:
2739         * svg/graphics/filters/SVGLightSource.h:
2740         * svg/graphics/filters/SVGPointLightSource.h:
2741         * svg/graphics/filters/SVGSpotLightSource.h:
2742         * svg/graphics/filters/cg/SVGFEBlendCg.mm:
2743         * svg/graphics/filters/cg/SVGFEColorMatrixCg.mm:
2744         * svg/graphics/filters/cg/SVGFEComponentTransferCg.mm:
2745         * svg/graphics/filters/cg/SVGFECompositeCg.mm:
2746         * svg/graphics/filters/cg/SVGFEDiffuseLightingCg.mm:
2747         * svg/graphics/filters/cg/SVGFEDisplacementMapCg.mm:
2748         * svg/graphics/filters/cg/SVGFEFloodCg.mm:
2749         * svg/graphics/filters/cg/SVGFEGaussianBlurCg.mm:
2750         * svg/graphics/filters/cg/SVGFEHelpersCg.h:
2751         * svg/graphics/filters/cg/SVGFEHelpersCg.mm:
2752         * svg/graphics/filters/cg/SVGFEImageCg.mm:
2753         * svg/graphics/filters/cg/SVGFEMergeCg.mm:
2754         * svg/graphics/filters/cg/SVGFEOffsetCg.mm:
2755         * svg/graphics/filters/cg/SVGFESpecularLightingCg.mm:
2756         * svg/graphics/filters/cg/SVGFETileCg.mm:
2757         * svg/graphics/filters/cg/SVGFilterEffectCg.mm:
2758         * svg/graphics/filters/cg/WKArithmeticFilter.h:
2759         * svg/graphics/filters/cg/WKArithmeticFilter.m:
2760         * svg/graphics/filters/cg/WKComponentMergeFilter.h:
2761         * svg/graphics/filters/cg/WKComponentMergeFilter.m:
2762         * svg/graphics/filters/cg/WKDiffuseLightingFilter.h:
2763         * svg/graphics/filters/cg/WKDiffuseLightingFilter.m:
2764         * svg/graphics/filters/cg/WKDiscreteTransferFilter.h:
2765         * svg/graphics/filters/cg/WKDiscreteTransferFilter.m:
2766         * svg/graphics/filters/cg/WKDisplacementMapFilter.h:
2767         * svg/graphics/filters/cg/WKDisplacementMapFilter.m:
2768         * svg/graphics/filters/cg/WKDistantLightFilter.h:
2769         * svg/graphics/filters/cg/WKDistantLightFilter.m:
2770         * svg/graphics/filters/cg/WKGammaTransferFilter.h:
2771         * svg/graphics/filters/cg/WKGammaTransferFilter.m:
2772         * svg/graphics/filters/cg/WKIdentityTransferFilter.h:
2773         * svg/graphics/filters/cg/WKIdentityTransferFilter.m:
2774         * svg/graphics/filters/cg/WKLinearTransferFilter.h:
2775         * svg/graphics/filters/cg/WKLinearTransferFilter.m:
2776         * svg/graphics/filters/cg/WKNormalMapFilter.h:
2777         * svg/graphics/filters/cg/WKNormalMapFilter.m:
2778         * svg/graphics/filters/cg/WKPointLightFilter.h:
2779         * svg/graphics/filters/cg/WKPointLightFilter.m:
2780         * svg/graphics/filters/cg/WKSpecularLightingFilter.h:
2781         * svg/graphics/filters/cg/WKSpecularLightingFilter.m:
2782         * svg/graphics/filters/cg/WKSpotLightFilter.h:
2783         * svg/graphics/filters/cg/WKSpotLightFilter.m:
2784         * svg/graphics/filters/cg/WKTableTransferFilter.h:
2785         * svg/graphics/filters/cg/WKTableTransferFilter.m:
2786         * svg/graphics/mac/SVGResourceFilterPlatformDataMac.h:
2787         * svg/graphics/mac/SVGResourceFilterPlatformDataMac.mm:
2788         * svg/svgtags.in:
2789
2790 2007-12-08  Dan Bernstein  <mitz@apple.com>
2791
2792         Reviewed by Adele Peterson.
2793
2794         - fix two bugs in parsing of stylesheets in <style> elements created by
2795           the parser:
2796           1. each such stylesheet is parsed twice, once when the text node is
2797              added and again when the </style> tag is reached
2798           2. re-inserting such a <style> element into the document fails to
2799              re-parse and apply its stylesheet.
2800
2801         Test for bug #2: fast/dom/HTMLStyleElement/insert-parser-generated.html
2802
2803         * html/HTMLStyleElement.cpp:
2804         (WebCore::HTMLStyleElement::finishedParsing):
2805         * svg/SVGStyleElement.cpp:
2806         (WebCore::SVGStyleElement::finishedParsing):
2807
2808 2007-12-07  Sam Weinig  <sam@webkit.org>
2809
2810         Reviewed by Darin.
2811
2812         - Removes the faulty isSafeScript implementation that was only
2813           used for plugins.
2814         - Renames isSafeScript to allowsAccessFrom.
2815
2816         * bindings/js/JSDOMWindowCustom.cpp:
2817         (WebCore::JSDOMWindow::customGetOwnPropertySlot):
2818         (WebCore::JSDOMWindow::customPut):
2819         * bindings/js/kjs_dom.cpp:
2820         (WebCore::checkNodeSecurity):
2821         * bindings/js/kjs_window.cpp:
2822         (KJS::createWindow):
2823         (KJS::Window::getValueProperty):
2824         (KJS::Window::namedItemGetter):
2825         (KJS::Window::getOwnPropertySlot):
2826         (KJS::Window::put):
2827         (KJS::Window::allowsAccessFrom):
2828         (KJS::Window::setListener):
2829         (KJS::Window::getListener):
2830         (KJS::WindowProtoFuncOpen::callAsFunction):
2831         (KJS::WindowProtoFuncSetTimeout::callAsFunction):
2832         (KJS::WindowProtoFuncClearTimeout::callAsFunction):
2833         (KJS::WindowProtoFuncSetInterval::callAsFunction):
2834         (KJS::WindowProtoFuncAddEventListener::callAsFunction):
2835         (KJS::WindowProtoFuncRemoveEventListener::callAsFunction):
2836         (KJS::WindowProtoFuncNotImplemented::callAsFunction):
2837         (KJS::Location::getOwnPropertySlot):
2838         (KJS::Location::put):
2839         (KJS::LocationProtoFuncReplace::callAsFunction):
2840         (KJS::LocationProtoFuncReload::callAsFunction):
2841         (KJS::LocationProtoFuncAssign::callAsFunction):
2842         (KJS::LocationProtoFuncToString::callAsFunction):
2843         * bindings/js/kjs_window.h:
2844         (KJS::Window::allowsAccessFrom):
2845         * bindings/objc/WebScriptObject.mm:
2846         (-[WebScriptObject _isSafeScript]): Reverse caller/argument of allowsAccessFrom to match
2847         the new call.
2848         * bindings/scripts/CodeGeneratorJS.pm:
2849
2850 2007-12-08  Rob Buis  <buis@kde.org>
2851
2852         Reviewed by Darin.
2853
2854         http://bugs.webkit.org/show_bug.cgi?id=15464
2855         SVGLengthList allows bad values
2856
2857         Be more strict with svg lengths without a unit identifier.
2858
2859         Test: svg/custom/invalid-lengthlist.svg
2860
2861         * svg/SVGLength.cpp:
2862         (WebCore::SVGLength::setValueAsString):
2863
2864 2007-12-08  Rob Buis  <buis@kde.org>
2865
2866         Mac Tiger build fix.
2867
2868         Use the wtf prefix when including MathExtras.h.
2869
2870         * rendering/RenderMedia.cpp:
2871
2872 2007-12-08  Alp Toker  <alp@atoker.com>
2873
2874         GTK+ build fix (for ENABLE_VIDEO builds):
2875
2876         Include MathExtras.h to get isfinite().
2877
2878         * rendering/RenderMedia.cpp:
2879
2880 2007-12-08  Rob Buis  <buis@kde.org>
2881
2882         Reviewed by Darin.
2883
2884         http://bugs.webkit.org/show_bug.cgi?id=15528
2885         svg_dynamic_cast should be removed
2886
2887         Replace svg_dynamic_cast with a combination of
2888         isSVGElement and static_cast.
2889
2890         * rendering/SVGRootInlineBox.cpp:
2891         (WebCore::SVGRootInlineBox::buildLayoutInformation):
2892         (WebCore::SVGRootInlineBox::buildTextChunks):
2893         * svg/SVGAnimationElement.cpp:
2894         (WebCore::SVGAnimationElement::targetElement):
2895         * svg/SVGElement.h:
2896         * svg/SVGElementInstance.cpp:
2897         (WebCore::SVGElementInstance::updateInstance):
2898         * svg/SVGFilterElement.cpp:
2899         (WebCore::SVGFilterElement::canvasResource):
2900         * svg/SVGGradientElement.cpp:
2901         (WebCore::SVGGradientElement::buildStops):
2902         * svg/SVGLocatable.cpp:
2903         (WebCore::SVGLocatable::getTransformToElement):
2904         * svg/SVGMaskElement.cpp:
2905         (WebCore::SVGMaskElement::drawMaskerContent):
2906         * svg/SVGSwitchElement.cpp:
2907         (WebCore::SVGSwitchElement::childShouldCreateRenderer):
2908         * svg/SVGUseElement.cpp:
2909         (WebCore::SVGUseElement::insertedIntoDocument):
2910         (WebCore::SVGUseElement::buildPendingResource):
2911         (WebCore::SVGUseElement::buildInstanceTree):
2912         (WebCore::SVGUseElement::handleDeepUseReferencing):
2913         (WebCore::SVGUseElement::buildShadowTree):
2914         (WebCore::SVGUseElement::expandUseElementsInShadowTree):
2915         (WebCore::SVGUseElement::associateInstancesWithShadowTreeElements):
2916         * svg/graphics/SVGResource.cpp:
2917         (WebCore::getResourceById):
2918
2919 2007-12-07  Antti Koivisto  <antti@apple.com>
2920
2921         Reviewed by Adele.
2922         
2923         Partial fix for <rdar://problem/5633400>
2924         Transformed <video>, <img>, <embed> are not clipped correctly until a repaint is forced
2925         
2926         Fix video painting when transform is applied.
2927
2928         Test: media/video-transformed.html
2929
2930         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2931         (WebCore::MediaPlayerPrivate::paint):
2932
2933 2007-12-07  Dan Bernstein  <mitz@apple.com>
2934
2935         Reviewed by Sam Weinig.
2936
2937         - fix http://bugs.webkit.org/show_bug.cgi?id=16348
2938           @font-face does not affect the default style
2939
2940         Test: fast/css/font-face-default-font.html
2941
2942         * dom/Document.cpp:
2943         (WebCore::Document::recalcStyle): Pass our font selector to
2944         Font::update() if we already have one.
2945
2946 2007-12-07  Darin Adler  <darin@apple.com>
2947
2948         - fix Windows build
2949
2950         * bridge/win/GlobalHistoryWin.cpp:
2951         (WebCore::historyContains): Missed a rename.
2952
2953 2007-12-07  Brady Eidson  <beidson@apple.com>
2954
2955         Reviewed by Anders and Darin
2956
2957         When a statement bumps up against the quota and the UI Delegate grants more space, we need to
2958         actually set the new maximum size on the SQLiteDatabase (in addition to storing the new max quota
2959         in the DatabaseTracker, which was already done)
2960
2961         * storage/SQLTransaction.cpp:
2962         (WebCore::SQLTransaction::runStatements): If a statement is being retried, set the maximum size on
2963           the SQLiteDatabase to the new maximum size
2964
2965 2007-12-07  Darin Adler  <darin@apple.com>
2966
2967         - fix Tiger build
2968
2969         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Tiger didn't even have
2970         QTKIT_VERSION_MAX_ALLOWED, so add logic to work without that.
2971
2972 2007-12-07  Darin Adler  <darin@apple.com>
2973
2974         - fix 64-bit build, hopefully without breaking Tiger build
2975
2976         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2977         (WebCore::MediaPlayerPrivate::updateStates):
2978         Don't use Movies.h constants that are nonexistent in 64-bit.
2979         Define the new QTMovie.h constants, though, when using an older QTKit.
2980
2981 2007-12-07  Brady Eidson  <beidson@apple.com>
2982
2983         Reviewed by Anders
2984
2985         Fix <rdar://problem/5636115> - Prompted for quota increase to create database when it already existed
2986
2987         * storage/DatabaseTracker.cpp:
2988         (WebCore::DatabaseTracker::canEstablishDatabase): Check hasEntryForDatabase before doing any prompting
2989         (WebCore::DatabaseTracker::hasEntryForDatabase): Check and see if this database already exists
2990         * storage/DatabaseTracker.h:
2991
2992 2007-12-07  Darin Adler  <darin@apple.com>
2993
2994         Reviewed by Mitz.
2995
2996         - http://bugs.webkit.org/show_bug.cgi?id=15981
2997           speed up visited-link code a bit
2998
2999         * bridge/GlobalHistory.h: Change historyContains to take a character pointer plus length
3000         instead of requiring a DeprecatedString.
3001
3002         * bridge/mac/GlobalHistoryMac.mm: (WebCore::historyContains): Updated for above change.
3003         Also removes pointless "fast Latin-1" case that was never used.
3004         * bridge/win/GlobalHistoryWin.cpp: (WebCore::historyContains): Ditto.
3005         * platform/gtk/TemporaryLinkStubs.cpp: (WebCore::historyContains): Ditto.
3006         * platform/wx/TemporaryLinkStubs.cpp: (WebCore::historyContains): Ditto.
3007
3008         * css/CSSStyleSelector.cpp:
3009         (WebCore::findHash): Added. Helper for cleanpath.
3010         (WebCore::findSlashDotDotSlash): Ditto.
3011         (WebCore::findSlashSlash): Ditto.
3012         (WebCore::findSlashDotSlash): Ditto.
3013         (WebCore::cleanpath): Changed to use fast helper functions instead of slower general-purpose
3014         DeprecatedString find function.
3015         (WebCore::containsColonSlashSlash): Added. Helper for checkPseudoState.
3016         (WebCore::checkPseudoState): Got rid of reference count churn by using an AtomicString*
3017         instead of an AtomicString for the attribute value. Changed to use fast helper function
3018         instead of slower DeprecatedString::contains function, and also made the fast case not
3019         bother allocating a DeprecatedConstString.
3020
3021         - unrelated tiny cleanup
3022
3023         * platform/graphics/svg/cg/SVGPaintServerGradientCg.cpp:
3024         (WebCore::releaseCachedStops): Use static_cast instead of reinterpret_cast.
3025         (WebCore::cgGradientCallback): Ditto.
3026
3027 2007-12-07  Darin Adler  <darin@apple.com>
3028
3029         Fix build on Tiger (Mark Rowe told me how).
3030
3031         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3032         Include <objc/objc-runtime.h>, which existed back on Tiger,
3033         rather than <objc/runtime.h>, which did not.
3034
3035 2007-12-07  Geoffrey Garen  <ggaren@apple.com>
3036
3037         Build fix: rolling out last build fix to change #include path.
3038
3039         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3040
3041 2007-12-07  Steve Falkenburg  <sfalken@apple.com>
3042
3043         Re-named our B&I flag from BUILDBOT to PRODUCTION.
3044
3045         Reviewed by Sam Weinig.
3046
3047         * WebCore.vcproj/WebCore.make:
3048
3049 2007-12-07  Geoffrey Garen  <ggaren@apple.com>
3050
3051         Build fix: corrected #include path.
3052
3053         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3054
3055 2007-12-07  Geoffrey Garen  <ggaren@apple.com>
3056
3057         Reviewed by Sam Weinig.
3058
3059         Added some namespace qualifications and a forwarding header, now that
3060         KJS::Node is sometimes #included in WebCore by JavaScriptCore headers.
3061
3062         * ForwardingHeaders/wtf/ListRefPtr.h: Added.
3063         * bindings/js/JSXSLTProcessor.cpp:
3064         (KJS::JSXSLTProcessorPrototypeFunctionTransformToFragment::callAsFunction):
3065         * bindings/js/kjs_binding.cpp:
3066         (KJS::ScriptInterpreter::getDOMNodeForDocument):
3067         (KJS::ScriptInterpreter::forgetDOMNodeForDocument):
3068         (KJS::ScriptInterpreter::putDOMNodeForDocument):
3069         (KJS::ScriptInterpreter::markDOMNodesForDocument):
3070         (KJS::ScriptInterpreter::updateDOMNodeDocument):
3071
3072 2007-12-07  Adam Roben  <aroben@apple.com>
3073
3074         Add SoftLinking.h for Windows and use it in a few places
3075
3076         Reviewed by Oliver.
3077
3078         * WebCore.vcproj/WebCore.vcproj: Added new file to project.
3079         * platform/win/PlatformScrollBarSafari.cpp: Use SoftLinking.h.
3080         (WebCore::PlatformScrollbar::PlatformScrollbar): Removed manual
3081         soft-linking calls.
3082         (WebCore::PlatformScrollbar::paintButton): Check for the presence of
3083         the SafariTheme library now that we can't check for the presence of
3084         paintThemePart directly.
3085         (WebCore::PlatformScrollbar::paintTrack): Ditto.
3086         (WebCore::PlatformScrollbar::paintThumb): Ditto.
3087         * platform/win/SoftLinking.h: Copied from WebCore/platform/mac/SoftLinking.h.
3088         * rendering/RenderThemeSafari.cpp: Same basic changes as to
3089         PlatformScrollBarSafari.cpp.
3090         (WebCore::RenderThemeSafari::RenderThemeSafari):
3091         (WebCore::RenderThemeSafari::isControlStyled):
3092         (WebCore::RenderThemeSafari::paintCapsLockIndicator):
3093         * rendering/RenderThemeSafari.h: Removed m_themeDLL member.
3094
3095 2007-12-07  Darin Adler  <darin@apple.com>
3096
3097         Reviewed by Adele.
3098
3099         - fix <rdar://problem/5608795> CrashTracer: 481 crashes in Safari
3100           at WebCore::HTMLSelectElement::saveState const + 152
3101
3102         Test: fast/forms/select-set-inner.html
3103
3104         * dom/ContainerNode.cpp:
3105         (WebCore::ContainerNode::removeChildren): Added a return value, as with other
3106         calls that change children, so we can optimize for the case where it does nothing.
3107         (WebCore::ContainerNode::cloneChildNodes): Changed parameter type to ContainerNode.
3108         * dom/ContainerNode.h: See above.
3109
3110         * html/HTMLOptGroupElement.cpp:
3111         (WebCore::HTMLOptGroupElement::removeChildren): Override removeChildren and call
3112         recalcSelectOptions in that case.
3113         (WebCore::HTMLOptGroupElement::childrenChanged): Override childrenChanged instead of
3114         addChild, for consistency with HTMLSelectElement; no need to override both.
3115         (WebCore::HTMLOptGroupElement::groupLabelText): Made const.
3116         * html/HTMLOptGroupElement.h: See above.
3117
3118         * html/HTMLSelectElement.cpp: Don't override addChild any more, because we already
3119         override childrenChanged, and addChild calls that.
3120         (WebCore::HTMLSelectElement::removeChildren): Override removeChildren and call
3121         recalcSelectOptions in that case.
3122         (WebCore::HTMLSelectElement::recalcListItems): Tightened up the code a little bit
3123         by using a for loop and traverseNextSibling. Also added some new comments and
3124         removed some obsolete ones.
3125         (WebCore::HTMLSelectElement::checkListItems): Added. Debug-only check to make
3126         sure we don't have a stale list items vector.
3127         * html/HTMLSelectElement.h: Changed listItems() to invoke checkListItems().
3128         This will help us catch cases where we have too few calls to setRecalcListItems.
3129
3130 2007-12-07  Dan Bernstein  <mitz@apple.com>
3131
3132         Reviewed by Darin Adler.
3133
3134         - WebCore part of fixing <rdar://problem/5499918> REGRESSION: insertion point in input field with custom border cuts holes in focus ring interior edges
3135
3136         Test: fast/repaint/focus-ring.html
3137
3138         * editing/SelectionController.cpp:
3139         (WebCore::SelectionController::caretRepaintRect): Changed to return just
3140         the caret rect without any padding.
3141         (WebCore::SelectionController::recomputeCaretRect): Changed to repaint
3142         just the caret rect without any padding.
3143         * platform/graphics/GraphicsContext.h: Removed setFocusRingClip() and
3144         clearFocusRingClip().
3145         * platform/graphics/cairo/GraphicsContextCairo.cpp: Ditto.
3146         * platform/graphics/cg/GraphicsContextCG.cpp: Ditto.
3147         * platform/graphics/cg/GraphicsContextPlatformPrivate.h: Removed
3148         m_focusRingClip member.
3149         * platform/graphics/mac/GraphicsContextMac.mm:
3150         (WebCore::GraphicsContext::drawFocusRing): Changed to call
3151         wkDrawFocusRing() once without setting up additional clip. On Leopard,
3152         wkDrawFocusRing() respects the context clip now. On Tiger, a
3153         transparency layer is used to apply clipping to the focus ring.
3154         * platform/graphics/qt/GraphicsContextQt.cpp: Removed focus ring clip
3155         methods and member.
3156         * platform/graphics/wx/GraphicsContextWx.cpp: Ditto.
3157         * platform/mac/WebCoreSystemInterface.h: Removed the clipRect argument
3158         to wkDrawFocusRing().
3159         * platform/mac/WebCoreSystemInterface.mm: Ditto.
3160         * rendering/RenderLayer.cpp:
3161         (WebCore::setClip): Removed call to set the focus ring clip.
3162         (WebCore::restoreClip): Removed call to reset the focus ring clip.
3163
3164 2007-12-07  Darin Adler  <darin@apple.com>
3165
3166         Reviewed by Antti Koivisto and Kevin Decker.
3167
3168         - fix <rdar://problem/5601586> QtKit should be dynamically loaded upon need, not linked at startup
3169
3170         Also did a lot of small tweaks to MediaPlayerPrivateQTKit.
3171
3172         * WebCore.xcodeproj/project.pbxproj: Don't link to QTKit.
3173
3174         * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Omit unneeded includes and declarations.
3175         Made a lot more functions const. Made a few more members private and a couple inline.
3176         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Added soft linking machinery for all the
3177         things we currently use in QTKit. It's a little more awkward for classes and other data objects
3178         than it is for functions, but still relatively straightforward, with no changes needed to the
3179         client code. Added using namespace directives. Made a cuePointTimerInterval constant and put
3180         it at the top of the file. Use 0 consistently instead of sometimes 0 and sometimes 0.0f.
3181         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Removed unneeded initialization of RetainPtr
3182         members to nil.
3183         (WebCore::MediaPlayerPrivate::createQTMovie): Use adoptNS instead of autorelease.
3184         (WebCore::MediaPlayerPrivate::createQTMovieView): Ditto. Also use -[NSColor clearColor].
3185         (WebCore::MediaPlayerPrivate::createQTTime): Remove an unneeded type cast that had no effect.
3186         Changed to use long instead of int because that's the type for a QTTime time scale anyway.
3187         (WebCore::MediaPlayerPrivate::duration): Use a static_cast instead of a C-style cast.
3188         (WebCore::MediaPlayerPrivate::currentTime): Ditto. Also merged into a single expression.
3189         (WebCore::MediaPlayerPrivate::cuePointTimerFired): Added code to make a copy of the cue
3190         points set to avoid a potential problem with a set being modified as we iterate it.
3191         (WebCore::MediaPlayerPrivate::bytesLoaded): Removed unneeded null check of m_qtMovie.
3192         (WebCore::MediaPlayerPrivate::updateStates): Instead of comments explaining the numeric
3193         values, used the constants from the headers directly.
3194         (WebCore::MediaPlayerPrivate::getSupportedTypes): Instead of (QTMovieFileTypeOptions)0,
3195         pass the named constant with value 0, QTIncludeCommonTypes. Skipped the intermediate type
3196         of NSString to remove one cast. Replaced C-style cast with reinterpret_cast (arguably
3197         no better). Used RetainPtr instead of explicit CFRelease calls.
3198
3199         * platform/mac/SoftLinking.h: Added macros to do soft linking for classes and for pointers.
3200         It's not quite as automatic as the soft linking we can do for functions, since these define
3201         functions to get the values, so you need to define macros to make what look like variable
3202         accesses turn into function calls. See MediaPlayerPrivateQTKit for the details.
3203
3204         * html/HTMLMediaElement.h:
3205         * html/TimeRanges.h:
3206         * html/VoidCallback.h:
3207         * platform/graphics/MediaPlayer.h:
3208         Use angle brackets for wtf includes. Omit unneeded includes.
3209
3210 2007-12-07  Dan Bernstein  <mitz@apple.com>
3211
3212         Reviewed by Darin Adler.
3213
3214         - fix http://bugs.webkit.org/show_bug.cgi?id=16334
3215           <rdar://problem/5634923> REGRESSION (r28299): Homepage of any DotMac Web Gallery won't load completely
3216
3217         Test: fast/dynamic/subtree-no-common-root-static-y.html
3218
3219         * rendering/RenderObject.cpp:
3220         (WebCore::RenderObject::markContainingBlocksForLayout): Changed the call
3221         to setChildNeedsLayout() to not mark containing blocks and added a
3222         separate call to markContainingBlocksForLayout() that will not schedule
3223         a layout if we are already in the middle of scheduleRelayoutOfSubtree().
3224
3225 2007-12-07  Alexey Proskuryakov  <ap@webkit.org>
3226
3227         Reviewed by Darin.
3228
3229         http://bugs.webkit.org/show_bug.cgi?id=16325
3230         <rdar://problem/5632997> REGRESSION: www.xerox.ru doesn't work
3231         
3232         Test: http/tests/misc/empty-cookie.html
3233
3234         * platform/mac/CookieJar.mm:
3235         (WebCore::setCookies): Don't store empty cookies.
3236         (WebCore::cookies): Filter out empty cookies if we have them, as they could have been set
3237         with an earlier version of Leopard!
3238
3239 2007-12-06  Ada Chan  <adachan@apple.com>
3240
3241         Fixed the if statement (ERROR_SUCCESS is 0 and we were actually
3242         returning true when there's an error).
3243
3244         Reviewed by Steve.
3245
3246         * platform/win/FileSystemWin.cpp:
3247         (WebCore::makeAllDirectories):
3248
3249 2007-12-06  Darin Adler  <darin@apple.com>
3250
3251         - fix broken regression test
3252
3253         * bindings/js/kjs_binding.cpp:
3254         (KJS::setDOMException): Oops, this was just supposed to be PERMISSION_DENIED.
3255
3256 2007-12-06  Darin Adler  <darin@apple.com>
3257
3258         Reviewed by Sam Weinig.
3259
3260         - fix http://bugs.webkit.org/show_bug.cgi?id=16332
3261           ObjC DOM exception object descriptions should include the exception name
3262
3263         * WebCore.pro: Added ExceptionCode.cpp.
3264         * WebCore.vcproj/WebCore.vcproj: Added ExceptionCode.cpp.
3265         * WebCore.xcodeproj/project.pbxproj: Added ExceptionCode.cpp.
3266         * WebCoreSources.bkl: Added ExceptionCode.cpp.
3267
3268         * bindings/js/kjs_binding.cpp: (KJS::setDOMException): Moved the code to decompose an
3269         ExceptionCode into ExceptionCode.h/cpp -- getExceptionCodeDescription. Also removed
3270         the many unneeded includes that were here. Had to keep one special case here, for
3271         SECURITY_ERR.
3272
3273         * bindings/objc/ExceptionHandlers.mm: (WebCore::raiseDOMException): Changed to use the
3274         new getExceptionCodeDescription function so that this shares the exception name
3275         information that was previously only available to JavaScript.
3276
3277         * dom/ExceptionCode.cpp: Copied from bindings/js/kjs_binding.cpp.
3278         (WebCore::getExceptionCodeDescription): Added some assertions, and made the function
3279         handle exception names in a slightly more robust way that is not subject to integer
3280         overflow. (Not a real world issue since we should never receive a bad exception code.)
3281
3282         * dom/ExceptionCode.h: Added the ExceptionCodeDescription struct and the
3283         getExceptionCodeDescription function.
3284
3285         * svg/SVGException.h: Added a missing #include and got rid of some comments. Some of
3286         the comments were mildly helpful, but others were incorrect. This now matches the other
3287         exception-related headers such as RangeException.h.
3288
3289 2007-12-06  Brady Eidson  <beidson@apple.com>
3290
3291         Reviewed by Darin
3292
3293         Fixed a glaring bug that would prevent a statement from getting run a second time
3294
3295         * storage/SQLStatement.cpp:
3296         (WebCore::SQLStatement::execute): Clear failure due to quota *before* we check the error
3297           and return early
3298         (WebCore::SQLStatement::clearFailureDueToQuota): Only clear the error if it was a quota error
3299
3300 2007-12-06  Timothy Hatcher  <timothy@apple.com>
3301
3302         Reviewed by Oliver Hunt.
3303
3304         Use keydown instead of keypress so keyIdentifier can be used.
3305
3306         * page/inspector/ConsolePanel.js: Use keydown instead of keypress.
3307         * page/inspector/DatabasePanel.js: Ditto.
3308         * page/inspector/inspector.js: Ditto. Plus call removeEventListener
3309         before deleting windowLoaded.
3310
3311 2007-12-06  Adam Roben  <aroben@apple.com>
3312
3313         Rename FontsTable.plist to FontsList.plist
3314
3315         Rubberstamped by Hyatt.
3316
3317         * platform/graphics/win/FontDatabase.cpp:
3318
3319 2007-12-06  Brady Eidson  <beidson@apple.com>
3320
3321         Reviewed by Darin
3322
3323         Tweaked a comment and a few assertions from my last checkin
3324
3325         * storage/SQLStatement.cpp:
3326         (WebCore::SQLStatement::execute):
3327         (WebCore::SQLStatement::clearFailureDueToQuota):
3328         (WebCore::SQLStatement::lastExecutionFailedDueToQuota):
3329
3330 2007-12-06  Brady Eidson <beidson@apple.com>
3331
3332         Reviewed by Darin
3333
3334         Finished hooking up UI Delegate for databases - Database operations will now enforce a size quota and
3335         will ask the UI Delegate for more space when that quota is met
3336
3337         * platform/sql/SQLiteDatabase.cpp: Add the new SQLResultFull constant
3338         * platform/sql/SQLiteDatabase.h: Ditto
3339
3340         * storage/Database.cpp:
3341         (WebCore::Database::securityOriginData): Added this accessor, copying for thread safety
3342         (WebCore::Database::stringIdentifier): Ditto
3343         * storage/Database.h:
3344
3345         * storage/SQLStatement.cpp:
3346         (WebCore::SQLStatement::SQLStatement):
3347         (WebCore::SQLStatement::execute): Change to return an enum that represents 3 states - success, error, and quota.
3348           If the result is quota, this statement expects that it might be run again, presumably after the user increases 
3349           the quota
3350         (WebCore::SQLStatement::setFailureDueToQuota): Setup a quota failure, including a flag and the error
3351         (WebCore::SQLStatement::clearFailureDueToQuota): Clear a quota failure, for when the statement is rerun
3352         (WebCore::SQLStatement::lastExecutionFailedDueToQuota):
3353         * storage/SQLStatement.h:
3354
3355         * storage/SQLTransaction.cpp:
3356         (WebCore::SQLTransaction::SQLTransaction):
3357         (WebCore::SQLTransaction::performPendingCallback): Added an acceptable callback pointer
3358         (WebCore::SQLTransaction::openTransactionAndPreflight): Setup the quota in the database that will remain for this 
3359           transaction.  Note that in this patch, the quota being set is wrong - it makes sense to fix that in a follow up patch
3360         (WebCore::SQLTransaction::runStatements): Modified to add the ability to re-run a statement based on the UI delegate
3361           decision and whether the current statement was already run
3362         (WebCore::SQLTransaction::runCurrentStatement): Added another result condition - the Quota result - and handle it
3363         (WebCore::SQLTransaction::handleCurrentStatementError): Statements can now error-out from two places, so the code
3364           that handles a statement error was moved here
3365         (WebCore::SQLTransaction::deliverQuotaIncreaseCallback): Added - Consult the UI delegate for more quota, then 
3366           reschedule the current statement on the database thread
3367         * storage/SQLTransaction.h:
3368
3369 2007-12-06  Steve Falkenburg  <sfalken@apple.com>
3370
3371         <rdar://problem/5614257> Crash in timer / hashtable code due to uncaught exception
3372         
3373         Don't use callback-based timers, since these cause Windows to eat Windows crashes
3374         in code the timers call.
3375         
3376         Windows appears to be defending against "shatter" attacks partially by setting
3377         up a structured exception block while dispatching callback-based WM_TIMERs.
3378         
3379         I verified this by adding a divide by zero into some timer callback code.
3380         In the case where the timer was dispatched via a callback, the divide by zero
3381         exception was silently handled and ignored, with execution continuing after
3382         our call to DispatchMessage.  When processed via the WNDPROC, no SEH
3383         block was established by Windows, and our divide by zero generated a real
3384         crash (which is what we wanted).
3385         
3386         Windows handling our crashes for us led us to leave the timer data structures
3387         in an invalid state so the next time a timer was set, we'd crash accessing an
3388         invalid HashMap of timer data.
3389         
3390         Reviewed by Hyatt.
3391
3392         * platform/win/SharedTimerWin.cpp:
3393         (WebCore::TimerWindowWndProc):
3394         (WebCore::setSharedTimerFireTime):
3395
3396 2007-12-06  Adam Roben  <aroben@apple.com>
3397
3398         Fix <rdar://5108390> Feed title is too low in blue banner
3399
3400         Way back in r23069 we started applying the same font ascent hack that
3401         Mac WebKit applies to Helvetica, Times, and Courier. We did this so
3402         that those fonts would match the Mac metrics when we run the
3403         regression tests. However, this hack was applying to Arial on Windows
3404         when a site would specify the Helvetica font face because Windows will
3405         alias the font names. Instead of removing the hack entirely, we
3406         turn it off by default but provide some SPI so that DumpRenderTree can
3407         turn it on.
3408
3409         Reviewed by Hyatt.
3410
3411         All tests pass.
3412
3413         * platform/graphics/FontData.h: Add a new static method to turn on the
3414         hack on Windows only.
3415         * platform/graphics/win/FontDataWin.cpp:
3416         (WebCore::FontData::setShouldApplyMacAscentHack): Added.
3417         (WebCore::FontData::platformInit): Only perform the hack if
3418         shouldApplyMacAscentHack is true.
3419
3420 2007-12-06  Geoffrey Garen  <ggaren@apple.com>
3421
3422         Reviewed by Sam Weinig.
3423
3424         Fixed http://bugs.webkit.org/show_bug.cgi?id=16328
3425         REGRESSION (r28470): Crash expanding a GMail conversation
3426         
3427         * page/Frame.cpp:
3428         (WebCore::Frame::scriptProxy): Only return 0 if JS seems disabled *and*
3429         we haven't created the proxy yet. If we've created the proxy already, a
3430         script may be in the midst of execution, even though we've lost our
3431         settings object. During execution, scripts assume they have free access
3432         to the proxy.
3433
3434 2007-12-06  Adele Peterson  <adele@apple.com>
3435
3436         Reviewed by Oliver.
3437
3438         Fix for <rdar://problem/5631356> Toggling display property on video causes controls to get lost
3439
3440         * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::attach): Call updateFromElement.
3441         * html/HTMLMediaElement.h:
3442
3443 2007-12-05  Antti Koivisto  <antti@apple.com>
3444
3445         Reviewed by Oliver.
3446
3447         Rename
3448
3449         Movie -> MediaPlayer
3450         MoviePrivate -> MediaPlayerPrivate
3451         
3452         Movie is QuickTime terminology and clashes with its C API.
3453
3454         * WebCore.xcodeproj/project.pbxproj:
3455         * html/HTMLMediaElement.cpp:
3456         (WebCore::HTMLMediaElement::HTMLMediaElement):
3457         (WebCore::HTMLMediaElement::~HTMLMediaElement):
3458         (WebCore::HTMLMediaElement::initAndDispatchProgressEvent):
3459         (WebCore::HTMLMediaElement::bufferingRate):
3460         (WebCore::HTMLMediaElement::load):
3461         (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged):
3462         (WebCore::HTMLMediaElement::mediaPlayerReadyStateChanged):
3463         (WebCore::HTMLMediaElement::setReadyState):
3464         (WebCore::HTMLMediaElement::progressEventTimerFired):
3465         (WebCore::HTMLMediaElement::seek):
3466         (WebCore::HTMLMediaElement::currentTime):
3467         (WebCore::HTMLMediaElement::duration):
3468         (WebCore::HTMLMediaElement::playbackRate):
3469         (WebCore::HTMLMediaElement::setPlaybackRate):
3470         (WebCore::HTMLMediaElement::play):
3471         (WebCore::HTMLMediaElement::pause):
3472         (WebCore::HTMLMediaElement::setVolume):
3473         (WebCore::HTMLMediaElement::setMuted):
3474         (WebCore::HTMLMediaElement::pickMedia):
3475         (WebCore::HTMLMediaElement::checkIfSeekNeeded):
3476         (WebCore::HTMLMediaElement::mediaPlayerVolumeChanged):
3477         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
3478         (WebCore::HTMLMediaElement::mediaPlayerCuePointReached):
3479         (WebCore::HTMLMediaElement::addCuePoint):
3480         (WebCore::HTMLMediaElement::buffered):
3481         (WebCore::HTMLMediaElement::seekable):
3482         (WebCore::HTMLMediaElement::effectiveStart):
3483         (WebCore::HTMLMediaElement::effectiveEnd):
3484         (WebCore::HTMLMediaElement::effectiveLoopStart):
3485         (WebCore::HTMLMediaElement::effectiveLoopEnd):
3486         (WebCore::HTMLMediaElement::updateMediaPlayer):
3487         (WebCore::HTMLMediaElement::willSaveToCache):
3488         * html/HTMLMediaElement.h:
3489         (WebCore::HTMLMediaElement::player):
3490         * html/HTMLVideoElement.cpp:
3491         (WebCore::HTMLVideoElement::videoWidth):
3492         (WebCore::HTMLVideoElement::videoHeight):
3493         * platform/MIMETypeRegistry.cpp:
3494         (WebCore::initialiseSupportedMediaMIMETypes):
3495         (WebCore::MIMETypeRegistry::isSupportedMediaMIMEType):
3496         (WebCore::MIMETypeRegistry::getSupportedMediaMIMETypes):
3497         * platform/MIMETypeRegistry.h:
3498         * platform/graphics/MediaPlayer.cpp: Copied from WebCore/platform/graphics/Movie.cpp.
3499         (WebCore::MediaPlayer::MediaPlayer):
3500         (WebCore::MediaPlayer::~MediaPlayer):
3501         (WebCore::MediaPlayer::load):
3502         (WebCore::MediaPlayer::cancelLoad):
3503         (WebCore::MediaPlayer::play):
3504         (WebCore::MediaPlayer::pause):
3505         (WebCore::MediaPlayer::duration):
3506         (WebCore::MediaPlayer::currentTime):
3507         (WebCore::MediaPlayer::seek):
3508         (WebCore::MediaPlayer::paused):
3509         (WebCore::MediaPlayer::seeking):
3510         (WebCore::MediaPlayer::naturalSize):
3511         (WebCore::MediaPlayer::hasVideo):
3512         (WebCore::MediaPlayer::networkState):
3513         (WebCore::MediaPlayer::readyState):
3514         (WebCore::MediaPlayer::volume):
3515         (WebCore::MediaPlayer::setVolume):
3516         (WebCore::MediaPlayer::rate):
3517         (WebCore::MediaPlayer::setRate):
3518         (WebCore::MediaPlayer::muted):
3519         (WebCore::MediaPlayer::setMuted):
3520         (WebCore::MediaPlayer::dataRate):
3521         (WebCore::MediaPlayer::setEndTime):
3522         (WebCore::MediaPlayer::addCuePoint):
3523         (WebCore::MediaPlayer::removeCuePoint):
3524         (WebCore::MediaPlayer::clearCuePoints):
3525         (WebCore::MediaPlayer::maxTimeBuffered):
3526         (WebCore::MediaPlayer::maxTimeSeekable):
3527         (WebCore::MediaPlayer::bytesLoaded):
3528         (WebCore::MediaPlayer::totalBytesKnown):
3529         (WebCore::MediaPlayer::totalBytes):
3530         (WebCore::MediaPlayer::setRect):
3531         (WebCore::MediaPlayer::visible):
3532         (WebCore::MediaPlayer::setVisible):
3533         (WebCore::MediaPlayer::paint):
3534         (WebCore::MediaPlayer::getSupportedTypes):
3535         (WebCore::MediaPlayer::networkStateChanged):
3536         (WebCore::MediaPlayer::readyStateChanged):
3537         (WebCore::MediaPlayer::volumeChanged):
3538         (WebCore::MediaPlayer::timeChanged):
3539         (WebCore::MediaPlayer::cuePointReached):
3540         * platform/graphics/MediaPlayer.h: Copied from WebCore/platform/graphics/Movie.h.