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