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