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