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