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