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