Index: Source/WebCore/ChangeLog |
=================================================================== |
--- Source/WebCore/ChangeLog (revision 88429) |
+++ Source/WebCore/ChangeLog (working copy) |
@@ -1,3 +1,239 @@ |
+2011-06-08 Justin Novosad <junov@chromium.org> |
+ |
+ Reviewed by James Robinson. |
+ |
+ [Chromium] Crash when closing a tab with accelerated 2d canvas |
+ https://bugs.webkit.org/show_bug.cgi?id=62324 |
+ Upon graphics context destruction, it is important to signal skia |
+ to abandon all of its resource handles. This prevents a crash caused |
+ by skia attempting to release resources that were in the destroyed |
+ graphics context. |
+ |
+ * platform/graphics/gpu/SharedGraphicsContext3D.cpp: |
+ (WebCore::SharedGraphicsContext3D::~SharedGraphicsContext3D): |
+ |
+2011-06-08 James Robinson <jamesr@chromium.org> |
+ |
+ Reviewed by Darin Fisher. |
+ |
+ REGRESSION(88260): 10-50% performance regression across many page cyclers |
+ https://bugs.webkit.org/show_bug.cgi?id=62349 |
+ |
+ r88260 fixed a font cache resource leak and lowered the inactive font cache threshold. The latter caused a |
+ significant performance regression across many chromium page cyclers, for example |
+ http://build.chromium.org/f/chromium/perf/linux-release-webkit-latest/moz/report.html?history=50&rev=88279. |
+ |
+ This restores the previous inactive font size thresholds to their previous values, but retains the font cleanup |
+ logic. |
+ |
+ * platform/graphics/FontCache.cpp: |
+ |
+2011-06-08 Hayato Ito <hayato@chromium.org> |
+ |
+ Reviewed by Dimitri Glazkov. |
+ |
+ A forward/backward tab traversal now visits focusable elements in a shadow root. |
+ https://bugs.webkit.org/show_bug.cgi?id=61410 |
+ |
+ Test: fast/dom/shadow/tab-order-iframe-and-shadow.html |
+ |
+ Like a iframe element, a shadow host becomes a scope of |
+ tabindex. That means all descendant elements in a shadow root are |
+ skipped if the host node of the shadow root is not focusable. |
+ |
+ The patch doesn't affect HTMLInputElement and HTMLTextAreaElement, |
+ which uses a shadow root and do extra works in their focus() |
+ method. |
+ |
+ A shadow root's <content> is not considered in this patch. |
+ That will be addressed in a following patch. |
+ |
+ * page/FocusController.cpp: |
+ (WebCore::shadowRoot): |
+ (WebCore::isTreeScopeOwner): |
+ (WebCore::FocusController::deepFocusableNode): |
+ (WebCore::FocusController::advanceFocusInDocumentOrder): |
+ (WebCore::FocusController::findFocusableNodeAcrossTreeScope): |
+ (WebCore::FocusController::findFocusableNode): |
+ (WebCore::FocusController::nextFocusableNode): |
+ (WebCore::FocusController::previousFocusableNode): |
+ (WebCore::FocusController::ownerOfTreeScope): |
+ * page/FocusController.h: |
+ |
+2011-06-08 Hayato Ito <hayato@chromium.org> |
+ |
+ Reviewed by Hajime Morita. |
+ |
+ Makes sure that document.activeElement won't be an element in shadow root. |
+ |
+ https://bugs.webkit.org/show_bug.cgi?id=61413 |
+ |
+ Test: fast/dom/shadow/activeelement-should-be-shadowhost.html |
+ |
+ * html/HTMLDocument.cpp: |
+ (WebCore::focusedFrameOwnerElement): |
+ (WebCore::HTMLDocument::activeElement): |
+ |
+2011-06-08 Kent Tamura <tkent@chromium.org> |
+ |
+ Reviewed by Dimitri Glazkov. |
+ |
+ Allow drawing a slider thumb for any nodes. |
+ https://bugs.webkit.org/show_bug.cgi?id=62196 |
+ |
+ RenderObject::node() should provide various information which is |
+ necessary for rendering. We don't need to refer the parent renderer. |
+ |
+ * dom/Node.cpp: |
+ (WebCore::Node::focusDe1egate): Added. |
+ * dom/Node.h: Added a declaration. |
+ * html/shadow/MediaControlElements.cpp: |
+ (WebCore::toParentMediaElement): |
+ Added an overload of toParentMediaElement() with Node* parameter. |
+ * html/shadow/MediaControlElements.h: |
+ (WebCore::toParentMediaElement): ditto. |
+ * html/shadow/SliderThumbElement.cpp: |
+ (WebCore::SliderThumbElement::isEnabledFormControl): |
+ Returns the status of the host node. |
+ (WebCore::SliderThumbElement::isReadOnlyFormControl): ditto. |
+ (WebCore::SliderThumbElement::focusDe1egate): |
+ Returns the host node so that RenderTheme::isFocused() returns true. |
+ (WebCore::SliderThumbElement::detach): Style nit. |
+ (WebCore::SliderThumbElement::hostInput): |
+ Make it const because it is called by const functions. |
+ * html/shadow/SliderThumbElement.h: |
+ - Remove inDragMode() |
+ - Update declarations |
+ * platform/qt/RenderThemeQt.cpp: |
+ (WebCore::RenderThemeQt::paintMediaSliderThumb): |
+ Use Node::shadowAncestorNode() instead of RenderObject::parent() to |
+ support deeper thumb nodes. |
+ * rendering/RenderMediaControlsChromium.cpp: |
+ (WebCore::paintMediaSliderThumb): ditto. |
+ (WebCore::paintMediaVolumeSliderThumb): Remove isSlider() check. |
+ * rendering/RenderSlider.cpp: |
+ (WebCore::RenderSlider::inDragMode): |
+ SliderThumbElement::inDragMode() was removed, and Node::active() has |
+ the same information. |
+ * rendering/RenderTheme.cpp: |
+ (WebCore::RenderTheme::paint): Remove isSlider() checks. |
+ (WebCore::RenderTheme::isFocused): Apply Node::focusDelegate(). |
+ * rendering/RenderThemeChromiumLinux.cpp: |
+ (WebCore::RenderThemeChromiumLinux::paintSliderThumb): |
+ isPressed() is enough. |
+ * rendering/RenderThemeChromiumWin.cpp: |
+ isEnabled(), isFocused(), and isPressed() are enough. |
+ (WebCore::RenderThemeChromiumWin::determineSliderThumbState): |
+ (WebCore::RenderThemeChromiumWin::determineClassicState): |
+ * rendering/RenderThemeMac.mm: |
+ (WebCore::RenderThemeMac::paintSliderThumb): |
+ - Remove isSlider() check. |
+ - Passing 'o' to udpateFooState functions is enough. |
+ - isPressed() is enough. |
+ * rendering/RenderThemeSafari.cpp: |
+ (WebCore::RenderThemeSafari::paintSliderThumb): |
+ We don't need special handling anymore. |
+ * rendering/RenderThemeWin.cpp: |
+ (WebCore::RenderThemeWin::determineSliderThumbState): |
+ isEnabled(), isFocused(), and isPressed() are enough. |
+ |
+2011-06-08 Adam Barth <abarth@webkit.org> |
+ |
+ Reviewed by Eric Seidel. |
+ |
+ constructTreeFromToken can re-enter parser, causing ASSERTs |
+ https://bugs.webkit.org/show_bug.cgi?id=62160 |
+ |
+ This patch clears the HTMLToken before constructing the tree from the |
+ token, putting the HTMLDocumentParser in a good state to be re-entered. |
+ |
+ Tests: fast/parser/document-write-onload-nesting.html |
+ fast/parser/document-write-onload-ordering.html |
+ |
+ * html/parser/HTMLDocumentParser.cpp: |
+ (WebCore::HTMLDocumentParser::pumpTokenizer): |
+ * html/parser/HTMLToken.h: |
+ (WebCore::HTMLToken::isUninitialized): |
+ * html/parser/HTMLTreeBuilder.cpp: |
+ (WebCore::HTMLTreeBuilder::constructTreeFromToken): |
+ |
+2011-06-08 Kent Tamura <tkent@chromium.org> |
+ |
+ Fix Qt build for r88405. |
+ https://bugs.webkit.org/show_bug.cgi?id=62208 |
+ |
+ * platform/qt/RenderThemeQt.h: |
+ |
+2011-06-08 Kent Tamura <tkent@chromium.org> |
+ |
+ Reviewed by Dimitri Glazkov. |
+ |
+ Change the argument of RenderTheme::adjustSliderThumbSize(): RenderObject* -> RenderStyle* |
+ https://bugs.webkit.org/show_bug.cgi?id=62208 |
+ |
+ Change the argument type of RenderTheme::adjustSliderThumbSize() and |
+ RenderMediaControls::adjustMediaSliderThumbSize() from RenderObject* to RenderStyle*. |
+ |
+ Also, each of adjustSliderThumbStyle() overrides calls RenderTheme:: |
+ adjustSliderThumbStyle() for future changes. |
+ |
+ No new tests. This is a refactoring and should not change any behavior. |
+ |
+ * html/shadow/SliderThumbElement.cpp: |
+ (WebCore::RenderSliderThumb::layout): Passing RenderStyle* and remove a FIXME comment. |
+ * platform/efl/RenderThemeEfl.cpp: |
+ (WebCore::RenderThemeEfl::adjustSliderThumbStyle): Calls RenderTheme::adjustSliderThumbStyle(). |
+ * platform/gtk/RenderThemeGtk.cpp: |
+ (WebCore::RenderThemeGtk::adjustSliderThumbStyle): ditto. |
+ (WebCore::RenderThemeGtk::adjustMediaSliderThumbSize): |
+ * platform/gtk/RenderThemeGtk.h: |
+ * platform/gtk/RenderThemeGtk2.cpp: |
+ (WebCore::RenderThemeGtk::adjustSliderThumbSize): |
+ * platform/gtk/RenderThemeGtk3.cpp: |
+ (WebCore::RenderThemeGtk::adjustSliderThumbSize): |
+ * platform/qt/RenderThemeQt.cpp: |
+ (WebCore::RenderThemeQt::adjustSliderThumbStyle): ditto. |
+ (WebCore::RenderThemeQt::adjustSliderThumbSize): |
+ * rendering/RenderMediaControls.cpp: |
+ (WebCore::RenderMediaControls::adjustMediaSliderThumbSize): |
+ * rendering/RenderMediaControls.h: |
+ * rendering/RenderMediaControlsChromium.cpp: |
+ (WebCore::RenderMediaControlsChromium::adjustMediaSliderThumbSize): |
+ * rendering/RenderMediaControlsChromium.h: |
+ * rendering/RenderSlider.cpp: |
+ (WebCore::RenderSlider::layout): Passing RenderStyle* and remove a FIXME comment. |
+ * rendering/RenderTheme.cpp: |
+ (WebCore::RenderTheme::adjustSliderThumbStyle): Add a comment. |
+ (WebCore::RenderTheme::adjustSliderThumbSize): |
+ * rendering/RenderTheme.h: |
+ * rendering/RenderThemeChromiumLinux.cpp: |
+ (WebCore::RenderThemeChromiumLinux::adjustSliderThumbSize): |
+ * rendering/RenderThemeChromiumLinux.h: |
+ * rendering/RenderThemeChromiumMac.h: |
+ * rendering/RenderThemeChromiumMac.mm: |
+ (WebCore::RenderThemeChromiumMac::adjustMediaSliderThumbSize): |
+ * rendering/RenderThemeChromiumSkia.cpp: |
+ (WebCore::RenderThemeChromiumSkia::adjustSliderThumbSize): |
+ * rendering/RenderThemeChromiumSkia.h: |
+ * rendering/RenderThemeChromiumWin.cpp: |
+ (WebCore::RenderThemeChromiumWin::adjustSliderThumbSize): |
+ * rendering/RenderThemeChromiumWin.h: |
+ * rendering/RenderThemeMac.h: |
+ * rendering/RenderThemeMac.mm: |
+ (WebCore::RenderThemeMac::adjustSliderThumbStyle): Calls RenderTheme::adjustSliderThumbStyle(). |
+ (WebCore::RenderThemeMac::adjustSliderThumbSize): |
+ (WebCore::RenderThemeMac::adjustMediaSliderThumbSize): |
+ * rendering/RenderThemeSafari.cpp: |
+ (WebCore::RenderThemeSafari::adjustSliderThumbStyle): Calls RenderTheme::adjustSliderThumbStyle(). |
+ (WebCore::RenderThemeSafari::adjustSliderThumbSize): |
+ * rendering/RenderThemeSafari.h: |
+ * rendering/RenderThemeWin.cpp: |
+ (WebCore::RenderThemeWin::adjustSliderThumbSize): |
+ * rendering/RenderThemeWin.h: |
+ * rendering/RenderThemeWinCE.cpp: |
+ (WebCore::RenderThemeWinCE::adjustSliderThumbSize): |
+ * rendering/RenderThemeWinCE.h: |
+ |
2011-06-08 Brian Salomon <bsalomon@google.com> |
Reviewed by James Robinson. |