Changeset 91597 in webkit


Ignore:
Timestamp:
Jul 22, 2011 12:52:52 PM (13 years ago)
Author:
enne@google.com
Message:

Fix repainting of composited fixed position elements in iframes
https://bugs.webkit.org/show_bug.cgi?id=64010

Reviewed by Simon Fraser.

Source/WebCore:

In cases where an iframe's contents have their own graphics layer, the
invalidation during scrolling was being sent to the wrong render
layer. Fixed by checking if such a layer exists and routing scrolling
invalidations there first.

  • page/FrameView.cpp:

(WebCore::FrameView::scrollContentsSlowPath):

LayoutTests:

  • compositing/iframes/fixed-position-iframe-expected.png: Added.
  • compositing/iframes/fixed-position-iframe-expected.txt: Added.
  • compositing/iframes/fixed-position-iframe.html: Added.
  • compositing/iframes/resources/fixed-position-subframe.html: Added.
Location:
trunk
Files:
4 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r91585 r91597  
     12011-07-21  Adrienne Walker  <enne@google.com>
     2
     3        Fix repainting of composited fixed position elements in iframes
     4        https://bugs.webkit.org/show_bug.cgi?id=64010
     5
     6        Reviewed by Simon Fraser.
     7
     8        * compositing/iframes/fixed-position-iframe-expected.png: Added.
     9        * compositing/iframes/fixed-position-iframe-expected.txt: Added.
     10        * compositing/iframes/fixed-position-iframe.html: Added.
     11        * compositing/iframes/resources/fixed-position-subframe.html: Added.
     12
    1132011-07-22  Sam Weinig  <sam@webkit.org>
    214
  • trunk/Source/WebCore/ChangeLog

    r91595 r91597  
     12011-07-21  Adrienne Walker  <enne@google.com>
     2
     3        Fix repainting of composited fixed position elements in iframes
     4        https://bugs.webkit.org/show_bug.cgi?id=64010
     5
     6        Reviewed by Simon Fraser.
     7
     8        In cases where an iframe's contents have their own graphics layer, the
     9        invalidation during scrolling was being sent to the wrong render
     10        layer. Fixed by checking if such a layer exists and routing scrolling
     11        invalidations there first.
     12
     13        * page/FrameView.cpp:
     14        (WebCore::FrameView::scrollContentsSlowPath):
     15
    1162011-07-22  Viet-Trung Luu  <viettrungluu@chromium.org>
    217
  • trunk/Source/WebCore/page/FrameView.cpp

    r91591 r91597  
    13531353{
    13541354#if USE(ACCELERATED_COMPOSITING)
     1355    RenderView* root = m_frame->contentRenderer();
     1356    if (root && root->layer()->isComposited()) {
     1357        GraphicsLayer* layer = root->layer()->backing()->graphicsLayer();
     1358        if (layer && layer->drawsContent()) {
     1359            root->layer()->setBackingNeedsRepaintInRect(visibleContentRect());
     1360            return;
     1361        }
     1362    }
    13551363    if (RenderPart* frameRenderer = m_frame->ownerRenderer()) {
    13561364        if (frameRenderer->containerForRepaint()) {
Note: See TracChangeset for help on using the changeset viewer.