Changeset 35223 in webkit


Ignore:
Timestamp:
Jul 17, 2008 11:24:32 AM (16 years ago)
Author:
hyatt@apple.com
Message:

2008-07-17 David Hyatt <hyatt@apple.com>

Make sure the check to see if a frame/iframe is being rendered inside a transparency layer is
recursive (and checks for transparency layers all the way up the ancestor document chain back to
the top-level frame).

Reviewed by Dan

  • rendering/RenderView.cpp: (WebCore::RenderView::paintBoxDecorations):
Location:
trunk/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r35216 r35223  
     12008-07-17  David Hyatt  <hyatt@apple.com>
     2
     3        Make sure the check to see if a frame/iframe is being rendered inside a transparency layer is
     4        recursive (and checks for transparency layers all the way up the ancestor document chain back to
     5        the top-level frame).
     6
     7        Reviewed by Dan
     8
     9        * rendering/RenderView.cpp:
     10        (WebCore::RenderView::paintBoxDecorations):
     11
    1122008-07-16  Jon Honeycutt  <jhoneycutt@apple.com>
    213
  • trunk/WebCore/rendering/RenderView.cpp

    r31155 r35223  
    153153    // Check to see if we are enclosed by a transparent layer.  If so, we cannot blit
    154154    // when scrolling, and we need to use slow repaints.
    155     Element* elt = document()->ownerElement();
    156     if (view() && elt && elt->renderer()) {
     155    Element* elt;
     156    for (elt = document()->ownerElement(); view() && elt && elt->renderer(); elt = elt->document()->ownerElement()) {
    157157        RenderLayer* layer = elt->renderer()->enclosingLayer();
    158         if (layer->isTransparent() || layer->transparentAncestor())
     158        if (layer->isTransparent() || layer->transparentAncestor()) {
    159159            frameView()->setUseSlowRepaints();
     160            break;
     161        }
    160162    }
    161163
Note: See TracChangeset for help on using the changeset viewer.