2008-10-20 David Hyatt <hyatt@apple.com>
[WebKit-https.git] / WebCore / ChangeLog
1 2008-10-20  David Hyatt  <hyatt@apple.com>
2
3         Move Length to platform/.
4
5         Reviewed by Adam Roben
6
7         * GNUmakefile.am:
8         * WebCore.pro:
9         * WebCore.vcproj/WebCore.vcproj:
10         * WebCore.xcodeproj/project.pbxproj:
11         * WebCoreSources.bkl:
12         * platform/Length.cpp: Copied from rendering/Length.cpp.
13         * platform/Length.h: Copied from rendering/Length.h.
14
15 2008-10-20  Darin Adler  <darin@apple.com>
16
17         - try to fix Qt build
18
19         * bridge/qt/qt_runtime.cpp:
20         (JSC::Bindings::QtRuntimeMetaMethod::connectGetter): Add asObject calls.
21         (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter): Ditto.
22
23 2008-10-20  Darin Adler  <darin@apple.com>
24
25         - try to fix Qt build
26
27         * bridge/qt/qt_instance.cpp:
28         (JSC::Bindings::QtInstance::mark): Use JSValue* instead of JSValuePtr.
29         (JSC::Bindings::QtField::valueFromInstance): Ditto.
30         * bridge/qt/qt_instance.h: Ditto.
31
32 2008-10-20  Darin Adler  <darin@apple.com>
33
34         - try to fix Tiger build
35
36         * bridge/objc/objc_instance.mm:
37         (ObjcInstance::invokeMethod): Add a const_cast to remove the unwanted
38         volatile qualifier.
39         (ObjcInstance::invokeDefaultMethod): Ditto.
40         (ObjcInstance::getValueOfUndefinedField): Ditto.
41         * bridge/objc/objc_runtime.mm:
42         (JSC::Bindings::ObjcField::valueFromInstance): Ditto.
43
44 2008-10-20  Alexey Proskuryakov  <ap@webkit.org>
45
46         Reviewed by Darin Adler.
47
48         https://bugs.webkit.org/show_bug.cgi?id=21750
49         Eliminate the notion of "temporary events"
50
51         We mark some events as temporary when dispatching, for the sole reason of
52         manually calling forgetDOMObject when done dispatching.
53
54         There doesn't seem to be any reason to call it manually, as JSEvent destructor
55         will do this automatically right away.
56
57         * bindings/js/ScriptController.cpp:
58         * bindings/js/ScriptController.h:
59         Removed ScriptController::finishedWithEvent(), which was called after dispatching
60         a temporary event.
61
62         * dom/ContainerNode.cpp:
63         (WebCore::dispatchChildInsertionEvents):
64         (WebCore::dispatchChildRemovalEvents):
65         * dom/EventTarget.h:
66         * dom/EventTargetNode.cpp:
67         (WebCore::EventTargetNode::dispatchEvent):
68         (WebCore::EventTargetNode::dispatchGenericEvent):
69         (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent):
70         (WebCore::EventTargetNode::dispatchWindowEvent):
71         (WebCore::EventTargetNode::dispatchUIEvent):
72         (WebCore::EventTargetNode::dispatchKeyEvent):
73         (WebCore::EventTargetNode::dispatchMouseEvent):
74         (WebCore::EventTargetNode::dispatchWheelEvent):
75         (WebCore::EventTargetNode::dispatchWebKitAnimationEvent):
76         (WebCore::EventTargetNode::dispatchWebKitTransitionEvent):
77         (WebCore::EventTargetNode::dispatchEventForType):
78         (WebCore::EventTargetNode::dispatchProgressEvent):
79         (WebCore::EventTargetNode::dispatchStorageEvent):
80         * dom/EventTargetNode.h:
81         * dom/MessagePort.cpp:
82         (WebCore::MessagePort::dispatchMessages):
83         (WebCore::MessagePort::dispatchCloseEvent):
84         (WebCore::MessagePort::dispatchEvent):
85         * dom/MessagePort.h:
86         * editing/Editor.cpp:
87         (WebCore::Editor::dispatchCPPEvent):
88         (WebCore::dispatchEditableContentChangedEvents):
89         * editing/ReplaceSelectionCommand.cpp:
90         (WebCore::ReplacementFragment::ReplacementFragment):
91         * editing/TypingCommand.cpp:
92         (WebCore::TypingCommand::insertText):
93         * loader/appcache/DOMApplicationCache.cpp:
94         (WebCore::DOMApplicationCache::dispatchEvent):
95         (WebCore::DOMApplicationCache::callListener):
96         * loader/appcache/DOMApplicationCache.h:
97         * page/EventHandler.cpp:
98         (WebCore::EventHandler::dispatchDragEvent):
99         (WebCore::EventHandler::keyEvent):
100         (WebCore::EventHandler::handleTextInputEvent):
101         * page/FrameView.cpp:
102         (WebCore::FrameView::scheduleEvent):
103         (WebCore::FrameView::updateOverflowStatus):
104         (WebCore::FrameView::dispatchScheduledEvents):
105         * page/FrameView.h:
106         * rendering/RenderLayer.cpp:
107         (WebCore::RenderLayer::scrollToOffset):
108         (WebCore::RenderLayer::updateOverflowStatus):
109         * svg/SVGElement.cpp:
110         (WebCore::SVGElement::sendSVGLoadEventIfPossible):
111         * svg/SVGElementInstance.cpp:
112         (WebCore::SVGElementInstance::dispatchEvent):
113         * svg/SVGElementInstance.h:
114         * xml/XMLHttpRequest.cpp:
115         (WebCore::XMLHttpRequest::dispatchEvent):
116         (WebCore::XMLHttpRequest::dispatchReadyStateChangeEvent):
117         (WebCore::XMLHttpRequest::dispatchXMLHttpRequestProgressEvent):
118         * xml/XMLHttpRequest.h:
119         * xml/XMLHttpRequestUpload.cpp:
120         (WebCore::XMLHttpRequestUpload::dispatchEvent):
121         (WebCore::XMLHttpRequestUpload::dispatchXMLHttpRequestProgressEvent):
122         * xml/XMLHttpRequestUpload.h:
123         Don't pass the tempEvent boolean around.
124
125 2008-10-20  Alp Toker  <alp@nuanti.com>
126
127         Remove unused includes only. Partial GTK+/Win build fix.
128
129         * platform/graphics/gtk/SimpleFontDataPango.cpp:
130
131 2008-10-20  Alexey Proskuryakov  <ap@webkit.org>
132
133         Reviewed by Oliver Hunt.
134
135         https://bugs.webkit.org/show_bug.cgi?id=21705
136         Implement Web Workers client-side API
137
138         The implementation is experimental, and disabled by default. It doesn't quite match the
139         published draft, being influenced by further WHATWG discussions.
140
141         This only implements the client-side API, and does not actually create any threads or
142         global contexts yet.
143
144         * DerivedSources.make: Added DedicatedWorker. SharedWorker is not implemented yet, as I'm
145         still not sure if having separate classes for these helps at all.
146
147         * WebCore.xcodeproj/project.pbxproj: Added new files.
148
149         * bindings/js/JSDOMWindowBase.cpp:
150         (jsDOMWindowBaseWorker):
151         (WebCore::JSDOMWindowBase::put):
152         (setJSDOMWindowBaseWorker):
153         Added window.Worker constructor. Moved JSXSLTProcessorConstructor.h include out of ifdef
154         to match prevailing style.
155
156         * bindings/js/JSDedicatedWorkerConstructor.cpp: Added.
157         * bindings/js/JSDedicatedWorkerConstructor.h: Added.
158         * bindings/js/JSDedicatedWorkerCustom.cpp: Added.
159         The implementation of event listeners are left custom intentionally, for easier implementation
160         of listeners that are not tied to any Document in the future.
161
162         * dom/DedicatedWorker.cpp: Added.
163         * dom/DedicatedWorker.h: Added.
164         * dom/DedicatedWorker.idl: Added.
165         Added an implementation that can only load requested scripts for now.
166
167 2008-10-19  Darin Adler  <darin@apple.com>
168
169         Reviewed by Dan Bernstein.
170
171         - fix assertion seen when opening inspector
172
173         * bindings/js/JSQuarantinedObjectWrapper.cpp:
174         (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot):
175         Removed unneeded asObject cast.
176
177 2008-10-19  Dan Bernstein  <mitz@apple.com>
178
179         Rubber-stamped by Timothy Hatcher.
180
181         - remove empty directories and correct the MIME type of inspector images
182
183         * page/inspector: Removed.
184         * page/inspector/Images: Removed.
185
186 2008-10-19  Timothy Hatcher  <timothy@apple.com>
187
188         Make the Web Inspector Resources panel open quicker and change graphs
189         faster. There was some accidental n^2 logic at fault when updating the
190         graph boundaries.
191
192         https://bugs.webkit.org/show_bug.cgi?id=21742
193
194         Reviewed by Darin Adler.
195
196         * inspector/front-end/ResourcesPanel.js:
197         (WebInspector.ResourcesPanel.prototype.set calculator): Return early for
198         a null calculator. Remove the second argument passed to _refreshAllResources.
199         (WebInspector.ResourcesPanel.prototype.refresh): Call updateBoundaries on
200         the calculator for all the stale resources before calling refreshResource.
201         Pass true for the first argument of refreshResource to skip the boundary update.
202         (WebInspector.ResourcesPanel.prototype._updateGraphBoundariesIfNeeded): Remove
203         the second argument passed to _refreshAllResources.
204         (WebInspector.ResourcesPanel.prototype._refreshAllResourcesSoon): Remove the
205         skipSort argument since every passed true, and it would be bad to pass false.
206         (WebInspector.ResourcesPanel.prototype._refreshAllResources): Ditto. And if
207         skipBoundaryUpdate is false, call updateBoundaries on the calculator for all
208         the resources before calling refreshResource. Pass true for the first argument
209         of refreshResource to skip the boundary update.
210
211 2008-10-19  Timothy Hatcher  <timothy@apple.com>
212
213         Visually distinguish resources that loaded from the memory cache.
214
215         https://bugs.webkit.org/show_bug.cgi?id=14279
216
217         Reviewed by Dan Bernstein.
218
219         * English.lproj/localizedStrings.js: New string.
220         * inspector/front-end/Images/timelineHollowPillBlue.png: Added.
221         * inspector/front-end/Images/timelineHollowPillGray.png: Added.
222         * inspector/front-end/Images/timelineHollowPillGreen.png: Added.
223         * inspector/front-end/Images/timelineHollowPillOrange.png: Added.
224         * inspector/front-end/Images/timelineHollowPillPurple.png: Added.
225         * inspector/front-end/Images/timelineHollowPillRed.png: Added.
226         * inspector/front-end/Images/timelineHollowPillYellow.png: Added.
227         * inspector/front-end/ResourcesPanel.js:
228         (WebInspector.ResourceCalculator.prototype.computeBarGraphLabels):
229         Add the "(from cache)" suffix to the tooltip.
230         (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels):
231         Add the "(from cache)" suffix to the tooltip.
232         (WebInspector.ResourceGraph): Add the "resource-cached" class.
233         * inspector/front-end/inspector.css: New styles to make the timeline
234         bars use the hollow pill images.
235
236 2008-10-19  Timothy Hatcher  <timothy@apple.com>
237
238         Update the scroll position in the Resources panel when loading
239         a new page or toggling on small resource rows.
240
241         https://bugs.webkit.org/show_bug.cgi?id=20114
242
243         Reviewed by Darin Adler.
244
245         * inspector/front-end/ResourcesPanel.js:
246         (WebInspector.ResourcesPanel.prototype.reset): Scroll to the top,
247         since all the resource are being removed.
248         (WebInspector.ResourcesPanel.prototype.removeResource): Call
249         _adjustScrollPosition in case the view is shorter and needs scrolled.
250         (WebInspector.ResourcesPanel.prototype._toggleLargerResources): Ditto.
251         (WebInspector.ResourcesPanel.prototype._adjustScrollPosition): Check
252         the height of the sidebar against the scrollTop and height of the
253         resourcesContainerElement. If the sidebar is shorter, scroll up
254         so the last resource is at the bottom again.
255
256 2008-10-19  Timothy Hatcher  <timothy@apple.com>
257
258         Show per resource times and sizes when hovering over the bar graph for a resource.
259
260         https://bugs.webkit.org/show_bug.cgi?id=14300
261         rdar://problem/5712802
262
263         Reviewed by Cameron Zwarich.
264
265         * English.lproj/localizedStrings.js: Add new strings.
266         * inspector/front-end/Images/graphLabelCalloutLeft.png: Added.
267         * inspector/front-end/Images/graphLabelCalloutRight.png: Added.
268         * inspector/front-end/ResourcesPanel.js:
269         (WebInspector.ResourcesPanel.prototype.refreshResource): Pass the calculator to the
270         ResourceGraph.refresh function.
271         (WebInspector.ResourceCalculator.prototype.computeBarGraphLabels): Default implementation
272         returns the formatted value.
273         (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels): Return discrete values
274         for the latency and download times. Also generate a custom tooltip.
275         (WebInspector.ResourceGraph): Add a mouseover event listener that calls refreshLabelPositions.
276         (WebInspector.ResourceGraph.prototype.refreshLabelPositions): Added. Updates the label positions
277         in case the bar has changed size.
278         (WebInspector.ResourceGraph.prototype.refresh): Set the label text and tooltips.
279         * inspector/front-end/inspector.css: New styles for the labels.
280
281 2008-10-19  Darin Adler  <darin@apple.com>
282
283         Reviewed by Oliver Hunt.
284
285         - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
286           improve performance by eliminating JSValue as a base class for JSCell
287
288         Remove most uses of JSValue, which will be removed in a future patch.
289
290         * bindings/js/JSCustomXPathNSResolver.h: Removed declaration of JSValue
291         and used JSValuePtr instead.
292         * bindings/js/JSEventTarget.h: Ditto.
293         * bindings/js/JSNodeFilterCondition.h: Ditto.
294         * bindings/js/ScheduledAction.h: Ditto.
295         * bindings/js/ScriptController.h: Ditto.
296         * bindings/objc/WebScriptObjectPrivate.h: Ditto.
297         * bridge/c/c_utility.h: Ditto.
298         * bridge/jni/jni_jsobject.h: Ditto.
299         * bridge/jni/jni_utility.h: Ditto.
300         * bridge/objc/WebScriptObject.h: Ditto.
301         * dom/Traversal.h: Ditto.
302         * inspector/InspectorController.cpp: Ditto.
303         * inspector/JavaScriptProfile.h: Ditto.
304         * inspector/JavaScriptProfileNode.h: Ditto.
305         * loader/FrameLoader.h: Ditto.
306         * page/Console.h: Ditto.
307         * plugins/MimeTypeArray.h: Ditto.
308         * plugins/Plugin.h: Ditto.
309         * plugins/PluginArray.h: Ditto.
310         * plugins/PluginView.cpp:
311         (WebCore::getString): Ditto.
312         (WebCore::PluginView::performRequest): Ditto.
313         * plugins/gtk/PluginViewGtk.cpp: Ditto.
314         * plugins/qt/PluginViewQt.cpp: Ditto.
315         * plugins/win/PluginViewWin.cpp: Ditto.
316
317         * bridge/qt/qt_class.cpp:
318         (JSC::Bindings::QtClass::fallbackObject): Use JSValuePtr and JSObject*
319         instead of JSValue*.
320         * bridge/qt/qt_class.h: Ditto.
321         * bridge/qt/qt_instance.cpp:
322         (JSC::Bindings::QtInstance::mark): Ditto.
323         (JSC::Bindings::QtInstance::invokeMethod): Ditto.
324         (JSC::Bindings::QtInstance::defaultValue): Ditto.
325         (JSC::Bindings::QtInstance::stringValue): Ditto.
326         (JSC::Bindings::QtInstance::numberValue): Ditto.
327         (JSC::Bindings::QtInstance::booleanValue): Ditto.
328         (JSC::Bindings::QtInstance::valueOf): Ditto.
329         (JSC::Bindings::QtField::valueFromInstance): Ditto.
330         (JSC::Bindings::QtField::setValueToInstance): Ditto.
331         * bridge/qt/qt_instance.h: Ditto.
332         * bridge/qt/qt_runtime.cpp: Ditto.
333         (JSC::Bindings::valueRealType): Ditto.
334         (JSC::Bindings::convertValueToQVariant): Ditto.
335         (JSC::Bindings::convertQVariantToValue): Ditto.
336         (JSC::Bindings::findMethodIndex): Ditto.
337         (JSC::Bindings::QtRuntimeMetaMethod::call): Ditto.
338         (JSC::Bindings::QtRuntimeMetaMethod::lengthGetter): Ditto.
339         (JSC::Bindings::QtRuntimeMetaMethod::connectGetter): Ditto.
340         (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter): Ditto.
341         (JSC::Bindings::QtRuntimeConnectionMethod::call): Ditto.
342         (JSC::Bindings::QtRuntimeConnectionMethod::lengthGetter): Ditto.
343         (JSC::Bindings::QtArray::setValueAt): Ditto.
344         (JSC::Bindings::QtArray::valueAt): Ditto.
345         * bridge/qt/qt_runtime.h: Ditto.
346
347         * bridge/testqtbindings.cpp:
348         (main): Use JSValuePtr.
349
350 2008-10-18  Darin Adler  <darin@apple.com>
351
352         Reviewed by Oliver Hunt.
353
354         - next step of https://bugs.webkit.org/show_bug.cgi?id=21732
355           improve performance by eliminating JSValue as a base class for JSCell
356
357         Tweak a little more to get closer to where we can make JSValuePtr a class.
358
359         * bindings/js/JSAudioConstructor.cpp:
360         (WebCore::JSAudioConstructor::JSAudioConstructor): Use asObject.
361         (WebCore::constructAudio): Ditto.
362         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
363         (WebCore::JSCSSStyleDeclaration::nameGetter): Ditto.
364
365         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
366         (WebCore::toHTMLCanvasStyle): Use asString and asObject.
367         (WebCore::JSCanvasRenderingContext2D::setFillColor): Ditto.
368         (WebCore::JSCanvasRenderingContext2D::setStrokeColor): Ditto.
369         (WebCore::JSCanvasRenderingContext2D::drawImage): Ditto.
370         (WebCore::JSCanvasRenderingContext2D::drawImageFromRect): Ditto.
371         (WebCore::JSCanvasRenderingContext2D::setShadow): Ditto.
372         (WebCore::JSCanvasRenderingContext2D::createPattern): Ditto.
373
374         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
375         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): Use JSValuePtr.
376
377         * bindings/js/JSDOMBinding.cpp:
378         (WebCore::setDOMException): Use noValue.
379
380         * bindings/js/JSDOMBinding.h:
381         (WebCore::getDOMPrototype): Use asObject.
382
383         * bindings/js/JSDOMWindowBase.cpp:
384         (WebCore::showModalDialog): Use noValue.
385         (jsDOMWindowBaseEvent): Use asObject.
386         (jsDOMWindowBaseImage): Ditto.
387         (jsDOMWindowBaseMessageChannel): Ditto.
388         (jsDOMWindowBaseOption): Ditto.
389         (jsDOMWindowBaseXMLHttpRequest): Ditto.
390         (jsDOMWindowBaseAudio): Ditto.
391         (jsDOMWindowBaseXSLTProcessor): Ditto.
392         (WebCore::JSDOMWindowBase::childFrameGetter): Ditto.
393         (WebCore::JSDOMWindowBase::indexGetter): Ditto.
394         (WebCore::JSDOMWindowBase::namedItemGetter): Ditto.
395         (WebCore::JSDOMWindowBase::getOwnPropertySlot): Ditto.
396         (WebCore::JSDOMWindowBase::findJSEventListener): Ditto.
397         (WebCore::JSDOMWindowBase::findOrCreateJSEventListener): Ditto.
398         (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener): Ditto.
399         (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener): Ditto.
400         (windowProtoFuncOpen): Use noValue.
401         (WebCore::toJSDOMWindow): Use asObject.
402
403         * bindings/js/JSDOMWindowCustom.cpp:
404         (WebCore::setTimeoutOrInterval): Use asString.
405         (WebCore::toDOMWindow): Use asObject.
406
407         * bindings/js/JSEventListener.cpp:
408         (WebCore::JSAbstractEventListener::handleEvent): Use noValue.
409         (WebCore::JSLazyEventListener::parseCode): Use asObject.
410
411         * bindings/js/JSHTMLCollectionCustom.cpp:
412         (WebCore::JSHTMLCollection::nameGetter): Use asObject.
413         * bindings/js/JSHTMLDocumentCustom.cpp:
414         (WebCore::JSHTMLDocument::nameGetter): Ditto.
415         * bindings/js/JSHTMLElementCustom.cpp:
416         (WebCore::JSHTMLElement::pushEventHandlerScope): Ditto.
417         * bindings/js/JSHTMLFormElementCustom.cpp:
418         (WebCore::JSHTMLFormElement::nameGetter): Ditto.
419         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
420         (WebCore::JSHTMLFrameSetElement::nameGetter): Ditto.
421         * bindings/js/JSHTMLOptionElementConstructor.cpp:
422         (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor): Ditto.
423         (WebCore::constructHTMLOptionElement): Ditto.
424         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
425         (WebCore::JSHTMLOptionsCollection::remove): Ditto.
426         * bindings/js/JSImageConstructor.cpp:
427         (WebCore::JSImageConstructor::JSImageConstructor): Ditto.
428         (WebCore::constructImage): Ditto.
429         * bindings/js/JSInspectedObjectWrapper.cpp:
430         (WebCore::JSInspectedObjectWrapper::wrap): Ditto.
431         * bindings/js/JSInspectorCallbackWrapper.cpp:
432         (WebCore::JSInspectorCallbackWrapper::wrap): Ditto.
433
434         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
435         (WebCore::JSJavaScriptCallFrame::evaluate): Use noValue.
436
437         * bindings/js/JSMessageChannelConstructor.cpp:
438         (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): Use asObject.
439         (WebCore::JSMessageChannelConstructor::construct): Ditto.
440         * bindings/js/JSMimeTypeArrayCustom.cpp:
441         (WebCore::JSMimeTypeArray::nameGetter): Ditto.
442         * bindings/js/JSNamedNodeMapCustom.cpp:
443         (WebCore::JSNamedNodeMap::nameGetter): Ditto.
444         * bindings/js/JSNamedNodesCollection.cpp:
445         (WebCore::JSNamedNodesCollection::lengthGetter): Ditto.
446         (WebCore::JSNamedNodesCollection::indexGetter): Ditto.
447         * bindings/js/JSNodeFilterCustom.cpp:
448         (WebCore::toNodeFilter): Ditto.
449         * bindings/js/JSNodeListCustom.cpp:
450         (WebCore::JSNodeList::nameGetter): Ditto.
451         * bindings/js/JSPluginArrayCustom.cpp:
452         (WebCore::JSPluginArray::nameGetter): Ditto.
453         * bindings/js/JSPluginCustom.cpp:
454         (WebCore::JSPlugin::nameGetter): Ditto.
455         * bindings/js/JSPluginElementFunctions.cpp:
456         (WebCore::runtimeObjectGetter): Ditto.
457         (WebCore::runtimeObjectPropertyGetter): Ditto.
458         * bindings/js/JSQuarantinedObjectWrapper.cpp:
459         (WebCore::JSQuarantinedObjectWrapper::asWrapper): Ditto.
460         (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot): Ditto.
461         (WebCore::JSQuarantinedObjectWrapper::construct): Ditto.
462         * bindings/js/JSRGBColor.cpp:
463         (jsRGBColorRed): Ditto.
464         (jsRGBColorGreen): Ditto.
465         (jsRGBColorBlue): Ditto.
466
467         * bindings/js/JSSQLResultSetRowListCustom.cpp:
468         (WebCore::JSSQLResultSetRowList::item): Use noValue.
469
470         * bindings/js/JSStorageCustom.cpp:
471         (WebCore::JSStorage::nameGetter): Use asObject.
472         (WebCore::JSStorage::deleteProperty): Ditto.
473         (WebCore::JSStorage::customPut): Ditto.
474         * bindings/js/JSStyleSheetListCustom.cpp:
475         (WebCore::JSStyleSheetList::nameGetter): Ditto.
476         * bindings/js/JSXMLHttpRequestConstructor.cpp:
477         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): Ditto.
478         * bindings/js/JSXSLTProcessorCustom.cpp:
479         (WebCore::JSXSLTProcessor::importStylesheet): Ditto.
480         (WebCore::JSXSLTProcessor::transformToFragment): Ditto.
481         (WebCore::JSXSLTProcessor::transformToDocument): Ditto.
482
483         * bindings/js/ScriptController.cpp:
484         (WebCore::ScriptController::evaluate): Use noValue.
485         * bindings/objc/DOMInternal.mm:
486         (-[WebScriptObject _initializeScriptDOMNodeImp]): Ditto.
487
488         * bindings/objc/WebScriptObject.mm:
489         (-[WebScriptObject evaluateWebScript:]): Use JSValuePtr.
490         (-[WebScriptObject valueForKey:]): Ditto.
491         (-[WebScriptObject webScriptValueAtIndex:]): Ditto.
492         (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
493         Use asObject and asString.
494
495         * bindings/scripts/CodeGeneratorJS.pm: Use asObject.
496
497         * bridge/c/c_instance.h: Use JSValuePtr.
498         * bridge/c/c_runtime.cpp:
499         (JSC::Bindings::CField::setValueToInstance): Ditto.
500
501         * bridge/c/c_utility.cpp:
502         (JSC::Bindings::convertValueToNPVariant): Use asObject.
503
504         * bridge/jni/jni_instance.cpp:
505         (JavaInstance::booleanValue): Use JSValuePtr.
506         (JavaInstance::invokeMethod): Ditto. And noValue.
507         * bridge/jni/jni_jsobject.mm:
508         (JavaJSObject::getSlot): Ditto.
509         (JavaJSObject::convertValueToJObject): Ditto.
510         * bridge/jni/jni_runtime.cpp:
511         (JavaField::dispatchValueFromInstance): Ditto.
512         (JavaField::valueFromInstance): Ditto.
513         (JavaField::dispatchSetValueToInstance): Ditto.
514         (JavaField::setValueToInstance): Ditto.
515         (JavaArray::setValueAt): Ditto.
516         (JavaArray::valueAt): Ditto.
517         * bridge/jni/jni_runtime.h: Ditto.
518
519         * bridge/jni/jni_utility.cpp:
520         (JSC::Bindings::convertArrayInstanceToJavaArray): Take a JSArray*
521         instead of a JSValue*.
522         (JSC::Bindings::convertValueToJValue): Use asObject and asArray.
523
524         * bridge/objc/objc_class.h: Use JSValuePtr.
525         * bridge/objc/objc_instance.h: Ditto.
526         * bridge/objc/objc_runtime.h: Ditto.
527
528         * bridge/objc/objc_runtime.mm:
529         (JSC::Bindings::callObjCFallbackObject): Use asObject.
530
531         * bridge/objc/objc_utility.h: Use JSValuePtr.
532         * bridge/objc/objc_utility.mm:
533         (JSC::Bindings::convertValueToObjcValue): Use JSValuePtr and asObject.
534         (JSC::Bindings::convertObjcValueToValue): Use jsUndefined() instead of 0.
535
536         * bridge/runtime.cpp:
537         (JSC::Bindings::Instance::getValueOfField): Use JSValuePtr.
538         (JSC::Bindings::Instance::setValueOfField): Ditto.
539
540         * bridge/runtime_array.cpp:
541         (JSC::RuntimeArray::lengthGetter): Use JSValuePtr and asObject.
542         (JSC::RuntimeArray::indexGetter): Ditto.
543         * bridge/runtime_array.h: Ditto.
544         * bridge/runtime_method.cpp:
545         (JSC::RuntimeMethod::lengthGetter): Ditto.
546         (JSC::callRuntimeMethod): Ditto.
547         * bridge/runtime_object.cpp:
548         (JSC::RuntimeObjectImp::fallbackObjectGetter): Ditto.
549         (JSC::RuntimeObjectImp::fieldGetter): Ditto.
550         (JSC::RuntimeObjectImp::methodGetter): Ditto.
551
552         * loader/FrameLoader.cpp:
553         (WebCore::FrameLoader::executeScript): Use noValue.
554
555         * page/Console.cpp:
556         (WebCore::Console::trace): Use asInternalFunction.
557
558 2008-10-19  Dan Bernstein  <mitz@apple.com>
559
560         Reviewed by Timothy Hatcher.
561
562         - lower the default button repaint frequency
563
564         * rendering/RenderButton.cpp:
565         (WebCore::RenderButton::styleDidChange): Changed the timer interval from
566         0.01 to 0.03.
567
568 2008-10-18  Dan Bernstein  <mitz@apple.com>
569
570         Reviewed by Mark Rowe.
571
572         - Windows build fix
573
574         * rendering/RenderThemeSafari.cpp:
575         (WebCore::RenderThemeSafari::paintMediaFullscreenButton):
576         (WebCore::RenderThemeSafari::paintMediaMuteButton):
577         (WebCore::RenderThemeSafari::paintMediaPlayButton):
578         (WebCore::RenderThemeSafari::paintMediaSeekBackButton):
579         (WebCore::RenderThemeSafari::paintMediaSeekForwardButton):
580         (WebCore::RenderThemeSafari::paintMediaSliderThumb):
581
582 2008-10-18  Dan Bernstein  <mitz@apple.com>
583
584         Reviewed by Sam Weinig.
585
586         - WebCore part of https://bugs.webkit.org/show_bug.cgi?id=21736
587           Long-dead decoded image data make up for most of the object cache's memory use over time
588
589         Add a cache setting for how long decoded image data should be allowed to
590         persist in memory after the image has died. By default, this is set to
591         0, which means "forever".
592
593         * loader/Cache.cpp:
594         (WebCore::Cache::Cache): Initialize m_deadDecodedDataDeletionInterval.
595         * loader/Cache.h:
596         (WebCore::Cache::setDeadDecodedDataDeletionInterval): Added a setter.
597         (WebCore::Cache::deadDecodedDataDeletionInterval): Added a getter.
598         * loader/CachedImage.cpp:
599         (WebCore::CachedImage::CachedImage): Initialize the decoded data
600         deletion timer.
601         (WebCore::CachedImage::decodedDataDeletionTimerFired): Added. Destroys
602         the decoded image data.
603         (WebCore::CachedImage::addClient): Stop the timer if it is active.
604         (WebCore::CachedImage::allClientsRemoved): Start the decoded data
605         deletion timer.
606         * loader/CachedImage.h:
607
608 2008-10-18  Darin Adler  <darin@apple.com>
609
610         Reviewed by Dan Bernstein.
611
612         - fix https://bugs.webkit.org/show_bug.cgi?id=21645
613           REGRESSION (r37469-r37605): File Input not Uploaded in Multipart/Form-data Form
614
615         * html/HTMLFormElement.cpp:
616         (WebCore::HTMLFormElement::formData):
617         Fix loop that goes through the FormDataList to go two at a time in a clearer
618         way. My last patch screwed up the way it got form content from the items.
619         This "two at a time" approach is a confusing way to do things, which explains
620         why I got it wrong last time through, but I decided to just fix it locally for
621         now rather than changing the design of FormDataList.
622
623 2008-10-18  Darin Adler  <darin@apple.com>
624
625         Reviewed by Cameron Zwarich.
626
627         - next step on https://bugs.webkit.org/show_bug.cgi?id=21732
628           improve performance by eliminating JSValue as a base class for JSCell
629
630         Use JSValuePtr everywhere instead of JSValue*. In the future, we'll be
631         changing JSValuePtr to be a class, and then eventually renaming it
632         to JSValue once that's done.
633
634         * bindings/js/JSAttrCustom.cpp:
635         * bindings/js/JSCSSRuleCustom.cpp:
636         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
637         * bindings/js/JSCSSValueCustom.cpp:
638         * bindings/js/JSCanvasPixelArrayCustom.h:
639         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
640         * bindings/js/JSClipboardCustom.cpp:
641         * bindings/js/JSConsoleCustom.cpp:
642         * bindings/js/JSCustomSQLStatementCallback.cpp:
643         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
644         * bindings/js/JSCustomSQLTransactionCallback.cpp:
645         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
646         * bindings/js/JSCustomVoidCallback.cpp:
647         * bindings/js/JSCustomVoidCallback.h:
648         * bindings/js/JSCustomXPathNSResolver.cpp:
649         * bindings/js/JSDOMApplicationCacheCustom.cpp:
650         * bindings/js/JSDOMBinding.cpp:
651         * bindings/js/JSDOMBinding.h:
652         * bindings/js/JSDOMWindowBase.cpp:
653         * bindings/js/JSDOMWindowBase.h:
654         * bindings/js/JSDOMWindowCustom.cpp:
655         * bindings/js/JSDOMWindowCustom.h:
656         * bindings/js/JSDOMWindowShell.cpp:
657         * bindings/js/JSDOMWindowShell.h:
658         * bindings/js/JSDatabaseCustom.cpp:
659         * bindings/js/JSDocumentCustom.cpp:
660         * bindings/js/JSElementCustom.cpp:
661         * bindings/js/JSEventCustom.cpp:
662         * bindings/js/JSEventListener.cpp:
663         * bindings/js/JSEventTarget.cpp:
664         * bindings/js/JSEventTargetBase.h:
665         * bindings/js/JSEventTargetNodeCustom.cpp:
666         * bindings/js/JSHTMLAllCollection.h:
667         * bindings/js/JSHTMLAppletElementCustom.cpp:
668         * bindings/js/JSHTMLCollectionCustom.cpp:
669         * bindings/js/JSHTMLDocumentCustom.cpp:
670         * bindings/js/JSHTMLEmbedElementCustom.cpp:
671         * bindings/js/JSHTMLFormElementCustom.cpp:
672         * bindings/js/JSHTMLFrameElementCustom.cpp:
673         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
674         * bindings/js/JSHTMLIFrameElementCustom.cpp:
675         * bindings/js/JSHTMLInputElementCustom.cpp:
676         * bindings/js/JSHTMLObjectElementCustom.cpp:
677         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
678         * bindings/js/JSHTMLSelectElementCustom.cpp:
679         * bindings/js/JSHTMLSelectElementCustom.h:
680         * bindings/js/JSHistoryCustom.cpp:
681         * bindings/js/JSImageDataCustom.cpp:
682         * bindings/js/JSInspectedObjectWrapper.cpp:
683         * bindings/js/JSInspectedObjectWrapper.h:
684         * bindings/js/JSInspectorCallbackWrapper.cpp:
685         * bindings/js/JSInspectorCallbackWrapper.h:
686         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
687         * bindings/js/JSLocationCustom.cpp:
688         * bindings/js/JSMessagePortCustom.cpp:
689         * bindings/js/JSMimeTypeArrayCustom.cpp:
690         * bindings/js/JSNamedNodeMapCustom.cpp:
691         * bindings/js/JSNamedNodesCollection.cpp:
692         * bindings/js/JSNamedNodesCollection.h:
693         * bindings/js/JSNavigatorCustom.cpp:
694         * bindings/js/JSNodeCustom.cpp:
695         * bindings/js/JSNodeFilterCondition.cpp:
696         * bindings/js/JSNodeFilterCustom.cpp:
697         * bindings/js/JSNodeIteratorCustom.cpp:
698         * bindings/js/JSNodeListCustom.cpp:
699         * bindings/js/JSPluginArrayCustom.cpp:
700         * bindings/js/JSPluginCustom.cpp:
701         * bindings/js/JSPluginElementFunctions.cpp:
702         * bindings/js/JSPluginElementFunctions.h:
703         * bindings/js/JSQuarantinedObjectWrapper.cpp:
704         * bindings/js/JSQuarantinedObjectWrapper.h:
705         * bindings/js/JSRGBColor.cpp:
706         * bindings/js/JSRGBColor.h:
707         * bindings/js/JSSQLResultSetRowListCustom.cpp:
708         * bindings/js/JSSQLTransactionCustom.cpp:
709         * bindings/js/JSSVGElementInstanceCustom.cpp:
710         * bindings/js/JSSVGLengthCustom.cpp:
711         * bindings/js/JSSVGMatrixCustom.cpp:
712         * bindings/js/JSSVGPathSegCustom.cpp:
713         * bindings/js/JSSVGPathSegListCustom.cpp:
714         * bindings/js/JSSVGPointListCustom.cpp:
715         * bindings/js/JSSVGTransformListCustom.cpp:
716         * bindings/js/JSStorageCustom.cpp:
717         * bindings/js/JSStyleSheetCustom.cpp:
718         * bindings/js/JSStyleSheetListCustom.cpp:
719         * bindings/js/JSTextCustom.cpp:
720         * bindings/js/JSTreeWalkerCustom.cpp:
721         * bindings/js/JSXMLHttpRequestCustom.cpp:
722         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
723         * bindings/js/JSXSLTProcessorCustom.cpp:
724         * bindings/js/ScheduledAction.cpp:
725         * bindings/js/ScheduledAction.h:
726         * bindings/js/ScriptController.cpp:
727         * bindings/js/ScriptController.h:
728         * bindings/objc/WebScriptObject.mm:
729         * bindings/scripts/CodeGeneratorJS.pm:
730         * bridge/NP_jsobject.cpp:
731         * bridge/c/c_instance.cpp:
732         * bridge/c/c_instance.h:
733         * bridge/c/c_runtime.cpp:
734         * bridge/c/c_runtime.h:
735         * bridge/c/c_utility.cpp:
736         * bridge/jni/jni_instance.cpp:
737         * bridge/jni/jni_instance.h:
738         * bridge/jni/jni_jsobject.mm:
739         * bridge/jni/jni_objc.mm:
740         * bridge/jni/jni_runtime.cpp:
741         * bridge/jni/jni_runtime.h:
742         * bridge/jni/jni_utility.cpp:
743         * bridge/objc/objc_class.mm:
744         * bridge/objc/objc_instance.h:
745         * bridge/objc/objc_instance.mm:
746         * bridge/objc/objc_runtime.h:
747         * bridge/objc/objc_runtime.mm:
748         * bridge/objc/objc_utility.h:
749         * bridge/objc/objc_utility.mm:
750         * bridge/runtime.h:
751         * bridge/runtime_array.cpp:
752         * bridge/runtime_array.h:
753         * bridge/runtime_method.cpp:
754         * bridge/runtime_method.h:
755         * bridge/runtime_object.cpp:
756         * bridge/runtime_object.h:
757         * inspector/JavaScriptCallFrame.cpp:
758         * inspector/JavaScriptCallFrame.h:
759         * inspector/JavaScriptProfile.cpp:
760         * inspector/JavaScriptProfileNode.cpp:
761         * loader/FrameLoader.cpp:
762         * loader/FrameLoader.h:
763         * page/Console.cpp:
764         * page/Console.h:
765         * plugins/MimeTypeArray.h:
766         * plugins/Plugin.h:
767         * plugins/PluginArray.h:
768         * xml/XMLHttpRequest.cpp:
769         Replace JSValue* with JSValuePtr.
770
771 2008-10-18  Darin Adler  <darin@apple.com>
772
773         Reviewed by Oliver Hunt.
774
775         - first step of https://bugs.webkit.org/show_bug.cgi?id=21732
776           improve performance by eliminating JSValue as a base class for JSCell
777
778         Update for change to make PreferredPrimitiveType no longer
779         a member of JSValue.
780
781         * bridge/c/c_instance.cpp:
782         (JSC::Bindings::CInstance::defaultValue): Removed JSValue:: prefix.
783         * bridge/jni/jni_instance.cpp:
784         (JavaInstance::defaultValue): Ditto.
785         * bridge/objc/objc_instance.mm:
786         (ObjcInstance::defaultValue): Ditto.
787         * bridge/qt/qt_instance.cpp:
788         (JSC::Bindings::QtInstance::defaultValue): Ditto.
789         * bridge/runtime.h: Ditto. Also removed typedef.
790
791 2008-10-18  Darin Adler  <darin@apple.com>
792
793         - try to fix Windows build
794
795         * rendering/RenderThemeSafari.cpp:
796         (WebCore::RenderThemeSafari::paintCheckbox): Explicitly qualify part name with
797         SafariTheme namespace, since there is now an identically named constant in
798         the ControlPart enum.
799         (WebCore::RenderThemeSafari::paintButton): Ditto.
800         (WebCore::RenderThemeSafari::paintTextField): Ditto.
801         (WebCore::RenderThemeSafari::paintTextArea): Ditto.
802         (WebCore::RenderThemeSafari::paintSearchField): Ditto.
803         (WebCore::RenderThemeSafari::paintSearchFieldCancelButton): Ditto.
804         (WebCore::RenderThemeSafari::paintSearchFieldResultsDecoration): Ditto.
805         (WebCore::RenderThemeSafari::paintSearchFieldResultsButton): Ditto.
806
807 2008-10-18  Jan Michael Alonzo  <jmalonzo@webkit.org>
808
809         Reviewed by Alp Toker.
810
811         [GTK] crash after selecting a file on an <input type=file>
812         https://bugs.webkit.org/show_bug.cgi?id=21385
813
814         Follow Mac and Win's behaviors for Icon::paint
815
816         * platform/graphics/gtk/IconGtk.cpp:
817         (WebCore::Icon::paint): check if painting is enabled before
818         painting the icon
819
820 2008-10-18  Zan Dobersek  <zandobersek@gmail.com>
821
822         Reviewed by Oliver Hunt.
823
824         Qt port build fix.
825
826         * platform/qt/RenderThemeQt.h:
827
828 2008-10-17  Kevin Watters  <kevinwatters@gmail.com>
829
830         Reviewed by Kevin Ollivier
831         
832         Fix wx port's scrollbar and drawing handling after recent changes.
833         
834         https://bugs.webkit.org/show_bug.cgi?id=21720
835
836         * platform/ScrollView.h:
837         * platform/wx/ScrollViewWx.cpp:
838         (WebCore::ScrollView::platformVisibleContentRect):
839         (WebCore::ScrollView::platformContentsSize):
840         (WebCore::ScrollView::platformSetContentsSize):
841         * platform/wx/WidgetWx.cpp:
842         (WebCore::Widget::paint):
843
844 2008-10-17  Kevin Ollivier  <kevino@theolliviers.com>
845
846         wx build fix. EAppearance -> ControlPart.
847
848         * platform/wx/RenderThemeWx.cpp:
849         (WebCore::RenderThemeWx::isControlStyled):
850         (WebCore::RenderThemeWx::adjustRepaintRect):
851         (WebCore::RenderThemeWx::controlSupportsTints):
852         (WebCore::RenderThemeWx::supportsFocus):
853         (WebCore::RenderThemeWx::paintButton):
854
855 2008-10-17  David Hyatt  <hyatt@apple.com>
856
857         Eliminate the EAppearance enum in favor of the new ControlPart enum.  Cut out the scrollbar
858         values from the enum since they are handled by ScrollbarTheme instead.
859
860         Reviewed by Tim Hatcher
861
862         * css/CSSPrimitiveValueMappings.h:
863         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
864         (WebCore::CSSPrimitiveValue::operator ControlPart):
865         * css/CSSStyleSelector.cpp:
866         (WebCore::CSSStyleSelector::adjustRenderStyle):
867         * css/CSSValueKeywords.in:
868         * platform/gtk/RenderThemeGtk.cpp:
869         (WebCore::supportsFocus):
870         (WebCore::RenderThemeGtk::baselinePosition):
871         (WebCore::setToggleSize):
872         (WebCore::RenderThemeGtk::setCheckboxSize):
873         (WebCore::RenderThemeGtk::setRadioSize):
874         (WebCore::RenderThemeGtk::adjustButtonStyle):
875         * platform/qt/RenderThemeQt.cpp:
876         (WebCore::RenderThemeQt::baselinePosition):
877         (WebCore::RenderThemeQt::controlSupportsTints):
878         (WebCore::RenderThemeQt::adjustRepaintRect):
879         (WebCore::RenderThemeQt::isControlStyled):
880         (WebCore::computeSizeBasedOnStyle):
881         (WebCore::RenderThemeQt::paintButton):
882         (WebCore::RenderThemeQt::paintTextField):
883         (WebCore::RenderThemeQt::paintMenuList):
884         (WebCore::RenderThemeQt::supportsFocus):
885         (WebCore::RenderThemeQt::applyTheme):
886         (WebCore::RenderThemeQt::adjustSliderThumbSize):
887         * platform/qt/RenderThemeQt.h:
888         * rendering/RenderSlider.cpp:
889         (WebCore::RenderSlider::createThumbStyle):
890         (WebCore::RenderSlider::layout):
891         (WebCore::RenderSlider::setValueForPosition):
892         (WebCore::RenderSlider::setPositionFromValue):
893         (WebCore::RenderSlider::positionForOffset):
894         (WebCore::RenderSlider::currentPosition):
895         (WebCore::RenderSlider::setCurrentPosition):
896         (WebCore::RenderSlider::trackSize):
897         * rendering/RenderTheme.cpp:
898         (WebCore::RenderTheme::adjustStyle):
899         (WebCore::RenderTheme::paint):
900         (WebCore::RenderTheme::paintBorderOnly):
901         (WebCore::RenderTheme::paintDecorations):
902         (WebCore::RenderTheme::isControlContainer):
903         (WebCore::RenderTheme::isControlStyled):
904         (WebCore::RenderTheme::supportsFocusRing):
905         (WebCore::RenderTheme::isDefault):
906         * rendering/RenderTheme.h:
907         * rendering/RenderThemeMac.mm:
908         (WebCore::RenderThemeMac::isControlStyled):
909         (WebCore::RenderThemeMac::adjustRepaintRect):
910         (WebCore::RenderThemeMac::baselinePosition):
911         (WebCore::RenderThemeMac::controlSupportsTints):
912         (WebCore::RenderThemeMac::adjustButtonStyle):
913         (WebCore::RenderThemeMac::setButtonCellState):
914         (WebCore::RenderThemeMac::popupInternalPaddingLeft):
915         (WebCore::RenderThemeMac::popupInternalPaddingRight):
916         (WebCore::RenderThemeMac::popupInternalPaddingTop):
917         (WebCore::RenderThemeMac::popupInternalPaddingBottom):
918         (WebCore::RenderThemeMac::paintSliderTrack):
919         (WebCore::RenderThemeMac::paintSliderThumb):
920         (WebCore::RenderThemeMac::adjustSliderThumbSize):
921         * rendering/RenderThemeSafari.cpp:
922         (WebCore::RenderThemeSafari::isControlStyled):
923         (WebCore::RenderThemeSafari::adjustRepaintRect):
924         (WebCore::RenderThemeSafari::baselinePosition):
925         (WebCore::RenderThemeSafari::controlSupportsTints):
926         (WebCore::RenderThemeSafari::adjustButtonStyle):
927         (WebCore::RenderThemeSafari::popupInternalPaddingLeft):
928         (WebCore::RenderThemeSafari::popupInternalPaddingRight):
929         (WebCore::RenderThemeSafari::popupInternalPaddingTop):
930         (WebCore::RenderThemeSafari::popupInternalPaddingBottom):
931         (WebCore::RenderThemeSafari::paintSliderTrack):
932         (WebCore::RenderThemeSafari::adjustSliderThumbSize):
933         * rendering/RenderThemeWin.cpp:
934         (WebCore::RenderThemeWin::supportsFocus):
935         (WebCore::RenderThemeWin::determineClassicState):
936         (WebCore::RenderThemeWin::getClassicThemeData):
937         (WebCore::RenderThemeWin::getThemeData):
938         (WebCore::drawControl):
939         (WebCore::RenderThemeWin::paintSliderTrack):
940         (WebCore::RenderThemeWin::adjustSliderThumbSize):
941         * rendering/RenderThemeWin.h:
942         * rendering/style/RenderStyle.h:
943         (WebCore::InheritedFlags::hasAppearance):
944         (WebCore::InheritedFlags::appearance):
945         (WebCore::InheritedFlags::setAppearance):
946         (WebCore::InheritedFlags::initialAppearance):
947         * rendering/style/RenderStyleConstants.h:
948
949 2008-10-17  David Hyatt  <hyatt@apple.com>
950
951         Beginning of the RenderTheme re-architecture (to share more code).  Add the new Theme API header
952         file.  Add new USE(NEW_THEME) switch that is enabled on Mac.  The Mac theme will be converted first.
953
954         Reviewed by Tim Hatcher
955
956         * WebCore.vcproj/WebCore.vcproj:
957         * WebCore.xcodeproj/project.pbxproj:
958         * config.h:
959         * platform/Theme.h: Added.
960         (WebCore::Theme::Theme):
961         (WebCore::Theme::~Theme):
962         (WebCore::Theme::baselinePositionAdjustment):
963         (WebCore::Theme::controlHasInactiveAppearance):
964         (WebCore::Theme::controlsCanHaveInactiveAppearance):
965         (WebCore::Theme::controlsCanHaveHoveredAppearance):
966         (WebCore::Theme::controlDrawsBorder):
967         (WebCore::Theme::controlDrawsBackground):
968         (WebCore::Theme::controlDrawsFocusOutline):
969         (WebCore::Theme::selectionColor):
970         (WebCore::Theme::textSearchHighlightColor):
971         (WebCore::Theme::systemColor):
972         (WebCore::Theme::systemFont):
973         (WebCore::Theme::caretBlinkFrequency):
974         (WebCore::Theme::themeChanged):
975         (WebCore::Theme::controlSize):
976         (WebCore::Theme::controlFont):
977         (WebCore::Theme::controlPadding):
978         (WebCore::Theme::controlInternalPadding):
979         (WebCore::Theme::controlBorder):
980         (WebCore::Theme::controlBorderRadius):
981         (WebCore::Theme::paint):
982         (WebCore::Theme::inflateControlPaintRect):
983         * platform/ThemeTypes.h: Added.
984         (WebCore::):
985         (WebCore::ControlBox::ControlBox):
986         (WebCore::ControlBox::top):
987         (WebCore::ControlBox::right):
988         (WebCore::ControlBox::bottom):
989         (WebCore::ControlBox::left):
990         * platform/mac/ThemeMac.h: Added.
991         (WebCore::ThemeMac::ThemeMac):
992         (WebCore::ThemeMac::~ThemeMac):
993         * platform/mac/ThemeMac.mm: Added.
994         (WebCore::platformTheme):
995         * rendering/RenderTheme.cpp:
996         (WebCore::RenderTheme::RenderTheme):
997         * rendering/RenderTheme.h:
998
999 2008-10-17  Marco Barisione  <marco.barisione@collabora.co.uk>
1000
1001         Reviewed by Sam Weinig. Landed by Jan Alonzo.
1002
1003         https://bugs.webkit.org/show_bug.cgi?id=21603
1004         [GTK] Minor fixes to GOwnPtr
1005
1006         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
1007         (WebCore::mediaPlayerPrivateErrorCallback):
1008
1009 2008-10-17  Timothy Hatcher  <timothy@apple.com>
1010
1011         Recompile the JavaScript functions when removing any listener, so functions that are
1012         not being debugged can resume normal speed again.
1013
1014         https://bugs.webkit.org/show_bug.cgi?id=21715
1015
1016         Reviewed by Geoffrey Garen.
1017
1018         * bindings/js/JSDOMWindowBase.cpp:
1019         (WebCore::JSDOMWindowBase::globalExec): Changed an assert into an if check. This assert
1020         was firing when closing the window and having the recompile fire after. This was an
1021         overzelious assert now.
1022         * inspector/JavaScriptDebugServer.cpp:
1023         (WebCore::JavaScriptDebugServer::didRemoveListener): Start the recompile timer.
1024         (WebCore::JavaScriptDebugServer::didRemoveLastListener): Removed the recompile timer start.
1025
1026 2008-10-17  Timothy Hatcher  <timothy@apple.com>
1027
1028         Fixes a regression where starting a debugging session in
1029         another Web Inspector window would not show any scripts.
1030         Also only attach the debugger to only the required Pages.
1031
1032         https://bugs.webkit.org/show_bug.cgi?id=21708
1033
1034         Reviewed by Darin Adler.
1035
1036         * inspector/JavaScriptDebugServer.cpp:
1037         (WebCore::JavaScriptDebugServer::addListener): Add an assert and
1038         remove the call to willAddFirstListener(). Add a call to
1039         didAddListener().
1040         (WebCore::JavaScriptDebugServer::removeListener): Add an assert
1041         and call to didRemoveListener().
1042         (WebCore::JavaScriptDebugServer::pageCreated): Attach the debugger
1043         if there is a listener interested in the new Page.
1044         (WebCore::JavaScriptDebugServer::hasListenersInterestedInPage):
1045         Use hasGlobalListeners() instead of isEmpty().
1046         (WebCore::JavaScriptDebugServer::sourceParsed): Ditto.
1047         (WebCore::JavaScriptDebugServer::didAddListener): Added. Attach the
1048         debugger to the page if non-null, or all pages if page is null.
1049         (WebCore::JavaScriptDebugServer::didRemoveListener): Added. Detach
1050         the debugger only if there are no interested listeners.
1051         (WebCore::JavaScriptDebugServer::didRemoveLastListener): Remove the
1052         call to Page::setDebuggerForAllPages().
1053         * inspector/JavaScriptDebugServer.h:
1054         (WebCore::JavaScriptDebugServer::hasGlobalListeners): Added.
1055
1056 2008-10-15  Brett Wilson  <brettw@chromium.org>
1057
1058         Reviewed by Timothy Hatcher.
1059
1060         Have ImageDocument generate its own filename for the title of images
1061         without relying on the suggested filename from the network layer, which
1062         may be nonexistant or not relevant.
1063         https://bugs.webkit.org/show_bug.cgi?id=21565
1064
1065         * loader/ImageDocument.cpp:
1066         (WebCore::ImageTokenizer::finish):
1067
1068 2008-10-17  Alexey Proskuryakov  <ap@webkit.org>
1069
1070         Non-Mac build fix.
1071
1072         * GNUmakefile.am:
1073         * WebCore.pro:
1074         * WebCore.vcproj/WebCore.vcproj:
1075         * WebCoreSources.bkl:
1076         Added ActiveDOMObject to the build.
1077
1078 2008-10-17  Alexey Proskuryakov  <ap@webkit.org>
1079
1080         Reviewed by Sam Weinig.
1081
1082         https://bugs.webkit.org/show_bug.cgi?id=21642
1083         Abstract out active object tracking
1084
1085         * WebCore.xcodeproj/project.pbxproj:
1086         * bindings/js/JSDOMBinding.cpp:
1087         (WebCore::markActiveObjectsForDocument):
1088         * dom/ActiveDOMObject.cpp: Added.
1089         (WebCore::ActiveDOMObject::ActiveDOMObject):
1090         (WebCore::ActiveDOMObject::~ActiveDOMObject):
1091         (WebCore::ActiveDOMObject::contextDestroyed):
1092         (WebCore::ActiveDOMObject::stop):
1093         * dom/ActiveDOMObject.h: Added.
1094         (WebCore::ActiveDOMObject::document):
1095         (WebCore::ActiveDOMObject::hasPendingActivity):
1096         (WebCore::ActiveDOMObject::setPendingActivity):
1097         (WebCore::ActiveDOMObject::unsetPendingActivity):
1098         * dom/Document.cpp:
1099         (WebCore::Document::~Document):
1100         (WebCore::Document::stopActiveDOMObjects):
1101         (WebCore::Document::createdActiveDOMObject):
1102         (WebCore::Document::destroyedActiveDOMObject):
1103         * dom/Document.h:
1104         (WebCore::Document::activeDOMObjects):
1105         * dom/MessagePort.cpp:
1106         (WebCore::MessagePort::contextDestroyed):
1107         * dom/MessagePort.h:
1108         * loader/FrameLoader.cpp:
1109         (WebCore::FrameLoader::stopLoading):
1110         * xml/XMLHttpRequest.cpp:
1111         (WebCore::XMLHttpRequest::XMLHttpRequest):
1112         (WebCore::XMLHttpRequest::~XMLHttpRequest):
1113         (WebCore::XMLHttpRequest::associatedFrame):
1114         (WebCore::XMLHttpRequest::responseXML):
1115         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
1116         (WebCore::XMLHttpRequest::initSend):
1117         (WebCore::XMLHttpRequest::send):
1118         (WebCore::XMLHttpRequest::createRequest):
1119         (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
1120         (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
1121         (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
1122         (WebCore::XMLHttpRequest::loadRequestSynchronously):
1123         (WebCore::XMLHttpRequest::loadRequestAsynchronously):
1124         (WebCore::XMLHttpRequest::dropProtection):
1125         (WebCore::XMLHttpRequest::setRequestHeader):
1126         (WebCore::XMLHttpRequest::processSyncLoadResults):
1127         (WebCore::XMLHttpRequest::didFinishLoading):
1128         (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
1129         (WebCore::XMLHttpRequest::willSendRequest):
1130         (WebCore::XMLHttpRequest::accessControlCheck):
1131         (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
1132         (WebCore::XMLHttpRequest::stop):
1133         (WebCore::XMLHttpRequest::contextDestroyed):
1134         * xml/XMLHttpRequest.h:
1135         Move activity tracking to a new ActiveDOMObject class.
1136
1137 2008-10-16  David Hyatt  <hyatt@apple.com>
1138
1139         Simplify styleForRenderer to avoid confusion.  Callers in the SVG filter code thought "forRenderer" meant
1140         they would be given a style that corresponded to the RenderObject* passed in.  This is not what the code
1141         did though.  This patch removes the renderer argument and the Element subclass shadow implementation
1142         so that confusion like this can't occur again.
1143
1144         Reviewed by Oliver Hunt
1145
1146         * dom/Element.cpp:
1147         * dom/Element.h:
1148         * dom/Node.cpp:
1149         (WebCore::Node::createRendererIfNeeded):
1150         (WebCore::Node::styleForRenderer):
1151         * dom/Node.h:
1152         * html/HTMLOptGroupElement.cpp:
1153         (WebCore::HTMLOptGroupElement::attach):
1154         * html/HTMLOptionElement.cpp:
1155         (WebCore::HTMLOptionElement::attach):
1156         * svg/SVGClipPathElement.cpp:
1157         (WebCore::SVGClipPathElement::canvasResource):
1158         * svg/SVGFEDiffuseLightingElement.cpp:
1159         (WebCore::SVGFEDiffuseLightingElement::build):
1160         * svg/SVGFEFloodElement.cpp:
1161         (WebCore::SVGFEFloodElement::build):
1162         * svg/SVGFESpecularLightingElement.cpp:
1163         (WebCore::SVGFESpecularLightingElement::build):
1164         * svg/SVGGradientElement.cpp:
1165         (WebCore::SVGGradientElement::buildStops):
1166         * svg/SVGUseElement.cpp:
1167         (WebCore::SVGUseElement::attachShadowTree):
1168
1169 2008-10-16  David Hyatt  <hyatt@apple.com>
1170
1171         https://bugs.webkit.org/attachment.cgi?bugid=21647
1172
1173         Make RenderStyle inherit from RefCounted so that it works with RefPtr.  RenderStyle was being malloced
1174         out of the RenderArena.  Years and years ago (before TCMalloc), the plan was to make RenderStyles and
1175         all their associated sub-structs use the arena.  However only the RenderStyle itself was ever changed
1176         to use the arena.
1177
1178         At a later point style sharing was implemented, which made using the arena for styles pretty pointless,
1179         as the bulk of the styles on a given page are actually shared.  Not ever making the sub-structs use the
1180         arena also limited the usefulness.
1181
1182         Now that we have RefPtr/PassRefPtr to eliminate manual ref/deref and now that we use TCMalloc for fast
1183         mallocs, there is no reason to keep RenderStyles in the arena.  The benefits of being able to eliminate
1184         manual ref/deref far outweigh keeping them in the arena.
1185
1186         Reviewed by Adam Roben
1187
1188         * css/CSSStyleSelector.cpp:
1189         (WebCore::CSSStyleSelector::CSSStyleSelector):
1190         (WebCore::CSSStyleSelector::~CSSStyleSelector):
1191         (WebCore::CSSStyleSelector::styleForElement):
1192         (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
1193         (WebCore::CSSStyleSelector::pseudoStyleForElement):
1194         These methods now return a PassRefPtr.  They will null out the m_style variable as they hand it back
1195         so that it isn't left pointing to the previous style resolve RenderStyle (which is what the old code did).
1196
1197         (WebCore::CSSStyleSelector::updateFont):
1198         (WebCore::CSSStyleSelector::checkSelector):
1199         (WebCore::CSSStyleSelector::applyProperty):
1200         (WebCore::CSSStyleSelector::mapFillSize):
1201         (WebCore::CSSStyleSelector::mapFillXPosition):
1202         (WebCore::CSSStyleSelector::mapFillYPosition):
1203         * css/CSSStyleSelector.h:
1204         (WebCore::CSSStyleSelector::style):
1205         * dom/Document.cpp:
1206         (WebCore::Document::recalcStyle):
1207         * dom/Element.cpp:
1208         (WebCore::Element::styleForRenderer):
1209         (WebCore::Element::recalcStyle):
1210         (WebCore::Element::computedStyle):
1211         * dom/Element.h:
1212         * dom/ElementRareData.h:
1213         (WebCore::ElementRareData::ElementRareData):
1214         (WebCore::ElementRareData::resetComputedStyle):
1215         * dom/Node.cpp:
1216         (WebCore::Node::diff):
1217         (WebCore::Node::createRendererIfNeeded):
1218         (WebCore::Node::styleForRenderer):
1219         (WebCore::Node::setRenderStyle):
1220         * dom/Node.h:
1221         * html/CanvasRenderingContext2D.cpp:
1222         (WebCore::CanvasRenderingContext2D::setFont):
1223         * html/HTMLOptGroupElement.cpp:
1224         (WebCore::HTMLOptGroupElement::attach):
1225         (WebCore::HTMLOptGroupElement::detach):
1226         (WebCore::HTMLOptGroupElement::setRenderStyle):
1227         (WebCore::HTMLOptGroupElement::nonRendererRenderStyle):
1228         * html/HTMLOptGroupElement.h:
1229         * html/HTMLOptionElement.cpp:
1230         (WebCore::HTMLOptionElement::attach):
1231         (WebCore::HTMLOptionElement::detach):
1232         (WebCore::HTMLOptionElement::setRenderStyle):
1233         (WebCore::HTMLOptionElement::nonRendererRenderStyle):
1234         * html/HTMLOptionElement.h:
1235         * page/animation/AnimationBase.h:
1236         (WebCore::AnimationBase::animate):
1237         * page/animation/AnimationController.cpp:
1238         (WebCore::AnimationController::updateAnimations):
1239         * page/animation/AnimationController.h:
1240         * page/animation/CompositeAnimation.cpp:
1241         (WebCore::CompositeAnimationPrivate::updateTransitions):
1242         (WebCore::CompositeAnimationPrivate::updateKeyframeAnimations):
1243         (WebCore::CompositeAnimationPrivate::animate):
1244         (WebCore::CompositeAnimation::animate):
1245         * page/animation/CompositeAnimation.h:
1246         * page/animation/ImplicitAnimation.cpp:
1247         (WebCore::ImplicitAnimation::ImplicitAnimation):
1248         (WebCore::ImplicitAnimation::~ImplicitAnimation):
1249         (WebCore::ImplicitAnimation::animate):
1250         (WebCore::ImplicitAnimation::reset):
1251         (WebCore::ImplicitAnimation::isTargetPropertyEqual):
1252         (WebCore::ImplicitAnimation::blendPropertyValueInStyle):
1253         * page/animation/ImplicitAnimation.h:
1254         (WebCore::ImplicitAnimation::create):
1255         * page/animation/KeyframeAnimation.cpp:
1256         (WebCore::KeyframeAnimation::KeyframeAnimation):
1257         (WebCore::KeyframeAnimation::~KeyframeAnimation):
1258         (WebCore::KeyframeAnimation::animate):
1259         (WebCore::KeyframeAnimation::validateTransformFunctionList):
1260         * page/animation/KeyframeAnimation.h:
1261         (WebCore::KeyframeAnimation::create):
1262         (WebCore::KeyframeAnimation::unanimatedStyle):
1263         * rendering/InlineTextBox.cpp:
1264         (WebCore::InlineTextBox::paint):
1265         * rendering/MediaControlElements.cpp:
1266         (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
1267         (WebCore::MediaControlInputElement::MediaControlInputElement):
1268         * rendering/RenderBlock.cpp:
1269         (WebCore::RenderBlock::styleDidChange):
1270         (WebCore::RenderBlock::updateFirstLetter):
1271         * rendering/RenderContainer.cpp:
1272         (WebCore::RenderContainer::addChild):
1273         (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
1274         * rendering/RenderFileUploadControl.cpp:
1275         (WebCore::RenderFileUploadControl::updateFromElement):
1276         (WebCore::RenderFileUploadControl::createButtonStyle):
1277         * rendering/RenderFileUploadControl.h:
1278         * rendering/RenderFlow.cpp:
1279         (WebCore::RenderFlow::createAnonymousFlow):
1280         * rendering/RenderFlow.h:
1281         * rendering/RenderInline.cpp:
1282         (WebCore::RenderInline::addChildToFlow):
1283         * rendering/RenderLayer.cpp:
1284         (WebCore::RenderLayer::updateScrollCornerStyle):
1285         (WebCore::RenderLayer::updateResizerStyle):
1286         (WebCore::RenderLayer::updateReflectionStyle):
1287         * rendering/RenderListItem.cpp:
1288         (WebCore::RenderListItem::styleDidChange):
1289         * rendering/RenderMedia.cpp:
1290         (WebCore::RenderMedia::createPanel):
1291         (WebCore::RenderMedia::createTimeDisplay):
1292         (WebCore::RenderMedia::changeOpacity):
1293         * rendering/RenderObject.cpp:
1294         (WebCore::RenderObject::selectionBackgroundColor):
1295         (WebCore::RenderObject::selectionForegroundColor):
1296         (WebCore::RenderObject::createAnonymousBlock):
1297         (WebCore::RenderObject::setAnimatableStyle):
1298         (WebCore::RenderObject::setStyle):
1299         (WebCore::RenderObject::setStyleInternal):
1300         (WebCore::RenderObject::arenaDelete):
1301         (WebCore::RenderObject::firstLineStyle):
1302         (WebCore::RenderObject::getPseudoStyle):
1303         * rendering/RenderObject.h:
1304         (WebCore::RenderObject::style):
1305         * rendering/RenderSVGBlock.cpp:
1306         (WebCore::RenderSVGBlock::setStyle):
1307         * rendering/RenderSVGBlock.h:
1308         * rendering/RenderScrollbar.cpp:
1309         (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
1310         (WebCore::RenderScrollbar::updateScrollbarPart):
1311         * rendering/RenderScrollbar.h:
1312         * rendering/RenderSlider.cpp:
1313         (WebCore::RenderSlider::styleDidChange):
1314         (WebCore::RenderSlider::createThumbStyle):
1315         (WebCore::RenderSlider::updateFromElement):
1316         * rendering/RenderSlider.h:
1317         * rendering/RenderTable.cpp:
1318         (WebCore::RenderTable::addChild):
1319         * rendering/RenderTableRow.cpp:
1320         (WebCore::RenderTableRow::addChild):
1321         * rendering/RenderTableSection.cpp:
1322         (WebCore::RenderTableSection::addChild):
1323         * rendering/RenderTextControl.cpp:
1324         (WebCore::RenderTextControl::styleDidChange):
1325         (WebCore::RenderTextControl::createInnerBlockStyle):
1326         (WebCore::RenderTextControl::createInnerTextStyle):
1327         (WebCore::RenderTextControl::createResultsButtonStyle):
1328         (WebCore::RenderTextControl::createCancelButtonStyle):
1329         (WebCore::RenderTextControl::createSubtreeIfNeeded):
1330         (WebCore::RenderTextControl::updatePlaceholderVisibility):
1331         * rendering/RenderTextControl.h:
1332         * rendering/TextControlInnerElements.cpp:
1333         (WebCore::TextControlInnerElement::attachInnerElement):
1334         * rendering/TextControlInnerElements.h:
1335         * rendering/style/KeyframeList.cpp:
1336         (WebCore::KeyframeList::clear):
1337         (WebCore::KeyframeList::operator==):
1338         (WebCore::KeyframeList::insert):
1339         * rendering/style/KeyframeList.h:
1340         (WebCore::KeyframeValue::KeyframeValue):
1341         (WebCore::KeyframeValue::~KeyframeValue):
1342         (WebCore::KeyframeValue::key):
1343         (WebCore::KeyframeValue::style):
1344         * rendering/style/RenderStyle.cpp:
1345         (WebCore::defaultStyle):
1346         (WebCore::RenderStyle::create):
1347         (WebCore::RenderStyle::createDefaultStyle):
1348         (WebCore::RenderStyle::clone):
1349         (WebCore::RenderStyle::RenderStyle):
1350         (WebCore::RenderStyle::getCachedPseudoStyle):
1351         (WebCore::RenderStyle::addCachedPseudoStyle):
1352         * rendering/style/RenderStyle.h:
1353         (WebCore::):
1354         (WebCore::InheritedFlags::operator!=):
1355         * svg/SVGClipPathElement.cpp:
1356         (WebCore::SVGClipPathElement::canvasResource):
1357         * svg/SVGGradientElement.cpp:
1358         (WebCore::SVGGradientElement::buildStops):
1359         * svg/SVGStyledElement.cpp:
1360         (WebCore::SVGStyledElement::resolveStyle):
1361         * svg/SVGStyledElement.h:
1362         * svg/SVGUseElement.cpp:
1363         (WebCore::SVGUseElement::recalcStyle):
1364         (WebCore::SVGUseElement::attachShadowTree):
1365
1366 2008-10-16  Kenneth Russell  <kenneth.russell@sun.com>
1367
1368         Reviewed and landed by Anders Carlsson.
1369
1370         https://bugs.webkit.org/show_bug.cgi?id=21587
1371         NPN_PluginThreadAsyncCall does not work properly
1372         
1373         * plugins/PluginMainThreadScheduler.cpp:
1374         (WebCore::PluginMainThreadScheduler::dispatchCalls):
1375         Make sure to set m_callPending to false once the queue has been cleared.
1376
1377 2008-10-15  Alexey Proskuryakov  <ap@webkit.org>
1378
1379         Reviewed by Darin Adler.
1380
1381         https://bugs.webkit.org/show_bug.cgi?id=21609
1382         Make MessagePorts protect their peers across heaps
1383
1384         * dom/MessagePort.cpp:
1385         (WebCore::MessagePort::MessagePort):
1386         * dom/MessagePort.h:
1387         (WebCore::MessagePort::setJSWrapperIsKnownToBeInaccessible):
1388         (WebCore::MessagePort::jsWrapperIsKnownToBeInaccessible):
1389         Track objects whose JS wrappers are no longer reachable in MessagePort. Unfortunately, this
1390         means that the implementation object knows about JS bindings - but it is not possible to
1391         access JS wrappers from another heap/thread.
1392
1393         * bindings/js/JSDOMBinding.cpp:
1394         (WebCore::markCrossHeapDependentObjectsForDocument):
1395         * bindings/js/JSDOMBinding.h:
1396         * bindings/js/JSDOMWindowBase.cpp:
1397         (WebCore::JSDOMWindowBase::markCrossHeapDependentObjects):
1398         * bindings/js/JSDOMWindowBase.h:
1399         Implement cross-heap dependency tracking for entangled MessagePorts. If a wrapper object
1400         hasn't been marked normally, it is marked as inaccessible. It is then marked manually,
1401         as long as its entangled port is accessible itself.
1402
1403 2008-10-15  Jon Honeycutt  <jhoneycutt@apple.com>
1404
1405         Remove unneeded check of whether a Page defers loading before running it
1406         in a modal dialog.
1407
1408         No test possible.
1409
1410         Reviewed by Tim Hatcher.
1411
1412         * page/Chrome.cpp:
1413
1414 2008-10-15  Geoffrey Garen  <ggaren@apple.com>
1415
1416         Reviewed by Cameron Zwarich.
1417
1418         Fixed https://bugs.webkit.org/show_bug.cgi?id=21345
1419         Start the debugger without reloading the inspected page
1420
1421         * WebCore.base.exp: New symbols.
1422
1423         * ForwardingHeaders/kjs/CollectorHeapIterator.h: Copied from ForwardingHeaders/kjs/ustring.h.
1424         * ForwardingHeaders/kjs/Parser.h: Copied from ForwardingHeaders/kjs/ustring.h.
1425         * WebCore.xcodeproj/project.pbxproj: New forwarding headers.
1426
1427         * inspector/InspectorController.cpp:
1428         (WebCore::InspectorController::setWindowVisible):
1429         (WebCore::InspectorController::windowScriptObjectAvailable):
1430         (WebCore::InspectorController::startDebugging):
1431         * inspector/InspectorController.h: Renamed startDebuggingAndReloadInspectedPage
1432         to startDebugging, and changed its behavior to match.
1433
1434         * inspector/JavaScriptDebugListener.h:
1435         * inspector/JavaScriptDebugServer.cpp:
1436         (WebCore::JavaScriptDebugServer::JavaScriptDebugServer):
1437         (WebCore::JavaScriptDebugServer::addListener):
1438         (WebCore::JavaScriptDebugServer::removeListener):
1439         (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
1440         (WebCore::JavaScriptDebugServer::willAddFirstListener):
1441         (WebCore::JavaScriptDebugServer::didRemoveLastListener):
1442         * inspector/JavaScriptDebugServer.h: Refactored the
1443         JavaScriptDebugServer to centralize handling of adding the first listener
1444         and removing the last. Then, added a feature to recompile all JS functions
1445         in these cases. This allows us to dynamically add and remove hooks like
1446         the debugger hooks without reloading the page.
1447
1448         * inspector/front-end/ScriptsPanel.js:
1449         * English.lproj/localizedStrings.js: Updated for startDebuggingAndReloadInspectedPage =>
1450         startDebugging rename. Removed all UI that claimed that starting the
1451         debugger would reload the page.
1452
1453 2008-10-15  Adele Peterson  <adele@apple.com>
1454
1455         Attempt to fix the Tiger build.
1456
1457         * platform/network/mac/ResourceHandleMac.mm:
1458
1459 2008-10-15  Holger Hans Peter Freyther  <zecke@selfish.org>
1460
1461         Build fix attempt.
1462
1463         Try to fix static/non-static declaration of g_string_append_uri_escape
1464         by renaming that string. Another look needs to be taken.
1465
1466         * platform/gtk/guriescape.c:
1467         (_webcore_g_string_append_uri_escaped):
1468         (_webcore_g_uri_escape_string):
1469
1470 2008-10-15  Holger Hans Peter Freyther  <zecke@selfish.org>
1471
1472         Build fix.
1473
1474         m_animatingImageType is gone.
1475
1476         * platform/graphics/cairo/ImageCairo.cpp:
1477         (WebCore::BitmapImage::BitmapImage):
1478
1479 2008-10-15  Jeff Cook <cookiecaper@gmail.com>
1480
1481         Reviewed by Holger Freyther.
1482
1483         Stop SIGSEGV when leaving a page with a Flash object by reordering
1484         window destruction and plugin stop.
1485
1486         See https://bugs.webkit.org/show_bug.cgi?id=20779
1487
1488         * plugins/gtk/PluginViewGtk.cpp:
1489         (WebCore::PluginView::stop):
1490
1491 2008-10-15  Adele Peterson  <adele@apple.com>
1492
1493         Reviewed by Sam Weinig.
1494
1495         Implement didSendBodyData delegate method, and use older code path when that delegate doesn't exist. 
1496
1497         * platform/network/ResourceHandle.h:
1498         * platform/network/mac/FormDataStreamMac.mm: (WebCore::formRead):
1499         * platform/network/mac/ResourceHandleMac.mm:
1500         (WebCore::ResourceHandle::didSendBodyDataDelegateExists):
1501         (WebCore::ResourceHandle::start):
1502         (WebCore::ResourceHandle::cancel):
1503         (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
1504         (-[WebCoreResourceHandleAsDelegate connection:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite:]):
1505         (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
1506         (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]):
1507
1508 2008-10-15  Peter Kasting  <pkasting@google.com>
1509
1510         Reviewed by David Hyatt.
1511
1512         Qt build bustage fix.
1513
1514         * platform/graphics/qt/StillImageQt.h:
1515         (WebCore::StillImage::destroyDecodedData):
1516
1517 2008-10-15  David Hyatt  <hyatt@apple.com>
1518
1519         Make sure scrollbar styles get deleted if they aren't assigned to a renderer.
1520
1521         Reviewed by Mark Rowe
1522
1523         * rendering/RenderScrollbar.cpp:
1524         (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
1525         (WebCore::RenderScrollbar::updateScrollbarPart):
1526
1527 2008-10-15  Peter Kasting  <pkasting@google.com>
1528
1529         Reviewed by David Hyatt.
1530
1531         https://bugs.webkit.org/show_bug.cgi?id=19663 (Second attempt)
1532         Account for paint and timer lag when animating images.  Also pretend
1533         that images whose animations were paused (by becoming invisible)
1534         continued to animate, by "catching up" to the correct frame when they're
1535         shown again.
1536
1537         * platform/graphics/BitmapImage.cpp:
1538         (WebCore::BitmapImage::BitmapImage):
1539         (WebCore::BitmapImage::destroyDecodedData):
1540         (WebCore::BitmapImage::cacheFrame):
1541         (WebCore::BitmapImage::frameIsCompleteAtIndex):
1542         (WebCore::BitmapImage::frameDurationAtIndex):
1543         (WebCore::BitmapImage::frameHasAlphaAtIndex):
1544         (WebCore::BitmapImage::repetitionCount):
1545         (WebCore::BitmapImage::shouldAnimate):
1546         (WebCore::BitmapImage::startAnimation):
1547         (WebCore::BitmapImage::resetAnimation):
1548         (WebCore::BitmapImage::advanceAnimation):
1549         (WebCore::BitmapImage::internalAdvanceAnimation):
1550         (WebCore::BitmapImage::notifyObserverAndTrimDecodedData):
1551         * platform/graphics/BitmapImage.h:
1552         (WebCore::FrameData::FrameData):
1553         (WebCore::BitmapImage::):
1554         * platform/graphics/GeneratedImage.h:
1555         (WebCore::GeneratedImage::destroyDecodedData):
1556         * platform/graphics/Image.h:
1557         * platform/graphics/cairo/ImageCairo.cpp:
1558         (WebCore::FrameData::clear):
1559         (WebCore::BitmapImage::BitmapImage):
1560         (WebCore::BitmapImage::draw):
1561         * platform/graphics/cg/ImageCG.cpp:
1562         (WebCore::FrameData::clear):
1563         (WebCore::BitmapImage::BitmapImage):
1564         (WebCore::BitmapImage::draw):
1565         * platform/graphics/cg/PDFDocumentImage.h:
1566         (WebCore::PDFDocumentImage::destroyDecodedData):
1567         * platform/graphics/qt/ImageQt.cpp:
1568         (WebCore::FrameData::clear):
1569         (WebCore::BitmapImage::draw):
1570         * platform/graphics/wx/ImageWx.cpp:
1571         (WebCore::FrameData::clear):
1572         (WebCore::BitmapImage::draw):
1573         * svg/graphics/SVGImage.h:
1574         (WebCore::SVGImage::destroyDecodedData):
1575
1576 2008-10-14  Maxime Britto  <britto@apple.com>
1577
1578         Reviewed by Darin Adler, tweaked and landed by Beth.
1579
1580         * WebCore.base.exp: Exposes two functions to be able to create a 
1581         selection from a point on the screen. Also exposes the new 
1582         TextIterator::currentNode function.
1583         * WebCore/editing/TextIterator.cpp:
1584         (TextIterator::currentNode) : New function that returns the current 
1585         text node or NULL if there is no text node.
1586
1587 2008-10-15  Marco Barisione  <marco.barisione@collabora.co.uk>
1588
1589         Reviewed by Holger Freyther.
1590
1591         http://bugs.webkit.org/show_bug.cgi?id=21211
1592         [CURL] Upload doesn't work because cancel is called
1593
1594         FormDataStream::read returns 0 when retrieving data from the form
1595         fails, but also when there is no more data to send. This means that
1596         ResourceHandleManager::cancel is always called even when the data was
1597         successfully sent.
1598
1599         Check if there are more elements in the form before calling
1600         FormDataStream::read.
1601
1602         * platform/network/curl/FormDataStreamCurl.cpp:
1603         (WebCore::FormDataStream::hasMoreElements):
1604         * platform/network/curl/FormDataStreamCurl.h:
1605         * platform/network/curl/ResourceHandleManager.cpp:
1606         (WebCore::readCallback):
1607
1608 2008-10-15  Marco Barisione  <marco.barisione@collabora.co.uk>
1609
1610         Reviewed by Holger Freyther.
1611
1612         http://bugs.webkit.org/show_bug.cgi?id=20664
1613         [GTK] File names are not always encodable in UTF-8
1614
1615         On Linux file names are just raw data and cannot always be directly
1616         encoded in UTF-8 or in any other encodings, so we escape them before
1617         storing the file name in a String and unescape them before passing
1618         them to native functions handling files.
1619
1620         * GNUmakefile.am:
1621         * platform/FileSystem.h:
1622         * platform/gtk/FileChooserGtk.cpp:
1623         (WebCore::stringByAdoptingFileSystemRepresentation):
1624         (WebCore::FileChooser::basenameForWidth):
1625         * platform/gtk/FileSystemGtk.cpp:
1626         (WebCore::filenameToString):
1627         (WebCore::filenameFromString):
1628         (WebCore::filenameForDisplay):
1629         (WebCore::fileExists):
1630         (WebCore::deleteFile):
1631         (WebCore::deleteEmptyDirectory):
1632         (WebCore::getFileSize):
1633         (WebCore::getFileModificationTime):
1634         (WebCore::makeAllDirectories):
1635         (WebCore::homeDirectoryPath):
1636         (WebCore::pathGetFileName):
1637         (WebCore::listDirectory):
1638         * platform/gtk/KURLGtk.cpp:
1639         (WebCore::KURL::fileSystemPath):
1640         * platform/gtk/SharedBufferGtk.cpp:
1641         (WebCore::SharedBuffer::createWithContentsOfFile):
1642         * platform/gtk/guriescape.c: Added.
1643         (is_valid):
1644         (gunichar_ok):
1645         (g_string_append_uri_escaped):
1646         (_webcore_g_uri_escape_string):
1647         * platform/gtk/guriescape.h: Added.
1648
1649 2008-10-15  Dirk Schulze  <vbs85@gmx.de>
1650
1651         Reviewed by Eric Seidel.
1652
1653         - part of https://bugs.webkit.org/show_bug.cgi?id=20543
1654           Moved gradient spread method out of SVG into the GraphicsContext.
1655
1656         * platform/graphics/GraphicsContext.cpp:
1657         (WebCore::GraphicsContext::spreadMethod):
1658         (WebCore::GraphicsContext::setSpreadMethod):
1659         * platform/graphics/GraphicsContext.h:
1660         (WebCore::):
1661         * platform/graphics/GraphicsContextPrivate.h:
1662         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1663         (WebCore::applySpreadMethod):
1664         (WebCore::GraphicsContext::fillPath):
1665         (WebCore::GraphicsContext::strokePath):
1666         * platform/graphics/qt/GraphicsContextQt.cpp:
1667         (WebCore::applySpreadMethod):
1668         (WebCore::GraphicsContext::fillPath):
1669         (WebCore::GraphicsContext::strokePath):
1670         * svg/GradientAttributes.h:
1671         (WebCore::GradientAttributes::GradientAttributes):
1672         (WebCore::GradientAttributes::spreadMethod):
1673         (WebCore::GradientAttributes::setSpreadMethod):
1674         * svg/SVGGradientElement.cpp:
1675         (WebCore::SVGGradientElement::parseMappedAttribute):
1676         * svg/SVGGradientElement.h:
1677         * svg/SVGLinearGradientElement.cpp:
1678         (WebCore::SVGLinearGradientElement::collectGradientProperties):
1679         * svg/SVGRadialGradientElement.cpp:
1680         (WebCore::SVGRadialGradientElement::collectGradientProperties):
1681         * svg/graphics/SVGPaintServerGradient.cpp:
1682         (WebCore::operator<<):
1683         (WebCore::SVGPaintServerGradient::SVGPaintServerGradient):
1684         (WebCore::SVGPaintServerGradient::spreadMethod):
1685         (WebCore::SVGPaintServerGradient::setGradientSpreadMethod):
1686         (WebCore::SVGPaintServerGradient::externalRepresentation):
1687         * svg/graphics/SVGPaintServerGradient.h:
1688         * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp:
1689         (WebCore::SVGPaintServerGradient::setup):
1690         * svg/graphics/qt/SVGPaintServerGradientQt.cpp:
1691         (WebCore::SVGPaintServerGradient::setup):
1692
1693 2008-10-09  Darin Fisher  <darin@chromium.org>
1694
1695         Reviewed by Sam Weinig.
1696
1697         Make pan scrolling a platform configurable option
1698         https://bugs.webkit.org/show_bug.cgi?id=21515
1699
1700         * page/EventHandler.cpp:
1701         (WebCore::EventHandler::handleAutoscroll):
1702         (WebCore::EventHandler::autoscrollTimerFired):
1703         (WebCore::EventHandler::stopAutoscrollTimer):
1704         (WebCore::EventHandler::handleMousePressEvent):
1705         (WebCore::EventHandler::keyEvent):
1706
1707 2008-10-10  Darin Fisher  <darin@chromium.org>
1708
1709         Reviewed by Darin Adler.
1710
1711         Add some PLATFORM(CHROMIUM) ifdefs to WebCore
1712         https://bugs.webkit.org/show_bug.cgi?id=21511
1713
1714         * loader/FTPDirectoryDocument.cpp:
1715         * loader/FTPDirectoryParser.cpp:
1716         * loader/FrameLoader.cpp:
1717         (WebCore::FrameLoader::finishedLoadingDocument):
1718         * platform/ContextMenuItem.h:
1719         * platform/Cursor.h:
1720         * platform/DragData.h:
1721         * platform/DragImage.h:
1722         * platform/Pasteboard.h:
1723         * platform/PlatformKeyboardEvent.h:
1724         (WebCore::PlatformKeyboardEvent::isSystemKey):
1725         * platform/PlatformMenuDescription.h:
1726         * platform/PlatformMouseEvent.h:
1727         * platform/PlatformWheelEvent.h:
1728         * platform/PopupMenu.h:
1729         * platform/ScrollView.h:
1730         * platform/Widget.h:
1731         * platform/network/NetworkStateNotifier.h:
1732
1733 2008-10-14  Chris Marrin  <cmarrin@apple.com>
1734
1735         Reviewed by Darin Adler.
1736
1737         Fixed https://bugs.webkit.org/show_bug.cgi?id=21490
1738         Optimize keyframe style sheet changes by avoiding styleSheetChanged()
1739
1740         Test: css3/change-keyframes.html
1741
1742         * css/WebKitCSSKeyframesRule.cpp:
1743         (WebCore::WebKitCSSKeyframesRule::append):
1744         (WebCore::WebKitCSSKeyframesRule::deleteRule):
1745
1746 2008-10-14  David Hyatt  <hyatt@apple.com>
1747
1748         https://bugs.webkit.org/show_bug.cgi?id=21595
1749
1750         Clean up background and overflow propagation from the body to the viewport.  Make it match the
1751         latest CSS2.1 spec thinking.
1752
1753         Reviewed by Adam Roben
1754
1755         Added many tests at fast/body-propagation/.  These are Simon Pieters' tests of propagation handling
1756         (available at http://simon.html5.org/test/css/magic-body/).
1757
1758         * dom/Document.cpp:
1759         (WebCore::Document::body):
1760         * page/FrameView.cpp:
1761         (WebCore::FrameView::layout):
1762         * rendering/RenderBox.cpp:
1763         (WebCore::RenderBox::styleDidChange):
1764         (WebCore::RenderBox::paintRootBoxDecorations):
1765         (WebCore::RenderBox::paintBoxDecorations):
1766         (WebCore::RenderBox::repaintLayerRectsForImage):
1767
1768 2008-10-14  Dimitri Glazkov  <dglazkov@chromium.org>
1769
1770         Reviewed and landed by Sam Weinig.
1771
1772         Due to change in spec (http://dev.w3.org/2006/webapi/selectors-api/#namespace),
1773         remove NSResolver code, leaving only checking for selectors that need
1774         NS resolution and throwing a coresponding error.
1775
1776         * WebCore.pro:
1777         * WebCore.vcproj/WebCore.vcproj:
1778         * WebCore.xcodeproj/project.pbxproj:
1779         * WebCoreSources.bkl:
1780         * bindings/js/JSDocumentCustom.cpp:
1781         * bindings/js/JSDocumentFragmentCustom.cpp:
1782         * bindings/js/JSElementCustom.cpp:
1783         * bindings/js/JSNSResolver.cpp: Removed.
1784         * bindings/js/JSNSResolver.h: Removed.
1785         * dom/Document.idl:
1786         * dom/DocumentFragment.idl:
1787         * dom/Element.idl:
1788         * dom/NSResolver.h: Removed.
1789         * dom/NSResolver.idl: Removed.
1790         * dom/Node.h:
1791         * dom/Node.cpp:
1792         (WebCore::forEachTagSelector):
1793         (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()):
1794         (WebCore::selectorNeedsNamespaceResolution):
1795         (WebCore::Node::querySelector):
1796         (WebCore::Node::querySelectorAll):
1797
1798 2008-10-14  Darin Adler  <darin@apple.com>
1799
1800         Reviewed by Sam Weinig (all but the FormDataListItem rename).
1801
1802         - https://bugs.webkit.org/show_bug.cgi?id=21593
1803           Bug 21593: add multiple-file support to HTMLFormElement
1804
1805         * html/FormDataList.cpp: Removed appendFile since it's now inline.
1806         Also took incorrect old copyrights off of this file that are left
1807         over from when it was split.
1808         * html/FormDataList.h: Ditto. Renamed FormDataListItem to Item and
1809         made it a member of FormDataList. Changed it to hold a File object
1810         instead of a path. And made its data members private. Changed
1811         FormDataList::appendFile accordingly.
1812
1813         * html/HTMLFormElement.cpp:
1814         (WebCore::HTMLFormElement::formData): Updated for above changes.
1815         Removed the code that special-cases HTMLInputElement, because now
1816         the FormDataListItem has everything we need. And if there are
1817         multiple files, we'll get multiple list items for them.
1818
1819         * html/HTMLInputElement.cpp:
1820         (WebCore::HTMLInputElement::appendFormData): Changed the code for
1821         <input type=file> to use File objects instead of path strings and
1822         also to append multiple files if the file list has them.
1823
1824 2008-10-14  Tor Arne Vestbø  <tavestbo@trolltech.com>
1825
1826         Reviewed by Simon.
1827         
1828         Fix QtWebKit scrollbar painting errors
1829
1830         * platform/qt/ScrollbarThemeQt.cpp:
1831         (WebCore::ScrollbarThemeQt::paint):
1832         (WebCore::ScrollbarThemeQt::paintScrollCorner):
1833
1834 2008-10-14  Tor Arne Vestbø  <tavestbo@trolltech.com>
1835
1836         Reviewed by Simon.
1837
1838         Fix scrollbar arrows for horizontal scrollbars
1839
1840         * platform/qt/ScrollbarThemeQt.cpp:
1841         (WebCore::styleOptionSlider):
1842
1843 2008-10-14  Tor Arne Vestbø  <tavestbo@trolltech.com>
1844
1845         Reviewed by Simon.
1846
1847         Use style-painter to draw scrollbars in ScrollbarThemeQt
1848         
1849         This has the benefit of setting up the painter properly without
1850         antialiasing and saving and restoring the brush. It also ensures
1851         that we use the style of the QWebView over the QApplication style
1852         if possible.
1853
1854         * platform/qt/RenderThemeQt.cpp:
1855         (WebCore::StylePainter::StylePainter):
1856         (WebCore::StylePainter::init):
1857         * platform/qt/RenderThemeQt.h:
1858         * platform/qt/ScrollbarThemeQt.cpp:
1859         (WebCore::ScrollbarThemeQt::paint):
1860
1861 2008-10-13  David Hyatt  <hyatt@apple.com>
1862
1863         Add support for CSS transitions on some SVG properties.  This patch is intended to be a guideline
1864         for how to add support for the rest.
1865
1866         Reviewed by Oliver Hunt
1867
1868         * page/animation/AnimationBase.cpp:
1869         (WebCore::ensurePropertyMap):
1870         * rendering/style/RenderStyle.h:
1871         (WebCore::RenderStyle::fillOpacity):
1872         (WebCore::RenderStyle::setFillOpacity):
1873         (WebCore::RenderStyle::strokeOpacity):
1874         (WebCore::RenderStyle::setStrokeOpacity):
1875         (WebCore::RenderStyle::floodOpacity):
1876         (WebCore::RenderStyle::setFloodOpacity):
1877
1878 2008-10-13  David Hyatt  <hyatt@apple.com>
1879
1880         <rdar://problem/6289712> REGRESSION(r37432-37490): Scroll bar is not drawn in Bookmark View, Preferences sheets.
1881
1882         Fix for disabled scrollbars not painting in Windows Safari.  Make sure that the Windows theme
1883         implements paintTrackBackground so that when the thumb is not present the track still paints.
1884
1885         Reviewed by Oliver Hunt
1886
1887         * platform/ScrollbarThemeComposite.cpp:
1888         (WebCore::ScrollbarThemeComposite::paint):
1889         * platform/win/ScrollbarThemeWin.cpp:
1890         (WebCore::ScrollbarThemeWin::paintTrackBackground):
1891         * platform/win/ScrollbarThemeWin.h:
1892
1893 2008-10-13  David Hyatt  <hyatt@apple.com>
1894
1895         Fix over-invalidation of native scrollbars.
1896
1897         Reviewed by Oliver Hunt
1898
1899         * platform/Scrollbar.h:
1900         (WebCore::Scrollbar::styleChanged):
1901         * platform/mac/ScrollbarThemeMac.mm:
1902         (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
1903         * rendering/RenderScrollbar.cpp:
1904         (WebCore::RenderScrollbar::styleChanged):
1905
1906 2008-10-13  Alp Toker  <alp@nuanti.com>
1907
1908         Fix autotools dist build target by listing recently added header
1909         files only. Not reviewed.
1910
1911         * GNUmakefile.am:
1912
1913 2008-10-13  Mark Rowe  <mrowe@apple.com>
1914
1915         Reviewed by Brady Eidson.
1916
1917         Don't run a SQLite query on every iteration of the sync thread when the query
1918         will touch a large portion of the icon database while performing no useful work.
1919
1920         * loader/icon/IconDatabase.cpp:
1921         (WebCore::IconDatabase::writeToDatabase): Don't call checkForDanglingPageURLs unless
1922         we modified the database.
1923         (WebCore::IconDatabase::checkForDanglingPageURLs): Don't do any work in a release build
1924         unless we've been asked to prune any dangling pageURLs that we find.
1925
1926 2008-10-13  Maciej Stachowiak  <mjs@apple.com>
1927
1928         Rubber stamped by Mark Rowe.
1929         
1930         - use gcc 4.2 when building with Xcode 3.1 or newer on Leopard, even though this is not the default
1931
1932         * Configurations/DebugRelease.xcconfig:
1933
1934 2008-10-13  David Hyatt  <hyatt@apple.com>
1935
1936         Make dropdown lists on Windows work with CSS custom scrollbars.
1937
1938         Reviewed by Adele
1939
1940         * platform/PopupMenu.h:
1941         (WebCore::PopupMenu::scrollbarCornerPresent):
1942         * platform/PopupMenuClient.h:
1943         * platform/win/PopupMenuWin.cpp:
1944         (WebCore::PopupMenu::show):
1945         * rendering/RenderMenuList.cpp:
1946         (WebCore::RenderMenuList::createScrollbar):
1947         * rendering/RenderMenuList.h:
1948         * rendering/RenderTextControl.cpp:
1949         (WebCore::RenderTextControl::createScrollbar):
1950         * rendering/RenderTextControl.h:
1951
1952 2008-10-13  Chris Fleizach  <cfleizach@apple.com>
1953
1954         Reviewed by Beth Dakin.
1955
1956         <rdar://problem/6271864> Links from image maps not being included in AXLinkUIElements
1957
1958         Links from image maps were not being included in the web area's AXLinkUIElements attribute.
1959         The position of image map links was being reported incorrectly and the parent-chain
1960         hierarchy for image map links was incorrect because image map links did not have a reference
1961         to their parent image. 
1962
1963         Test: accessibility/document-links.html
1964
1965         * page/AccessibilityImageMapLink.cpp:
1966         (WebCore::AccessibilityImageMapLink::parentObject):
1967         (WebCore::AccessibilityImageMapLink::actionElement):
1968         (WebCore::AccessibilityImageMapLink::elementRect):
1969         * page/AccessibilityImageMapLink.h:
1970         (WebCore::AccessibilityImageMapLink::setHTMLMapElement):
1971         (WebCore::AccessibilityImageMapLink::setParent):
1972         * page/AccessibilityObject.cpp:
1973         * page/AccessibilityObject.h:
1974         * page/AccessibilityRenderObject.cpp:
1975         (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap):
1976         (WebCore::AccessibilityRenderObject::getDocumentLinks):
1977         (WebCore::AccessibilityRenderObject::addChildren):
1978         * page/AccessibilityRenderObject.h:
1979         * page/mac/AccessibilityObjectWrapper.mm:
1980         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
1981
1982 2008-10-13  David Hyatt  <hyatt@apple.com>
1983
1984         Make RenderListBox work with CSS scrollbars.  Refactoring this code to support creation/destruction in
1985         the same way RenderLayer does also fixes a bug where the PLT would assert on the next-to-last page (no
1986         idea how to make a test case for that, though, since I couldn't repro without running the whole PLT).
1987
1988         Reviewed by Tim Hatcher
1989
1990         Added scrollbars/listbox-scrollbar-combinations.html
1991
1992         * rendering/RenderListBox.cpp:
1993         (WebCore::RenderListBox::~RenderListBox):
1994         (WebCore::RenderListBox::updateFromElement):
1995         (WebCore::RenderListBox::createScrollbar):
1996         (WebCore::RenderListBox::destroyScrollbar):
1997         (WebCore::RenderListBox::setHasVerticalScrollbar):
1998         * rendering/RenderListBox.h:
1999
2000 2008-10-13  David Hyatt  <hyatt@apple.com>
2001
2002         In order to always match the :corner-present pseudo-class properly, delay initial updating of
2003         scrollbar styles until the layer has the scrollbars in its member variables.
2004
2005         Reviewed by Tim Hatcher
2006
2007         * rendering/RenderLayer.cpp:
2008         (WebCore::RenderLayer::setHasHorizontalScrollbar):
2009         (WebCore::RenderLayer::setHasVerticalScrollbar):
2010         * rendering/RenderScrollbar.cpp:
2011         (WebCore::RenderScrollbar::RenderScrollbar):
2012
2013 2008-10-13  Sam Weinig  <sam@webkit.org>
2014
2015         Reviewed by Dan Bernstein.
2016
2017         Fix for https://bugs.webkit.org/show_bug.cgi?id=21577
2018         5 false positive StructureID leaks
2019
2020         In WebCore, we intentionally leak the common JSGlobalData which in turn
2021         leaks 5 StructureIDs.  Use the new JSGlobalData::createLeaked in order to
2022         ignore the StructureIDs leaked within.
2023
2024         * bindings/js/JSDOMWindowBase.cpp:
2025         (WebCore::JSDOMWindowBase::commonJSGlobalData):
2026
2027 2008-10-13  David Hyatt  <hyatt@apple.com>
2028
2029         Add support for the :corner-present pseudoclass, which enables scrollbar pieces to change their
2030         artwork based on whether there is a scrollbar corner present.
2031
2032         Reviewed by Tim Hatcher
2033
2034         * css/CSSSelector.cpp:
2035         (WebCore::CSSSelector::extractPseudoType):
2036         * css/CSSSelector.h:
2037         (WebCore::CSSSelector::):
2038         * css/CSSStyleSelector.cpp:
2039         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
2040         * platform/ScrollView.cpp:
2041         (WebCore::ScrollView::scrollbarCornerPresent):
2042         * platform/ScrollView.h:
2043         * platform/ScrollbarClient.h:
2044         * rendering/RenderLayer.cpp:
2045         (WebCore::cornerRect):
2046         (WebCore::scrollCornerRect):
2047         (WebCore::resizerCornerRect):
2048         (WebCore::RenderLayer::scrollbarCornerPresent):
2049         (WebCore::RenderLayer::setHasHorizontalScrollbar):
2050         (WebCore::RenderLayer::setHasVerticalScrollbar):
2051         * rendering/RenderLayer.h:
2052         (WebCore::RenderLayer::horizontalScrollbar):
2053         (WebCore::RenderLayer::verticalScrollbar):
2054         * rendering/RenderListBox.h:
2055         (WebCore::RenderListBox::scrollbarCornerPresent):
2056
2057 2008-10-13  David Hyatt  <hyatt@apple.com>
2058
2059         Make resizers and scrollbar corners respect :window-inactive (one more bug fix and then Tim's master
2060         test case for all this can land).
2061
2062         Reviewed by Tim Hatcher
2063
2064         * css/CSSStyleSelector.cpp:
2065         (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
2066         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
2067         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
2068         * rendering/RenderLayer.cpp:
2069         (WebCore::RenderLayer::paintOverflowControls):
2070         (WebCore::RenderLayer::paintScrollCorner):
2071         (WebCore::RenderLayer::paintResizer):
2072         (WebCore::RenderLayer::styleChanged):
2073         (WebCore::RenderLayer::updateScrollCornerStyle):
2074         (WebCore::RenderLayer::updateResizerStyle):
2075         * rendering/RenderLayer.h:
2076         * rendering/RenderScrollbar.cpp:
2077         (WebCore::RenderScrollbar::paint):
2078         * rendering/RenderScrollbarPart.cpp:
2079         (WebCore::RenderScrollbarPart::paintIntoRect):
2080
2081 2008-10-13  David Hyatt  <hyatt@apple.com>
2082
2083         Rework resizer and scroll corner painting so that custom resizers and scroll corners will paint
2084         and invalidate properly as images load, etc.
2085
2086         Reviewed by Tim Hatcher
2087
2088         * rendering/RenderLayer.cpp:
2089         (WebCore::cornerRect):
2090         (WebCore::scrollCornerRect):
2091         (WebCore::resizerCornerRect):
2092         (WebCore::RenderLayer::positionOverflowControls):
2093         (WebCore::RenderLayer::paintOverflowControls):
2094         (WebCore::RenderLayer::paintScrollCorner):
2095         (WebCore::RenderLayer::paintResizer):
2096         (WebCore::RenderLayer::isPointInResizeControl):
2097         (WebCore::RenderLayer::hitTestOverflowControls):
2098         (WebCore::RenderLayer::styleChanged):
2099         * rendering/RenderLayer.h:
2100         * rendering/RenderObject.h:
2101         (WebCore::RenderObject::setRect):
2102         * rendering/RenderScrollbarPart.cpp:
2103         (WebCore::RenderScrollbarPart::styleDidChange):
2104         (WebCore::RenderScrollbarPart::imageChanged):
2105
2106 2008-10-13  Marco Barisione  <marco.barisione@collabora.co.uk>
2107
2108         Reviewed by Darin Adler. Landed by Jan Alonzo.
2109
2110         WebKit GTK Port needs a smartpointer to handle g_free (GFreePtr?)
2111         http://bugs.webkit.org/show_bug.cgi?id=20483
2112
2113         Start the conversion to use GOwnPtr and fix a memory leak.
2114
2115         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
2116         (WebCore::mediaPlayerPrivateErrorCallback):
2117
2118 2008-10-12  Jon Honeycutt  <jhoneycutt@apple.com>
2119
2120         Windows build fix.
2121
2122         * loader/TextResourceDecoder.cpp:
2123
2124 2008-10-12  Darin Fisher  <darin@chromium.org>
2125
2126         Reviewed by Darin Adler.
2127
2128         - fix https://bugs.webkit.org/show_bug.cgi?id=21229
2129           Bug 21229: NetworkStateNotifier.h lacks a #include <windows.h> for PLATFORM(WIN)
2130
2131         * platform/network/NetworkStateNotifier.h: Add the #include.
2132
2133 2008-10-12  Darin Adler  <darin@apple.com>
2134
2135         Based on work by Holger Freyther.
2136
2137         - part of https://bugs.webkit.org/show_bug.cgi?id=20953
2138           Split WidthIterator into its own source file.
2139
2140         * GNUmakefile.am: Added new source files.
2141         * WebCore.vcproj/WebCore.vcproj: Ditto.
2142         * WebCore.xcodeproj/project.pbxproj: Ditto.
2143         * WebCoreSources.bkl: Ditto.
2144
2145         * platform/graphics/Font.cpp: Use WidthIterator from its new place.
2146         * platform/graphics/WidthIterator.cpp: Added.
2147         * platform/graphics/WidthIterator.h: Added.
2148
2149 2008-10-12  Tony Chang  <tony@chromium.org>
2150
2151         Reviewed by Sam Weinig.
2152
2153         - https://bugs.webkit.org/show_bug.cgi?id=21480
2154           Remove duplicate definitions of MimeClassInfo and PluginInfo.
2155
2156         * plugins/PluginInfoStore.cpp: Added an include.
2157         * plugins/PluginInfoStore.h: Removed struct declarations.
2158
2159 2008-10-12  Darin Adler  <darin@apple.com>
2160
2161         Reviewed by Dan Bernstein.
2162
2163         - https://bugs.webkit.org/show_bug.cgi?id=21563
2164           Bug 21563: platform Gradient class should not use the CSS parser
2165
2166         * platform/graphics/Gradient.cpp: Removed the overload of addColorStop
2167         that accepts a CSS color string. That's handled in the DOM now, not here.
2168         (WebCore::Gradient::addColorStop): Use getRGBA instead of having our own
2169         copy of it here.
2170         * platform/graphics/Gradient.h: More of the same. Tweak formatting a bit.
2171
2172 2008-10-12  Glenn Wilson  <gwilson@google.com>
2173
2174         Reviewed by Darin Adler.
2175
2176         - https://bugs.webkit.org/show_bug.cgi?id=20461
2177
2178         Added feature to allow multi-line inputs into text fields.
2179         HTMLInputElement would cut the set text at the first 'system' character,
2180         so it would truncate at the first carriage return or newline.
2181         This fix modifies that behavior to truncate at any non-space system character
2182         but changes \r, \n, and \r\n to a single space.
2183
2184         Tests: editing/pasteboard/paste-multiline-text-input.html
2185                
2186         * html/HTMLInputElement.cpp:
2187         (WebCore::HTMLInputElement::constrainValue):
2188
2189 2008-10-12  Dirk Schulze  <vbs85@gmx.de>
2190
2191         Reviewed by Eric Seidel.
2192
2193         - https://bugs.webkit.org/show_bug.cgi?id=20435
2194
2195         Added exception codes to canvas gradients to match current specification.
2196
2197         Tests: fast/canvas/gradient-addColorStop-with-invalid-color.html
2198                fast/canvas/linearGradient-infinite-values.html
2199                fast/canvas/radialGradient-infinite-values.html
2200
2201         * html/CanvasGradient.cpp:
2202         (WebCore::CanvasGradient::addColorStop):
2203         * html/CanvasGradient.h:
2204         * html/CanvasGradient.idl:
2205         * html/CanvasRenderingContext2D.cpp:
2206         (WebCore::CanvasRenderingContext2D::createLinearGradient):
2207         (WebCore::CanvasRenderingContext2D::createRadialGradient):
2208         * html/CanvasRenderingContext2D.h:
2209         * html/CanvasRenderingContext2D.idl:
2210
2211 2008-10-12  Eric Roman  <eroman@chromium.org>
2212
2213         - https://bugs.webkit.org/show_bug.cgi?id=20246
2214           Implement RenderThemeWin::systemColor() to match Windows colors.
2215
2216         Reviewed by David Hyatt.
2217
2218         * rendering/RenderThemeWin.cpp:
2219         (WebCore::cssValueIdToSysColorIndex):
2220         (WebCore::RenderThemeWin::systemColor):
2221         * rendering/RenderThemeWin.h:
2222
2223 2008-10-12  Aaron Bockover  <abockover@novell.com>
2224
2225         Reviewed by Alp Toker.
2226
2227         Add version parsing for Flash, and the PluginQuirkDontSetNullWindowHandleOnDestroy 
2228         plugin quirk if Flash 10 or newer since at least in b218, setting a NULL window 
2229         handler on destroy crashes WebKit <https://bugs.webkit.org/show_bug.cgi?id=19859>
2230
2231         * plugins/gtk/PluginPackageGtk.cpp:
2232
2233 2008-10-12  Jonathon Jongsma  <jonathon.jongsma@collabora.co.uk>
2234
2235         Reviewed by Oliver Hunt.
2236
2237         - https://bugs.webkit.org/show_bug.cgi?id=19331
2238           <rdar://problem/5984433>: Drag and drop of links in edit mode violates assert in MoveSelectionCommand::doApply()
2239
2240         * page/DragController.cpp:
2241         (WebCore::DragController::startDrag): When a link is dragged without any
2242         text selected (note: for this to work, the EditableLinkBehavior setting must be
2243         set to 'live' or 'default') and then dropped into an editable html document it
2244         will eventually violate an ASSERT in MoveSelectionCommand that requires that there
2245         is a selection.  To prevent this, expand the selection to the enclosing anchor tag
2246         when the drag begins.
2247
2248 2008-10-12  Darin Adler  <darin@apple.com>
2249
2250         Reviewed by Mark Rowe.
2251
2252         - fix https://bugs.webkit.org/show_bug.cgi?id=21557
2253           Bug 21557: REGRESSION: generated-layer-scrollbar-crash.html is crashing
2254
2255         * rendering/RenderObject.cpp:
2256         (WebCore::RenderObject::getPseudoStyle): Keep walking up the parent chain
2257         until we hit an Element. Nowadays, Node::isElementNode() is just as efficient
2258         as RenderObject::isText(), and this guarantees that the node can be cast to
2259         Element*, which is done just below. The reason this is hit is that RenderLayer
2260         can call getPseudoStyle on a RenderView, which has the document as its
2261         element() -- and a document is neither a Text node nor an Element. A loose
2262         end is that this seems to mean you can't style the scrollbar corner or the
2263         resizer on a RenderView. Hyatt may want to look into that later.
2264
2265 2008-10-12  Darin Adler  <darin@apple.com>
2266
2267         Reviewed by Sam Weinig.
2268
2269         - https://bugs.webkit.org/show_bug.cgi?id=21556
2270           Bug 21556: non-ASCII digits are allowed in places where only ASCII should be
2271
2272         Tests: fast/dom/HTMLFontElement/size-attribute.html
2273                fast/dom/HTMLInputElement/size-attribute.html
2274                fast/dom/HTMLTableElement/cellpadding-attribute.html
2275
2276         * html/HTMLFontElement.cpp:
2277         (WebCore::parseFontSizeNumber): Use isASCIIDigit instead of
2278         Unicode::isDigit, since non-ASCII digits are not valid here.
2279         * html/HTMLFontElement.h: Tweaked formatting a bit and removed
2280         the unneeded destructor declaration.
2281         * platform/text/String.cpp:
2282         (WebCore::lengthOfCharactersAsInteger): Use isASCIIDigit instead
2283         of Unicode::isDigit, since non-ASCII digits are not valid.
2284
2285 2008-10-12  Jungshik Shin  <jshin@chromium.org>
2286
2287         Reviewed by Darin Adler.
2288
2289         Treat x-user-defined as windows-1252 for html files with meta charset
2290         declaration to be compatible with Indian web sites.
2291         ( https://bugs.webkit.org/show_bug.cgi?id=18270 )
2292
2293         Test: fast/encoding/charset-xuser-defined.html
2294
2295         * loader/TextResourceDecoder.cpp:
2296         (WebCore::TextResourceDecoder::setEncoding):
2297
2298 2008-10-12  Sam Weinig  <sam@webkit.org>
2299
2300         Reviewed by Dan Bernstein.
2301
2302         Remove unneeded forward declaration.
2303
2304         * platform/graphics/ImageBuffer.h:
2305
2306 2008-10-12  Sam Weinig  <sam@webkit.org>
2307
2308         Reviewed by Darin Adler.
2309
2310         Fix for https://bugs.webkit.org/show_bug.cgi?id=21560
2311         Layering violation: String should not be responsible for creating Lengths
2312
2313         It was a layering violation for String to know haw to parse
2314         into Lengths, LengthArrays, and CoordsArrays.
2315
2316         * GNUmakefile.am:
2317         * WebCore.pro:
2318         * WebCore.vcproj/WebCore.vcproj:
2319         * WebCore.xcodeproj/project.pbxproj:
2320         * WebCoreSources.bkl:
2321         * html/HTMLAreaElement.cpp:
2322         (WebCore::HTMLAreaElement::parseMappedAttribute):
2323         * html/HTMLFrameSetElement.cpp:
2324         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
2325         * platform/text/AtomicString.h:
2326         (WebCore::AtomicString::percentage):
2327         * platform/text/PlatformString.h:
2328         * platform/text/String.cpp:
2329         * platform/text/StringImpl.cpp:
2330         * platform/text/StringImpl.h:
2331         * rendering/Length.cpp: Added.
2332         (WebCore::parseLength):
2333         (WebCore::countCharacter):
2334         (WebCore::newCoordsArray):
2335         (WebCore::newLengthArray):
2336         * rendering/Length.h:
2337         (WebCore::LengthSize::LengthSize):
2338
2339 2008-10-12  Brad Garcia  <bgarcia@google.com>
2340
2341         Reviewed by Darin Adler.
2342
2343         Interpret fractional percentage values for %MultiLength values.
2344         Fix for https://bugs.webkit.org/show_bug.cgi?id=3591
2345         Test: fast/frames/frame-length-fractional-percentage.html
2346
2347         * platform/text/StringImpl.cpp:
2348         (WebCore::parseLength):
2349
2350 2008-10-12  Timothy Hatcher  <timothy@apple.com>
2351
2352         Remember the expanded state of the rules in the Styles pane. So
2353         collapsing a rule will persist across all the elements that have
2354         that same rule. The same applies to Computed Style, so the Computed
2355         Style rule is now collapsed by default. This should help lessen the
2356         confusion on why Computed Style can't be edited (a common confusion.)
2357
2358         https://bugs.webkit.org/show_bug.cgi?id=21553
2359
2360         Reviewed by Darin Adler.
2361
2362         * inspector/front-end/PropertiesSection.js:
2363         (WebInspector.PropertiesSection): Set the _expanded property directly,
2364         instead of using the setter. Expanded is the default, so no work is needed.
2365         This prevents calling StylesSidebarPane.collapse before object initialization
2366         is complete.
2367         * inspector/front-end/StylesSidebarPane.js:
2368         (WebInspector.StylesSidebarPane.prototype.update): Check the Preferences object
2369         for the expanded state of the StylePropertiesSection. Collapse computed style
2370         by default and expand everything else.
2371         (WebInspector.StylePropertiesSection): Make a semi unique identifier to be used
2372         when remembering expanded state.
2373         (WebInspector.StylePropertiesSection.prototype.expand): Set the expanded state
2374         to true for this identifier in Preferences.styleRulesExpandedState. Don't remember
2375         the state if the dontRememberState property is true.
2376         (WebInspector.StylePropertiesSection.prototype.collapse): Set the expanded state
2377         to false for this identifier in Preferences.styleRulesExpandedState.
2378         * inspector/front-end/inspector.js:
2379         (Preferences.styleRulesExpandedState): Initialize to an empty object.
2380
2381 2008-10-12  Jan Michael Alonzo  <jmalonzo@webkit.org>
2382
2383         Reviewed by Alp Toker.
2384
2385         [Gtk] Remove libWebCoreJS.la when doing make clean
2386         https://bugs.webkit.org/show_bug.cgi?id=21544
2387
2388         Remove libWebCoreJS.la when doing a clean target
2389
2390         * GNUmakefile.am: add libWebCoreJS.la to CLEANFILES
2391
2392 2008-10-11  Alp Toker  <alp@nuanti.com>
2393
2394         Reviewed by Darin Adler.
2395
2396         https://bugs.webkit.org/show_bug.cgi?id=20592
2397         The focus ring is not shown while navigating on some pages
2398
2399         Fix drawFocusRing() so it doesn't depend on the current graphics
2400         state, thus matching other platforms which already work this way.
2401
2402         This patch provides two code paths: one using straight Cairo and
2403         one specialised for the GTK+ port with a more conventional appearance.
2404
2405         Also change focusRingColor() to return a null color, allowing the
2406         focus ring to pick up the style's current color if it isn't overridden
2407         with CSS.
2408
2409         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2410         (WebCore::GraphicsContext::drawFocusRing):
2411         * platform/gtk/TemporaryLinkStubs.cpp:
2412         (WebCore::focusRingColor):
2413
2414 2008-10-11  Dan Bernstein  <mitz@apple.com>
2415
2416         Rubber-stamped by Sam Weinig.
2417
2418         - change all internal callers to use Cache::evict() instead of remove()
2419
2420         * loader/Cache.cpp:
2421         (WebCore::Cache::revalidateResource):
2422         (WebCore::Cache::revalidationSucceeded):
2423         (WebCore::Cache::pruneDeadResources):
2424         (WebCore::Cache::setDisabled):
2425
2426 2008-10-11  David Hyatt  <hyatt@apple.com>
2427
2428         Make sure invalidatePart knows how to invalidate the track and scrollbar backgrounds.
2429
2430         Reviewed by Tim Hatcher
2431
2432         * platform/ScrollbarThemeComposite.cpp:
2433         (WebCore::ScrollbarThemeComposite::invalidatePart):
2434
2435 2008-10-11  David Hyatt  <hyatt@apple.com>
2436
2437         https://bugs.webkit.org/show_bug.cgi?id=21549 (regression in before/after track pieces).
2438
2439         Also fixed resizer positioning problems.
2440
2441         Reviewed by Tim Hatcher
2442
2443         * platform/ScrollbarThemeComposite.cpp:
2444         (WebCore::ScrollbarThemeComposite::splitTrack):
2445         (WebCore::ScrollbarThemeComposite::trackPosition):
2446         (WebCore::ScrollbarThemeComposite::trackLength):
2447         * platform/ScrollbarThemeComposite.h:
2448         (WebCore::ScrollbarThemeComposite::constrainTrackRectToTrackPieces):
2449         * rendering/RenderLayer.cpp:
2450         (WebCore::scrollCornerRect):
2451         (WebCore::RenderLayer::positionOverflowControls):
2452         (WebCore::RenderLayer::paintOverflowControls):
2453         (WebCore::RenderLayer::isPointInResizeControl):
2454         (WebCore::RenderLayer::hitTestOverflowControls):
2455         * rendering/RenderScrollbarTheme.cpp:
2456         (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
2457         * rendering/RenderScrollbarTheme.h:
2458
2459 2008-10-11  Alp Toker  <alp@nuanti.com>
2460
2461         Reviewed by David Hyatt.
2462
2463         Implement release/retain for Widget GTK+.
2464
2465         * platform/Widget.cpp:
2466         * platform/gtk/WidgetGtk.cpp:
2467         (WebCore::Widget::~Widget):
2468         (WebCore::Widget::releasePlatformWidget):
2469         (WebCore::Widget::retainPlatformWidget):
2470
2471 2008-10-11  Dan Bernstein  <mitz@apple.com>
2472
2473         Reviewed by Sam Weinig.
2474
2475         - rename WebCoreSetAlwaysUseATSU to WebCoreSetAlwaysUsesComplexTextCodePath
2476           and add a corresponding getter; add the same functions on Windows
2477
2478         * WebCore.base.exp:
2479         * platform/graphics/Font.cpp:
2480         (WebCore::Font::setCodePath):
2481         (WebCore::codePath):
2482         (WebCore::Font::canUseGlyphCache):
2483         * platform/graphics/Font.h:
2484         * platform/mac/WebCoreTextRenderer.h:
2485         * platform/mac/WebCoreTextRenderer.mm:
2486         (WebCoreSetAlwaysUsesComplexTextCodePath):
2487         (WebCoreAlwaysUsesComplexTextCodePath):
2488         * platform/win/WebCoreTextRenderer.cpp:
2489         (WebCore::WebCoreSetAlwaysUsesComplexTextCodePath):
2490         (WebCore::WebCoreAlwaysUsesComplexTextCodePath):
2491         * platform/win/WebCoreTextRenderer.h:
2492
2493 2008-10-11  Sam Weinig  <sam@webkit.org>
2494
2495         Reviewed by Cameron Zwarich.
2496
2497         Stop leaking the event parameter names.  The protected strings were showing up
2498         in the caches window after one use.  No measurable performance loss.
2499
2500         * bindings/js/JSEventListener.cpp:
2501         (WebCore::eventParameterName):
2502
2503 2008-10-11  Sam Weinig  <sam@webkit.org>
2504
2505         Reviewed by Cameron Zwarich.
2506
2507         Remove unused function getNodeEventListener.
2508
2509         * bindings/js/JSEventListener.cpp:
2510         * bindings/js/JSEventListener.h:
2511
2512 2008-10-11  David Hyatt  <hyatt@apple.com>
2513
2514         Add support for both positive and negative margins to tracks and track pieces.
2515
2516         Reviewed by Tim Hatcher
2517
2518         * platform/ScrollbarThemeComposite.cpp:
2519         (WebCore::ScrollbarThemeComposite::paint):
2520         (WebCore::ScrollbarThemeComposite::hitTest):
2521         (WebCore::ScrollbarThemeComposite::splitTrack):
2522         (WebCore::ScrollbarThemeComposite::trackPieceRects):
2523         (WebCore::ScrollbarThemeComposite::trackPosition):
2524         (WebCore::ScrollbarThemeComposite::trackLength):
2525         * platform/ScrollbarThemeComposite.h:
2526         (WebCore::ScrollbarThemeComposite::adjustTrackPieceRect):
2527         * rendering/RenderScrollbar.cpp:
2528         (WebCore::RenderScrollbar::trackRect):
2529         (WebCore::RenderScrollbar::trackPieceRectWithMargins):
2530         * rendering/RenderScrollbar.h:
2531         * rendering/RenderScrollbarPart.cpp:
2532         (WebCore::RenderScrollbarPart::computeScrollbarWidth):
2533         (WebCore::RenderScrollbarPart::computeScrollbarHeight):
2534         * rendering/RenderScrollbarTheme.cpp:
2535         (WebCore::RenderScrollbarTheme::adjustTrackPieceRect):
2536         * rendering/RenderScrollbarTheme.h:
2537
2538 2008-10-10  David Hyatt  <hyatt@apple.com>
2539
2540         Drop -webkit-scrollbar- from all the scrollbar pseudo-classes, since they are scoped to
2541         the scrollbar pseudo-elements anyway.
2542
2543         Reviewed by Tim Hatcher
2544
2545         * css/CSSSelector.cpp:
2546         (WebCore::CSSSelector::extractPseudoType):
2547         * css/CSSSelector.h:
2548         (WebCore::CSSSelector::):
2549         * css/CSSStyleSelector.cpp:
2550         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
2551
2552 2008-10-10  Dan Bernstein  <mitz@apple.com>
2553
2554         Reviewed by Sam Weinig.
2555
2556         - separate Cache::remove() into a private method and a public interface,
2557           then make Cache::pruneDeadResources() use the private method.
2558
2559         * loader/Cache.cpp:
2560         (WebCore::Cache::pruneDeadResources):
2561         (WebCore::Cache::evict):
2562         * loader/Cache.h:
2563         (WebCore::Cache::remove):
2564
2565 2008-10-10  David Hyatt  <hyatt@apple.com>
2566
2567         Fix a math error when splitting a vertical track.  Clean up more of ScrollbarThemeComposite
2568         now that the track pieces meet under the thumb.
2569
2570         Reviewed by Tim Hatcher
2571
2572         * platform/ScrollbarThemeComposite.cpp:
2573         (WebCore::ScrollbarThemeComposite::paint):
2574         (WebCore::ScrollbarThemeComposite::splitTrack):
2575
2576 2008-10-10  David Hyatt  <hyatt@apple.com>
2577
2578         Make the track pieces of a scrollbar extend under the thumb (each gets half the thumb).
2579
2580         Reviewed by Tim Hatcher
2581
2582         * platform/ScrollbarThemeComposite.cpp:
2583         (WebCore::ScrollbarThemeComposite::hitTest):
2584         (WebCore::ScrollbarThemeComposite::splitTrack):
2585
2586 2008-10-10  David Hyatt  <hyatt@apple.com>
2587
2588         Make sure specialized ::scrollbar rules are still triggering custom scrollbar creation.
2589
2590         Reviewed by Tim Hatcher
2591
2592         * rendering/RenderLayer.cpp:
2593         (WebCore::RenderLayer::createScrollbar):
2594         * rendering/RenderScrollbar.cpp:
2595         (WebCore::RenderScrollbar::createCustomScrollbar):
2596         (WebCore::RenderScrollbar::RenderScrollbar):
2597         (WebCore::RenderScrollbar::setParent):
2598         (WebCore::RenderScrollbar::updateScrollbarParts):
2599         (WebCore::RenderScrollbar::updateScrollbarPart):
2600         * rendering/RenderScrollbar.h:
2601         * rendering/style/RenderStyle.h:
2602         (WebCore::RenderStyle::):
2603
2604 2008-10-10  David Hyatt  <hyatt@apple.com>
2605
2606         Make sure scrollbar background images cause proper part invalidation to occur.
2607
2608         Reviewed by Tim Hatcher
2609
2610         * rendering/RenderScrollbar.cpp:
2611         (WebCore::RenderScrollbar::setHoveredPart):
2612         (WebCore::RenderScrollbar::setPressedPart):
2613         * rendering/RenderScrollbarPart.cpp:
2614         (WebCore::RenderScrollbarPart::styleDidChange):
2615         (WebCore::RenderScrollbarPart::imageChanged):
2616         * rendering/RenderScrollbarPart.h:
2617
2618 2008-10-10  Simon Fraser  <simon.fraser@apple.com>
2619
2620         Reviewed by Darin Adler
2621
2622         https://bugs.webkit.org/show_bug.cgi?id=21538
2623         
2624         The blendFunc() for TransformOperations should never mess with the
2625         operation lists by replacing some ops with identity, otherwise the lists
2626         no longer match and transitions break.
2627
2628         Test: transitions/matched-transform-functions.html
2629
2630         * page/animation/AnimationBase.cpp:
2631         (WebCore::blendFunc):
2632
2633 2008-10-10  Simon Fraser  <simon.fraser@apple.com>
2634
2635         Reviewed by Darin Adler
2636
2637         https://bugs.webkit.org/show_bug.cgi?id=21537
2638
2639         Fix re-targetting a running transition; if the target property
2640         changes, we do need to make a new ImplicitAnimation.
2641         
2642         Test: transitions/retargetted-transition.html
2643
2644         * page/animation/CompositeAnimation.cpp:
2645         (WebCore::CompositeAnimationPrivate::updateTransitions):
2646
2647 2008-10-10  Oliver Hunt  <oliver@apple.com>
2648
2649         Reviewed by Cameron Zwarich.
2650
2651         Part of <rdar://problem/6278147> Cannot stop a slow script -- Fix assertion.
2652
2653         When JS is terminated by the user choosing to stop a slow script
2654         the exception toString method throws, yet the console logger does
2655         not perform exception checks after logging.  This leaves an
2656         exception on the Machine, which in turn results in an assertion
2657         failure next time we attempt to enter JS.  The solution is just to
2658         clear the exception state after attempting to record the exception.
2659
2660         * page/Console.cpp:
2661         (WebCore::Console::reportException):
2662
2663 2008-10-10  David Hyatt  <hyatt@apple.com>
2664
2665         Make textareas work with custom CSS scrollbars and resizers.  Need to access the correct renderer
2666         when looking for pseudo styles.
2667
2668         Reviewed by Tim Hatcher
2669
2670         * rendering/RenderLayer.cpp:
2671         (WebCore::RenderLayer::createScrollbar):
2672         (WebCore::RenderLayer::styleChanged):
2673
2674 2008-10-10  David Hyatt  <hyatt@apple.com>
2675
2676         Add the ability to style the scroll corner and the resizer from CSS.
2677
2678         Reviewed by Tim Hatcher
2679
2680         * css/CSSSelector.cpp:
2681         (WebCore::CSSSelector::extractPseudoType):
2682         * css/CSSSelector.h:
2683         (WebCore::CSSSelector::):
2684         * css/CSSStyleSelector.cpp:
2685         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
2686         * rendering/RenderLayer.cpp:
2687         (WebCore::RenderLayer::RenderLayer):
2688         (WebCore::RenderLayer::~RenderLayer):
2689         (WebCore::RenderLayer::paintOverflowControls):
2690         (WebCore::RenderLayer::paintScrollCorner):
2691         (WebCore::RenderLayer::paintResizer):
2692         (WebCore::RenderLayer::styleChanged):
2693         * rendering/RenderLayer.h:
2694         * rendering/RenderScrollbar.cpp:
2695         (WebCore::RenderScrollbar::updateScrollbarPart):
2696         (WebCore::RenderScrollbar::paintPart):
2697         * rendering/RenderScrollbarPart.cpp:
2698         (WebCore::RenderScrollbarPart::RenderScrollbarPart):
2699         (WebCore::RenderScrollbarPart::paintIntoRect):
2700         * rendering/RenderScrollbarPart.h:
2701         * rendering/style/RenderStyle.h:
2702         (WebCore::RenderStyle::):
2703
2704 2008-10-10  David Hyatt  <hyatt@apple.com>
2705
2706         Make CSS scrollbars respect the OS setting regarding where buttons should be placed.
2707
2708         Reviewed by Sam Weinig
2709
2710         No test case possible, since the OS setting can vary.
2711
2712         * css/CSSSelector.cpp:
2713         (WebCore::CSSSelector::extractPseudoType):
2714         * css/CSSSelector.h:
2715         (WebCore::CSSSelector::):
2716         * css/CSSStyleSelector.cpp:
2717         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
2718         * platform/Scrollbar.h:
2719         (WebCore::Scrollbar::styleChanged):
2720         * platform/mac/ScrollbarThemeMac.mm:
2721         (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
2722         (WebCore::ScrollbarThemeMac::preferencesChanged):
2723         * rendering/RenderLayer.cpp:
2724         (WebCore::RenderLayer::invalidateScrollbarRect):
2725         * rendering/RenderScrollbar.cpp:
2726         (WebCore::RenderScrollbar::styleChanged):
2727         (WebCore::RenderScrollbar::updateScrollbarPart):
2728         * rendering/RenderScrollbar.h:
2729         * rendering/RenderScrollbarTheme.h:
2730         (WebCore::RenderScrollbarTheme::buttonsPlacement):
2731
2732 2008-10-10  Timothy Hatcher  <timothy@apple.com>
2733
2734         Fixes a regression with input search fields, where the placeholder text
2735         would not be updated when the value of the placeholder attribute changed.
2736
2737         https://bugs.webkit.org/show_bug.cgi?id=21521
2738
2739         Reviewed by Adele Peterson.
2740
2741         Test: fast/forms/search-placeholder-value-changed.html
2742
2743         * html/HTMLInputElement.cpp:
2744         (WebCore::HTMLInputElement::parseMappedAttribute): Pass true for the
2745         placeholderValueChanged parameter of updatePlaceholderVisibility.
2746         (WebCore::HTMLInputElement::updatePlaceholderVisibility): Add parameter
2747         for placeholderValueChanged that informs the method that the value changed.
2748         * html/HTMLInputElement.h: Add the placeholderValueChanged to the
2749         updatePlaceholderVisibility method. Made it default to false.
2750
2751 2008-10-10  David Hyatt  <hyatt@apple.com>
2752
2753         Allow the track part to have negative margins so that it can slightly overlap buttons.  This
2754         is necessary to emulate the Aqua look in CSS.
2755
2756         Reviewed by Sam Weinig
2757
2758         * platform/ScrollbarThemeComposite.cpp:
2759         (WebCore::ScrollbarThemeComposite::paint):
2760         (WebCore::ScrollbarThemeComposite::hitTest):
2761         * rendering/RenderScrollbar.cpp:
2762         (WebCore::RenderScrollbar::setHoveredPart):
2763         (WebCore::RenderScrollbar::trackRect):
2764         * rendering/RenderScrollbar.h:
2765         * rendering/RenderScrollbarPart.cpp:
2766         (WebCore::RenderScrollbarPart::computeScrollbarWidth):
2767         (WebCore::RenderScrollbarPart::computeScrollbarHeight):
2768         * rendering/RenderScrollbarTheme.cpp:
2769         (WebCore::RenderScrollbarTheme::backButtonRect):
2770         (WebCore::RenderScrollbarTheme::forwardButtonRect):
2771         (WebCore::RenderScrollbarTheme::trackRect):
2772
2773 2008-10-10  David Hyatt  <hyatt@apple.com>
2774
2775         https://bugs.webkit.org/show_bug.cgi?id=21527
2776
2777         Make CSS scrollbars support :not, :hover and :active.
2778
2779         Reviewed by Adam Roben
2780
2781         Added WebCore/manual-tests/scrollbar-hover-active.html
2782
2783         * css/CSSStyleSelector.cpp:
2784         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
2785         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
2786         * platform/Scrollbar.cpp:
2787         (WebCore::Scrollbar::autoscrollPressedPart):
2788         (WebCore::Scrollbar::startTimerIfNeeded):
2789         (WebCore::Scrollbar::setHoveredPart):
2790         (WebCore::Scrollbar::setPressedPart):
2791         (WebCore::Scrollbar::mouseMoved):
2792         (WebCore::Scrollbar::mouseExited):
2793         (WebCore::Scrollbar::mouseUp):
2794         (WebCore::Scrollbar::mouseDown):
2795         * platform/Scrollbar.h:
2796         * rendering/RenderScrollbar.cpp:
2797         (WebCore::RenderScrollbar::setHoveredPart):
2798         (WebCore::RenderScrollbar::setPressedPart):
2799         (WebCore::RenderScrollbar::updateScrollbarParts):
2800         (WebCore::pseudoForScrollbarPart):
2801         (WebCore::RenderScrollbar::updateScrollbarPart):
2802         * rendering/RenderScrollbar.h:
2803
2804 2008-10-10  Chris Marrin  <cmarrin@apple.com>
2805
2806         Reviewed by Dan Bernstein.
2807
2808         Fix for https://bugs.webkit.org/show_bug.cgi?id=21025
2809         CSS transition with duration=0 and delay=0 doesn't override ongoing transition
2810
2811         Test: transitions/interrupt-zero-duration.html
2812
2813         * page/animation/CompositeAnimation.cpp:
2814         (WebCore::CompositeAnimation::updateTransitions):
2815
2816 2008-10-10  Kevin Ollivier  <kevino@theolliviers.com>
2817
2818         wx build fix. Add new scrollbar-related sources.
2819
2820         * WebCoreSources.bkl:
2821
2822 2008-10-10  David Hyatt  <hyatt@apple.com>
2823
2824         https://bugs.webkit.org/show_bug.cgi?id=21522
2825
2826         Support increment/decrement/start/end on scrollbars.  Allows a fully functional scrollbar to be
2827         created.  (Just :hover/:active left to finish it up.)
2828
2829         Reviewed by Adam Roben
2830
2831         Added scrollbars/scrollbar-buttons.html
2832
2833         * css/CSSStyleSelector.cpp:
2834         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
2835
2836 2008-10-10  David Hyatt  <hyatt@apple.com>
2837
2838         Rename some pseudoclasses.  Removing "-scrollbar-" from a bunch of the pseudoclasses.  Renaming
2839         back/forward to decrement/increment.  Adding start/end pseudoclasses.
2840
2841         Reviewed by Eric Seidel
2842
2843         * css/CSSSelector.cpp:
2844         (WebCore::CSSSelector::extractPseudoType):
2845         * css/CSSSelector.h:
2846         (WebCore::CSSSelector::):
2847         * css/CSSStyleSelector.cpp:
2848         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
2849
2850 2008-10-10  David Hyatt  <hyatt@apple.com>
2851
2852         Switch window-active to window-inactive, since that will work better as far as degrading in other
2853         browsers.
2854
2855         Reviewed by Tim Hatcher
2856
2857         * css/CSSSelector.cpp:
2858         (WebCore::CSSSelector::extractPseudoType):
2859         * css/CSSSelector.h:
2860         (WebCore::CSSSelector::):
2861         * css/CSSStyleSelector.cpp:
2862         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
2863
2864 2008-10-09  Chris Marrin  <cmarrin@apple.com>
2865
2866         Reviewed by Dan Bernstein.
2867
2868         https://bugs.webkit.org/show_bug.cgi?id=21310
2869
2870         Redesigned how animation events are sent in order to get rid of
2871         AnimationEventDispatcher. ImplicitAnimation and KeyframeAnimation
2872         are now ref counted. While calling the event handler, I keep a 
2873         reference to this class to avoid it getting destroyed out from under me.
2874
2875         I also moved most of the functionality of CompositeAnimation to
2876         and internal class (CompositeAnimationPrivate) to reduce the exposure
2877         of the internals of the various animation classes.
2878
2879         We have several transition and animation LayoutTests which verify that
2880         this fix works as expected and continues to avoid crashes.
2881
2882         * page/animation/AnimationBase.cpp:
2883         (WebCore::AnimationBase::AnimationBase):
2884         * page/animation/AnimationBase.h:
2885         (WebCore::AnimationBase::cancelTimers):
2886         (WebCore::AnimationBase::waitingForStyleAvailable):
2887         * page/animation/CompositeAnimation.cpp:
2888         (WebCore::CompositeAnimationPrivate::CompositeAnimationPrivate):
2889         (WebCore::CompositeAnimationPrivate::suspended):
2890         (WebCore::CompositeAnimationPrivate::~CompositeAnimationPrivate):
2891         (WebCore::CompositeAnimationPrivate::updateTransitions):
2892         (WebCore::CompositeAnimationPrivate::updateKeyframeAnimations):
2893         (WebCore::CompositeAnimationPrivate::animate):
2894         (WebCore::CompositeAnimationPrivate::setAnimating):
2895         (WebCore::CompositeAnimationPrivate::animating):
2896         (WebCore::CompositeAnimationPrivate::getAnimationForProperty):
2897         (WebCore::CompositeAnimationPrivate::resetTransitions):
2898         (WebCore::CompositeAnimationPrivate::resetAnimations):
2899         (WebCore::CompositeAnimationPrivate::cleanupFinishedAnimations):
2900         (WebCore::CompositeAnimationPrivate::setAnimationStartTime):
2901         (WebCore::CompositeAnimationPrivate::setTransitionStartTime):
2902         (WebCore::CompositeAnimationPrivate::suspendAnimations):
2903         (WebCore::CompositeAnimationPrivate::resumeAnimations):
2904         (WebCore::CompositeAnimationPrivate::overrideImplicitAnimations):
2905         (WebCore::CompositeAnimationPrivate::resumeOverriddenImplicitAnimations):
2906         (WebCore::compareAnimationIndices):
2907         (WebCore::CompositeAnimationPrivate::styleAvailable):
2908         (WebCore::CompositeAnimationPrivate::isAnimatingProperty):
2909         (WebCore::CompositeAnimationPrivate::setWaitingForStyleAvailable):
2910         (WebCore::CompositeAnimation::CompositeAnimation):
2911         (WebCore::CompositeAnimation::~CompositeAnimation):
2912         (WebCore::CompositeAnimation::animate):
2913         (WebCore::CompositeAnimation::animating):
2914         (WebCore::CompositeAnimation::setWaitingForStyleAvailable):
2915         (WebCore::CompositeAnimation::resetTransitions):
2916         (WebCore::CompositeAnimation::suspendAnimations):
2917         (WebCore::CompositeAnimation::resumeAnimations):
2918         (WebCore::CompositeAnimation::suspended):
2919         (WebCore::CompositeAnimation::styleAvailable):
2920         (WebCore::CompositeAnimation::setAnimating):
2921         (WebCore::CompositeAnimation::isAnimatingProperty):
2922         (WebCore::CompositeAnimation::setAnimationStartTime):
2923         (WebCore::CompositeAnimation::setTransitionStartTime):
2924         (WebCore::CompositeAnimation::overrideImplicitAnimations):
2925         (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations):
2926         * page/animation/CompositeAnimation.h:
2927         * page/animation/ImplicitAnimation.cpp:
2928         (WebCore::ImplicitAnimation::sendTransitionEvent):
2929         * page/animation/ImplicitAnimation.h:
2930         (WebCore::ImplicitAnimation::create):
2931         * page/animation/KeyframeAnimation.cpp:
2932         (WebCore::KeyframeAnimation::sendAnimationEvent):
2933         * page/animation/KeyframeAnimation.h:
2934         (WebCore::KeyframeAnimation::create):
2935
2936 2008-10-09  David Hyatt  <hyatt@apple.com>
2937
2938         Add support for scrollbar orientation as a pseudoclass.  Add support for whether or not the scrollbar
2939         is active as well.
2940
2941         Reviewed by Tim Hatcher
2942
2943         Added scrollbars/scrollbar-orientation.html
2944
2945         * css/CSSSelector.cpp:
2946         (WebCore::CSSSelector::extractPseudoType):
2947         * css/CSSSelector.h:
2948         (WebCore::CSSSelector::):
2949         * css/CSSStyleSelector.cpp:
2950         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
2951         * platform/Scrollbar.cpp:
2952         (WebCore::Scrollbar::isWindowActive):
2953         * platform/Scrollbar.h:
2954         * rendering/RenderScrollbar.cpp:
2955         (WebCore::RenderScrollbar::paint):
2956         (WebCore::RenderScrollbar::partForStyleResolve):
2957         * rendering/RenderScrollbar.h:
2958
2959 2008-10-09  David Hyatt  <hyatt@apple.com>
2960
2961         Add support for pseudo classes on scrollbar pseudo elements.  As an initial proof of concept only
2962         :enabled/:disabled are supported.  More pseudo classes will follow quickly now that this works.
2963
2964         Reviewed by Tim Hatcher
2965
2966         Added scrollbars/disabled-scrollbar.html
2967
2968         * css/CSSStyleSelector.cpp:
2969         (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
2970         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
2971         (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
2972         * css/CSSStyleSelector.h:
2973         * rendering/RenderObject.cpp:
2974         (WebCore::RenderObject::getPseudoStyle):
2975         * rendering/RenderObject.h:
2976         * rendering/RenderScrollbar.cpp:
2977         (WebCore::RenderScrollbar::setEnabled):
2978         (WebCore::RenderScrollbar::scrollbarForStyleResolve):
2979         (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
2980         (WebCore::RenderScrollbar::paintPart):
2981         * rendering/RenderScrollbar.h:
2982
2983 2008-10-09  Eric Carlson  <eric.carlson@apple.com>
2984
2985         Media controls should not show when element is not visible
2986
2987         https://bugs.webkit.org/show_bug.cgi?id=21155
2988         
2989         Reviewed by Adele Peterson.
2990
2991         * html/HTMLMediaElement.cpp:
2992         (WebCore::HTMLMediaElement::recalcStyle): New, call renderer()->updateFromElement to stay
2993         in sync with visibility changes
2994         * html/HTMLMediaElement.h:
2995         * rendering/RenderMedia.cpp:
2996         (WebCore::RenderMedia::RenderMedia): initialize m_previousVisible
2997         (WebCore::RenderMedia::updateControlVisibility): consider style()->visibility() when determining
2998         if element is visible or not. Don't animate controller visibility when change triggered by
2999         showing or hiding media element.
3000         * rendering/RenderMedia.h: declare m_previousVisible
3001
3002 2008-10-09  Timothy Hatcher  <timothy@apple.com>
3003
3004         Annotate the Objective-C DOM APIs with the JavaScriptCore/WebKitAvailability.h
3005         availability macros and version macros.
3006
3007         https://bugs.webkit.org/show_bug.cgi?id=21496
3008         rdar://problem/6259225
3009
3010         Reviewed by Sam Weinig.
3011
3012         * bindings/objc/DOMCSS.h: Add a version #if around catgory interface.
3013         * bindings/objc/DOMEventException.h: Include JavaScriptCore/WebKitAvailability.h
3014         and add an #if around the enum.
3015         * bindings/objc/DOMException.h: Ditto. Give the enum a name and remove the
3016         comment to match the other headers.
3017         * bindings/objc/DOMExtensions.h: Annotate the methods with version 3.0 or later.
3018         * bindings/objc/DOMObject.h: Add a version #if around class interface.
3019         * bindings/objc/DOMRangeException.h: Include JavaScriptCore/WebKitAvailability.h
3020         and add a version #if around the enum.
3021         * bindings/objc/DOMSVGException.h: Ditto. Use the latest version since SVG is new.
3022         * bindings/objc/DOMXPathException.h: Ditto. Use the 3.0 version.
3023         * bindings/objc/PublicDOMInterfaces.h: Annotate classes and protocols for
3024         when they where added to WebKit. Also annotate individual methods that are
3025         deprecated or where added after the class was added to WebKit.
3026         * bindings/objc/WebScriptObject.h: Include JavaScriptCore/WebKitAvailability.h
3027         since this header is included by most DOM headers. Annotate the JSObject method.
3028
3029         * bindings/scripts/CodeGeneratorObjC.pm:
3030         (ReadPublicInterfaces): Parse out the availability macro for each function/property.
3031         And parse out the availability version for the class/protocol. Default to
3032         WEBKIT_VERSION_LATEST if the class is new.
3033         (GenerateHeader): Include JavaScriptCore/WebKitAvailability.h if needed. Add the
3034         interface availability version check if the class has a required version. Create
3035         a public interface key (used to lookup in $publicInterfaces) and make a declaration
3036         suffix that includes the availability macro (if needed). Use the "available in 1.3
3037         and later but deprecated in 3.0" macro instead of "deprecated in 10.5 and later" as
3038         the default availability macro for old style methods. Tweak line breaks in the generated
3039         headers to look good and not have too many extra lines.
3040
3041 2008-10-09  Simon Fraser  <simon.fraser@apple.com>
3042
3043         Reviewed by Dave Hyatt
3044
3045         https://bugs.webkit.org/show_bug.cgi?id=20947
3046
3047         Refactor setStyle() methods into styleWillChange()
3048         and styleDidChange(), so most of the setStyle() overrides can
3049         be removed.
3050
3051         * rendering/RenderBR.cpp:
3052         (WebCore::RenderBR::styleDidChange):
3053         * rendering/RenderBR.h:
3054         * rendering/RenderBlock.cpp:
3055         (WebCore::RenderBlock::styleWillChange):
3056         (WebCore::RenderBlock::styleDidChange):
3057         * rendering/RenderBlock.h:
3058         * rendering/RenderBox.cpp:
3059         (WebCore::RenderBox::~RenderBox):
3060         (WebCore::RenderBox::destroy):
3061         (WebCore::RenderBox::styleWillChange):
3062         (WebCore::RenderBox::styleDidChange):
3063         * rendering/RenderBox.h:
3064         * rendering/RenderButton.cpp:
3065         (WebCore::RenderButton::styleWillChange):
3066         (WebCore::RenderButton::styleDidChange):
3067         * rendering/RenderButton.h:
3068         * rendering/RenderFieldset.cpp:
3069         (WebCore::RenderFieldset::styleDidChange):
3070         * rendering/RenderFieldset.h:
3071         * rendering/RenderFileUploadControl.cpp:
3072         (WebCore::RenderFileUploadControl::styleDidChange):
3073         * rendering/RenderFileUploadControl.h:
3074         * rendering/RenderInline.cpp:
3075         (WebCore::RenderInline::styleDidChange):
3076         * rendering/RenderInline.h:
3077         * rendering/RenderLayer.cpp:
3078         (WebCore::RenderLayer::styleChanged):
3079         * rendering/RenderLayer.h:
3080         * rendering/RenderListBox.cpp:
3081         (WebCore::RenderListBox::styleDidChange):
3082         * rendering/RenderListBox.h:
3083         * rendering/RenderListItem.cpp:
3084         (WebCore::RenderListItem::styleDidChange):
3085         * rendering/RenderListItem.h:
3086         * rendering/RenderListMarker.cpp:
3087         (WebCore::RenderListMarker::styleWillChange):
3088         (WebCore::RenderListMarker::styleDidChange):
3089         * rendering/RenderListMarker.h:
3090         * rendering/RenderMenuList.cpp:
3091         (WebCore::RenderMenuList::styleDidChange):
3092         * rendering/RenderMenuList.h:
3093         * rendering/RenderObject.cpp:
3094         (WebCore::RenderObject::setStyle):
3095         (WebCore::RenderObject::setStyleInternal):
3096         (WebCore::RenderObject::styleWillChange):
3097         (WebCore::RenderObject::styleDidChange):
3098         * rendering/RenderObject.h:
3099         * rendering/RenderReplaced.cpp:
3100         (WebCore::RenderReplaced::styleDidChange):
3101         * rendering/RenderReplaced.h:
3102         * rendering/RenderSVGGradientStop.cpp:
3103         (WebCore::RenderSVGGradientStop::styleDidChange):
3104         * rendering/RenderSVGGradientStop.h:
3105         * rendering/RenderScrollbarPart.cpp:
3106         (WebCore::RenderScrollbarPart::styleDidChange):
3107         * rendering/RenderScrollbarPart.h:
3108         * rendering/RenderSlider.cpp:
3109         (WebCore::RenderSlider::styleDidChange):
3110         * rendering/RenderSlider.h:
3111         * rendering/RenderTable.cpp:
3112         (WebCore::RenderTable::styleDidChange):
3113         * rendering/RenderTable.h:
3114         * rendering/RenderTableCell.cpp:
3115         (WebCore::RenderTableCell::styleWillChange):
3116         (WebCore::RenderTableCell::styleDidChange):
3117         * rendering/RenderTableCell.h:
3118         * rendering/RenderTableRow.cpp:
3119         (WebCore::RenderTableRow::styleWillChange):
3120         * rendering/RenderTableRow.h:
3121         * rendering/RenderText.cpp:
3122         (WebCore::RenderText::styleDidChange):
3123         * rendering/RenderText.h:
3124         * rendering/RenderTextControl.cpp:
3125         (WebCore::RenderTextControl::styleDidChange):
3126         * rendering/RenderTextControl.h:
3127         * rendering/RenderWidget.cpp:
3128         (WebCore::RenderWidget::styleDidChange):
3129         * rendering/RenderWidget.h:
3130
3131 2008-10-09  David Hyatt  <hyatt@apple.com>
3132
3133         Make sure to destroy a custom scrollbar's RenderObjects before the arena goes away.  When our widget
3134         parent is nulled out is a good time.
3135
3136         Reviewed by Oliver Hunt
3137
3138         * rendering/RenderScrollbar.cpp:
3139         (WebCore::RenderScrollbar::~RenderScrollbar):
3140         (WebCore::RenderScrollbar::setParent):
3141         (WebCore::RenderScrollbar::updateScrollbarPart):
3142         * rendering/RenderScrollbar.h:
3143
3144 2008-10-09  David Hyatt  <hyatt@apple.com>
3145
3146         https://bugs.webkit.org/show_bug.cgi?id=21446
3147
3148         This patch gets CSS scrollbars up and limping.  There's no way to distinguish between states or between
3149         orientation and back vs. forward on the buttons, but it's a start.
3150
3151         Reviewed by Oliver Hunt
3152
3153         Added scrollbars/basic-scrollbar.html
3154
3155         * WebCore.xcodeproj/project.pbxproj:
3156         * css/CSSSelector.cpp:
3157         (WebCore::CSSSelector::extractPseudoType):
3158         * css/CSSSelector.h:
3159         (WebCore::CSSSelector::):
3160         * css/CSSStyleSelector.cpp:
3161         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
3162         * platform/ScrollTypes.h:
3163         (WebCore::):
3164         * platform/Scrollbar.h:
3165         (WebCore::Scrollbar::styleChanged):
3166         * platform/ScrollbarThemeComposite.cpp:
3167         (WebCore::ScrollbarThemeComposite::paint):
3168         (WebCore::ScrollbarThemeComposite::splitTrack):
3169         * platform/ScrollbarThemeComposite.h:
3170         (WebCore::ScrollbarThemeComposite::paintScrollbarBackground):
3171         (WebCore::ScrollbarThemeComposite::paintTrackBackground):
3172         (WebCore::ScrollbarThemeComposite::paintTrackPiece):
3173         * platform/win/ScrollbarThemeSafari.cpp:
3174         (WebCore::ScrollbarThemeSafari::paintTrackBackground):
3175         * platform/win/ScrollbarThemeSafari.h:
3176         * platform/win/ScrollbarThemeWin.cpp:
3177         (WebCore::ScrollbarThemeWin::paintTrack):
3178         * platform/win/ScrollbarThemeWin.h:
3179         * rendering/RenderLayer.cpp:
3180         (WebCore::RenderLayer::createScrollbar):
3181         (WebCore::RenderLayer::styleChanged):
3182         * rendering/RenderScrollbar.cpp: Added.
3183         (WebCore::RenderScrollbar::createCustomScrollbar):
3184         (WebCore::RenderScrollbar::RenderScrollbar):
3185         (WebCore::RenderScrollbar::~RenderScrollbar):
3186         (WebCore::RenderScrollbar::getScrollbarPseudoStyle):
3187         (WebCore::RenderScrollbar::updateScrollbarParts):
3188         (WebCore::RenderScrollbar::updateScrollbarPart):
3189         (WebCore::RenderScrollbar::paintPart):
3190         (WebCore::RenderScrollbar::buttonRect):
3191         (WebCore::RenderScrollbar::minimumThumbLength):
3192         * rendering/RenderScrollbar.h: Added.
3193         (WebCore::RenderScrollbar::styleChanged):
3194         (WebCore::RenderScrollbar::owningRenderer):
3195         * rendering/RenderScrollbarPart.cpp: Added.
3196         (WebCore::RenderScrollbarPart::RenderScrollbarPart):
3197         (WebCore::RenderScrollbarPart::~RenderScrollbarPart):
3198         (WebCore::RenderScrollbarPart::layout):
3199         (WebCore::RenderScrollbarPart::layoutHorizontalPart):
3200         (WebCore::RenderScrollbarPart::layoutVerticalPart):
3201         (WebCore::calcScrollbarThicknessUsing):
3202         (WebCore::RenderScrollbarPart::computeScrollbarWidth):
3203         (WebCore::RenderScrollbarPart::computeScrollbarHeight):
3204         (WebCore::RenderScrollbarPart::calcPrefWidths):
3205         (WebCore::RenderScrollbarPart::setStyle):
3206         * rendering/RenderScrollbarPart.h: Added.
3207         (WebCore::RenderScrollbarPart::renderName):
3208         (WebCore::RenderScrollbarPart::requiresLayer):
3209         * rendering/RenderScrollbarTheme.cpp: Added.
3210         (WebCore::RenderScrollbarTheme::renderScrollbarTheme):
3211         (WebCore::RenderScrollbarTheme::buttonSizesAlongTrackAxis):
3212         (WebCore::RenderScrollbarTheme::hasButtons):
3213         (WebCore::RenderScrollbarTheme::hasThumb):
3214         (WebCore::RenderScrollbarTheme::minimumThumbLength):
3215         (WebCore::RenderScrollbarTheme::backButtonRect):
3216         (WebCore::RenderScrollbarTheme::forwardButtonRect):
3217         (WebCore::RenderScrollbarTheme::trackRect):
3218         (WebCore::RenderScrollbarTheme::paintScrollCorner):
3219         (WebCore::RenderScrollbarTheme::paintScrollbarBackground):
3220         (WebCore::RenderScrollbarTheme::paintTrackBackground):
3221         (WebCore::RenderScrollbarTheme::paintTrackPiece):
3222         (WebCore::RenderScrollbarTheme::paintButton):
3223         (WebCore::RenderScrollbarTheme::paintThumb):
3224         * rendering/RenderScrollbarTheme.h: Added.
3225         (WebCore::RenderScrollbarTheme::~RenderScrollbarTheme):
3226         (WebCore::RenderScrollbarTheme::scrollbarThickness):
3227         (WebCore::RenderScrollbarTheme::buttonsPlacement):
3228         (WebCore::RenderScrollbarTheme::supportsControlTints):
3229         (WebCore::RenderScrollbarTheme::shouldCenterOnThumb):
3230         (WebCore::RenderScrollbarTheme::initialAutoscrollTimerDelay):
3231         (WebCore::RenderScrollbarTheme::autoscrollTimerDelay):
3232         (WebCore::RenderScrollbarTheme::registerScrollbar):
3233         (WebCore::RenderScrollbarTheme::unregisterScrollbar):
3234         * rendering/style/RenderStyle.h:
3235         (WebCore::RenderStyle::):
3236
3237 2008-10-09  Eric Seidel  <eric@webkit.org>
3238
3239         Reviewed by Oliver Hunt.
3240
3241         Fix Canvex DOOM Game
3242         Gradient clips were not getting cleared after filling the
3243         gradient, this was causing nothing to draw in Canvex
3244         https://bugs.webkit.org/show_bug.cgi?id=21498
3245         
3246         Tests forthcoming.
3247
3248         * WebCore.xcodeproj/project.pbxproj:
3249         * platform/graphics/cg/GraphicsContextCG.cpp:
3250         (WebCore::GraphicsContext::fillPath):
3251         (WebCore::GraphicsContext::strokePath):
3252         (WebCore::GraphicsContext::fillRect):
3253
3254 2008-10-09  Eric Seidel  <eric@webkit.org>
3255
3256         Reviewed by Oliver Hunt.
3257         
3258         Fix transformed patterns
3259         https://bugs.webkit.org/show_bug.cgi?id=21498
3260         
3261         Test: fast/canvas/patternfill-repeat.html
3262
3263         * WebCore.xcodeproj/project.pbxproj:
3264         * platform/graphics/GraphicsContext.cpp:
3265         (WebCore::GraphicsContext::setStrokePattern):
3266         (WebCore::GraphicsContext::setFillPattern):
3267         (WebCore::GraphicsContext::setStrokeGradient):
3268         (WebCore::GraphicsContext::setFillGradient):
3269         * platform/graphics/GraphicsContext.h:
3270         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3271         * platform/graphics/cg/GraphicsContextCG.cpp:
3272         (WebCore::applyStrokePattern):
3273         (WebCore::applyFillPattern):
3274         (WebCore::GraphicsContext::drawPath):
3275         (WebCore::GraphicsContext::fillPath):
3276         (WebCore::GraphicsContext::strokePath):
3277         (WebCore::GraphicsContext::fillRect):
3278         * platform/graphics/qt/GraphicsContextQt.cpp:
3279         * platform/graphics/wx/GraphicsContextWx.cpp:
3280
3281 2008-10-09  Kevin Ollivier  <kevino@theolliviers.com>
3282
3283         wx build fixes.
3284
3285         * platform/wx/WidgetWx.cpp:
3286         * plugins/wx/PluginViewWx.cpp:
3287         (WebCore::PluginView::invalidateRect):
3288         * webcore-base.bkl:
3289
3290 2008-10-09  Chris Marrin  <cmarrin@apple.com>
3291
3292         Reviewed by Darin Adler.
3293
3294         Fix for https://bugs.webkit.org/show_bug.cgi?id=21217
3295         Animations assert when navigating from page
3296
3297         Changed assertions to test the right flag for the paused state
3298
3299         * page/animation/AnimationBase.cpp:
3300         (WebCore::AnimationBase::updateStateMachine):
3301
3302 2008-10-09  Chris Marrin  <cmarrin@apple.com>
3303
3304         Reviewed by Dan Bernstein.
3305
3306         Fixed > 180 degree rotation bug
3307         Ensure that validateTransformFunctionList() is called after updating keyframe styles
3308
3309         https://bugs.webkit.org/show_bug.cgi?id=21420
3310
3311         Test: animations/big-rotation.html
3312
3313         * page/animation/KeyframeAnimation.cpp:
3314         (WebCore::KeyframeAnimation::KeyframeAnimation):
3315
3316 2008-10-09  Brady Eidson  <beidson@apple.com>
3317
3318         Reviewed by Anders
3319
3320         <rdar://problem/6250856> - Calling [WebView close] from within a redirection callback can cause bad things
3321
3322         The API usage to reveal this crash was so particular that a layout test is not possible with our current infrastructure.
3323
3324         * loader/FrameLoader.cpp:
3325         (WebCore::FrameLoader::changeLocation): Protect the Frame from deletion
3326         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): stopAllLoaders() might clear the Frame's page,
3327           so perform a second null check on the page.  Bail if it has been cleared.
3328
3329 2008-10-09  Alp Toker  <alp@nuanti.com>
3330
3331         Build fix for recent DOM generation Makefile changes when custom
3332         CFLAGS/CXXFLAGS are passed in.
3333
3334         * GNUmakefile.am:
3335
3336 2008-10-09  Jan Michael Alonzo  <jmalonzo@webkit.org>
3337
3338         Reviewed by Alp Toker.
3339
3340         https://bugs.webkit.org/show_bug.cgi?id=21390
3341         [Gtk] Linux/Gtk: GtkLauncher crashes on Acid3 (but after test 80 this time)
3342
3343         * platform/gtk/ScrollViewGtk.cpp:
3344         (WebCore::ScrollView::platformRemoveChild):
3345
3346 2008-10-09  Darin Adler  <darin@apple.com>
3347
3348        - try to fix Qt build
3349
3350         * bridge/qt/qt_runtime.cpp:
3351         (JSC::Bindings::convertQVariantToValue): Pass JSGlobalData instead of ExecState to RegExp constructor.
3352
3353 2008-10-08  Nikolas Zimmermann  <zimmermann@kde.org>
3354
3355         Reviewed by Oliver Hunt & Sam Weinig.
3356
3357         Fixes: https://bugs.webkit.org/show_bug.cgi?id=15413 (SVGElementInstance does not implement EventTarget)
3358         Fixes: https://bugs.webkit.org/show_bug.cgi?id=15430 (SVGElementInstances should rebuild themselves lazily)
3359         Fixes: https://bugs.webkit.org/show_bug.cgi?id=20550 (SVGUseElement.setAttribute crashes Safari)
3360
3361         Rebuild SVG use element shadow tree lazily. Mark SVGElementInstance with the "needsUpdate" flag.
3362         Next time SVGUseElement::recalcStyle is invoked (ie. via Document::updateDocumentsRendering()) the
3363         use tree is rebuild.
3364
3365         Make SVGElementInstance a real EventTarget, as the SVG specification demands.
3366         When dispatching events to a shadow tree element of a use element, the associated SVGElementInstance
3367         is used as event target. The SVGElementInstance, the shadow tree element and the corresponding element
3368         share an event listener list. Every event listener change on the SVGElementInstance object is forwared
3369         to the corresponding element. Each change marks the SVGElementInstance tree dirty, and causes a reclone.
3370         Each event listener defined via attributes (onclick/onkeydown/...) is copied from the correspondingElement
3371         to the shadow tree element - through the cloneNode calls - if the use element's shadow tree gets rebuild.
3372         Each listener, dynamically created using addEventListener, gets copied to the corersponding element as well.
3373
3374         Now that the target/currentTarget properties of the Events are correct, event bubbling works as expected,
3375         see resources/use-instanceRoot-event-bubbling.js for details.
3376
3377         Tests: svg/custom/use-elementInstance-event-target.svg (reenabled)
3378                svg/custom/use-elementInstance-methods.svg (reenabled)
3379                svg/custom/use-setAttribute-crash.svg (covers bug 20550)
3380                svg/custom/use-instanceRoot-as-event-target.xhtml (covers bug 15413)
3381                svg/custom/use-instanceRoot-event-bubbling.xhtml (covers bug 15413)
3382                svg/custom/use-instanceRoot-event-listeners.xhtml (covers bug 15413 & 15430)
3383
3384         * DerivedSources.make:
3385         * GNUmakefile.am:
3386         * WebCore.pro:
3387         * WebCore.vcproj/WebCore.vcproj:
3388         * WebCore.xcodeproj/project.pbxproj:
3389         * bindings/js/JSEventListener.h:
3390         (WebCore::JSLazyEventListener::wasCreatedFromMarkup):
3391         * bindings/js/JSEventTarget.cpp:
3392         * bindings/js/JSEventTargetSVGElementInstance.cpp: Removed.
3393         * bindings/js/JSEventTargetSVGElementInstance.h: Removed.
3394         * bindings/js/JSSVGElementInstanceCustom.cpp:
3395         (WebCore::JSSVGElementInstance::addEventListener):
3396         (WebCore::JSSVGElementInstance::removeEventListener):
3397         (WebCore::JSSVGElementInstance::pushEventHandlerScope):
3398         * bindings/scripts/CodeGeneratorJS.pm:
3399         * bindings/scripts/CodeGeneratorObjC.pm:
3400         * dom/EventListener.h:
3401         (WebCore::EventListener::wasCreatedFromMarkup):
3402         * dom/EventTargetNode.cpp:
3403         (WebCore::updateSVGElementInstancesAfterEventListenerChange):
3404         (WebCore::EventTargetNode::addEventListener):
3405         (WebCore::EventTargetNode::removeEventListener):
3406         (WebCore::eventTargetAsSVGElementInstance):
3407         (WebCore::eventTargetRespectingSVGTargetRules):
3408         (WebCore::EventTargetNode::dispatchEvent):
3409         (WebCore::EventTargetNode::dispatchGenericEvent):
3410         (WebCore::EventTargetNode::removeEventListenerForType):
3411         * page/EventHandler.cpp:
3412         (WebCore::EventHandler::clear):
3413         (WebCore::instanceAssociatedWithShadowTreeElement):
3414         (WebCore::EventHandler::updateMouseEventTargetNode):
3415         * page/EventHandler.h:
3416         * svg/EventTargetSVGElementInstance.cpp: Removed.
3417         * svg/EventTargetSVGElementInstance.h: Removed.
3418         * svg/SVGElementInstance.cpp:
3419         (WebCore::SVGElementInstance::SVGElementInstance):
3420         (WebCore::SVGElementInstance::~SVGElementInstance):
3421         (WebCore::SVGElementInstance::childNodes):
3422         (WebCore::SVGElementInstance::setShadowTreeElement):
3423         (WebCore::SVGElementInstance::forgetWrapper):
3424         (WebCore::SVGElementInstance::appendChild):
3425         (WebCore::SVGElementInstance::invalidateAllInstancesOfElement):
3426         (WebCore::SVGElementInstance::setNeedsUpdate):
3427         (WebCore::SVGElementInstance::associatedFrame):
3428         (WebCore::SVGElementInstance::addEventListener):
3429         (WebCore::SVGElementInstance::removeEventListener):
3430         (WebCore::SVGElementInstance::dispatchEvent):
3431         (WebCore::SVGElementInstance::onabort):
3432         (WebCore::SVGElementInstance::setOnabort):
3433         (WebCore::SVGElementInstance::onblur):
3434         (WebCore::SVGElementInstance::setOnblur):
3435         (WebCore::SVGElementInstance::onchange):
3436         (WebCore::SVGElementInstance::setOnchange):
3437         (WebCore::SVGElementInstance::onclick):
3438         (WebCore::SVGElementInstance::setOnclick):
3439         (WebCore::SVGElementInstance::oncontextmenu):
3440         (WebCore::SVGElementInstance::setOncontextmenu):
3441         (WebCore::SVGElementInstance::ondblclick):
3442         (WebCore::SVGElementInstance::setOndblclick):
3443         (WebCore::SVGElementInstance::onerror):
3444         (WebCore::SVGElementInstance::setOnerror):
3445         (WebCore::SVGElementInstance::onfocus):
3446         (WebCore::SVGElementInstance::setOnfocus):
3447         (WebCore::SVGElementInstance::oninput):
3448         (WebCore::SVGElementInstance::setOninput):
3449         (WebCore::SVGElementInstance::onkeydown):
3450         (WebCore::SVGElementInstance::setOnkeydown):
3451         (WebCore::SVGElementInstance::onkeypress):
3452         (WebCore::SVGElementInstance::setOnkeypress):
3453         (WebCore::SVGElementInstance::onkeyup):
3454         (WebCore::SVGElementInstance::setOnkeyup):
3455         (WebCore::SVGElementInstance::onload):
3456         (WebCore::SVGElementInstance::setOnload):
3457         (WebCore::SVGElementInstance::onmousedown):
3458         (WebCore::SVGElementInstance::setOnmousedown):
3459         (WebCore::SVGElementInstance::onmousemove):
3460         (WebCore::SVGElementInstance::setOnmousemove):
3461         (WebCore::SVGElementInstance::onmouseout):
3462         (WebCore::SVGElementInstance::setOnmouseout):
3463         (WebCore::SVGElementInstance::onmouseover):
3464         (WebCore::SVGElementInstance::setOnmouseover):
3465         (WebCore::SVGElementInstance::onmouseup):
3466         (WebCore::SVGElementInstance::setOnmouseup):
3467         (WebCore::SVGElementInstance::onmousewheel):
3468         (WebCore::SVGElementInstance::setOnmousewheel):
3469         (WebCore::SVGElementInstance::onbeforecut):
3470         (WebCore::SVGElementInstance::setOnbeforecut):
3471         (WebCore::SVGElementInstance::oncut):
3472         (WebCore::SVGElementInstance::setOncut):
3473         (WebCore::SVGElementInstance::onbeforecopy):
3474         (WebCore::SVGElementInstance::setOnbeforecopy):
3475         (WebCore::SVGElementInstance::oncopy):
3476         (WebCore::SVGElementInstance::setOncopy):
3477         (WebCore::SVGElementInstance::onbeforepaste):
3478         (WebCore::SVGElementInstance::setOnbeforepaste):
3479         (WebCore::SVGElementInstance::onpaste):
3480         (WebCore::SVGElementInstance::setOnpaste):
3481         (WebCore::SVGElementInstance::ondragenter):
3482         (WebCore::SVGElementInstance::setOndragenter):
3483         (WebCore::SVGElementInstance::ondragover):
3484         (WebCore::SVGElementInstance::setOndragover):
3485         (WebCore::SVGElementInstance::ondragleave):
3486         (WebCore::SVGElementInstance::setOndragleave):
3487         (WebCore::SVGElementInstance::ondrop):
3488         (WebCore::SVGElementInstance::setOndrop):
3489         (WebCore::SVGElementInstance::ondragstart):
3490         (WebCore::SVGElementInstance::setOndragstart):
3491         (WebCore::SVGElementInstance::ondrag):
3492         (WebCore::SVGElementInstance::setOndrag):
3493         (WebCore::SVGElementInstance::ondragend):
3494         (WebCore::SVGElementInstance::setOndragend):
3495         (WebCore::SVGElementInstance::onreset):
3496         (WebCore::SVGElementInstance::setOnreset):
3497         (WebCore::SVGElementInstance::onresize):
3498         (WebCore::SVGElementInstance::setOnresize):
3499         (WebCore::SVGElementInstance::onscroll):
3500         (WebCore::SVGElementInstance::setOnscroll):
3501         (WebCore::SVGElementInstance::onsearch):
3502         (WebCore::SVGElementInstance::setOnsearch):
3503         (WebCore::SVGElementInstance::onselect):
3504         (WebCore::SVGElementInstance::setOnselect):
3505         (WebCore::SVGElementInstance::onselectstart):
3506         (WebCore::SVGElementInstance::setOnselectstart):
3507         (WebCore::SVGElementInstance::onsubmit):
3508         (WebCore::SVGElementInstance::setOnsubmit):
3509         (WebCore::SVGElementInstance::onunload):
3510         (WebCore::SVGElementInstance::setOnunload):
3511         * svg/SVGElementInstance.h:
3512         (WebCore::SVGElementInstance::needsUpdate):
3513         (WebCore::SVGElementInstance::toNode):
3514         (WebCore::SVGElementInstance::toSVGElementInstance):
3515         (WebCore::SVGElementInstance::correspondingElement):
3516         (WebCore::SVGElementInstance::correspondingUseElement):
3517         (WebCore::SVGElementInstance::shadowTreeElement):
3518         (WebCore::SVGElementInstance::parentNode):
3519         (WebCore::SVGElementInstance::previousSibling):
3520         (WebCore::SVGElementInstance::nextSibling):
3521         (WebCore::SVGElementInstance::firstChild):
3522         (WebCore::SVGElementInstance::lastChild):
3523         (WebCore::SVGElementInstance::ownerDocument):
3524         (WebCore::SVGElementInstance::hasChildNodes):
3525         (WebCore::SVGElementInstance::setFirstChild):
3526         (WebCore::SVGElementInstance::setLastChild):
3527         (WebCore::SVGElementInstance::setNextSibling):
3528         (WebCore::SVGElementInstance::setPreviousSibling):
3529         (WebCore::SVGElementInstance::refEventTarget):
3530         (WebCore::SVGElementInstance::derefEventTarget):
3531         * svg/SVGElementInstance.idl:
3532         * svg/SVGStyledElement.cpp:
3533         (WebCore::SVGStyledElement::svgAttributeChanged):
3534         (WebCore::SVGStyledElement::childrenChanged):
3535         * svg/SVGUseElement.cpp:
3536         (WebCore::SVGUseElement::svgAttributeChanged):
3537         (WebCore::shadowTreeContainsChangedNodes):
3538         (WebCore::SVGUseElement::recalcStyle):
3539         (WebCore::dumpInstanceTree):
3540         (WebCore::SVGUseElement::buildPendingResource):
3541         (WebCore::SVGUseElement::buildInstanceTree):
3542         (WebCore::SVGUseElement::transferEventListenersToShadowTree):
3543         * svg/SVGUseElement.h:
3544
3545 2008-10-08  Sam Weinig  <sam@webkit.org>
3546
3547         Reviewed by Cameron Zwarich.
3548
3549         Fix for https://bugs.webkit.org/show_bug.cgi?id=21241
3550         REGRESSION (r36977): getRGBColorValue().red returning incorrect value
3551
3552         Update JSRGBColor to use the new static function per getter approach.
3553
3554         Test: fast/dom/css-RGBValue.html
3555
3556         * bindings/js/JSRGBColor.cpp:
3557         (WebCore::):
3558         (jsRGBColorRed):
3559         (jsRGBColorGreen):
3560         (jsRGBColorBlue):
3561         * bindings/js/JSRGBColor.h:
3562
3563 2008-10-08  Eric Seidel  <eric@webkit.org>
3564
3565         Reviewed by Darin Adler, Nikolas Zimmermann and Dave Hyatt.
3566
3567         svgElement.className.baseValue = "foo" does not work
3568         https://bugs.webkit.org/show_bug.cgi?id=20651
3569
3570         * dom/StyledElement.cpp:
3571         (WebCore::StyledElement::classAttributeChanged):
3572         (WebCore::StyledElement::parseMappedAttribute):
3573         * dom/StyledElement.h:
3574         * svg/SVGStyledElement.cpp:
3575         (WebCore::SVGStyledElement::svgAttributeChanged):
3576
3577 2008-10-08  Anthony Ricaud  <rik24d@gmail.com>
3578
3579         Make the toolbar&nb