| 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.
 | 
| 
 |