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