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