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