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