Changeset 21186 in webkit


Ignore:
Timestamp:
Apr 29, 2007 8:29:00 PM (17 years ago)
Author:
bdash
Message:

2007-04-29 Mitz Pettel <mitz@webkit.org>

Reviewed by Dave Hyatt.

Test: fast/repaint/layer-hide-when-needs-layout.html

  • rendering/RenderObject.cpp: (WebCore::RenderObject::setStyle): If we get a layout hint, we count on layout() or updateLayerPositions() to repaint. In the case of a layer going invisible, however, we need to repaint here since neither of the above will do it.

2007-04-29 Mitz Pettel <mitz@webkit.org>

Reviewed by Dave Hyatt.

  • fast/repaint/layer-hide-when-needs-layout-expected.checksum: Added.
  • fast/repaint/layer-hide-when-needs-layout-expected.png: Added.
  • fast/repaint/layer-hide-when-needs-layout-expected.txt: Added.
  • fast/repaint/layer-hide-when-needs-layout.html: Added.
Location:
trunk
Files:
4 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r21183 r21186  
     12007-04-29  Mitz Pettel  <mitz@webkit.org>
     2
     3        Reviewed by Dave Hyatt.
     4
     5        - repaint test for http://bugs.webkit.org/show_bug.cgi?id=13544
     6          REGRESSION (r21120): Member profile frame not erased at Yahoo! Answers
     7
     8        * fast/repaint/layer-hide-when-needs-layout-expected.checksum: Added.
     9        * fast/repaint/layer-hide-when-needs-layout-expected.png: Added.
     10        * fast/repaint/layer-hide-when-needs-layout-expected.txt: Added.
     11        * fast/repaint/layer-hide-when-needs-layout.html: Added.
     12
    1132007-04-29  Mitz Pettel  <mitz@webkit.org>
    214
  • trunk/WebCore/ChangeLog

    r21185 r21186  
     12007-04-29  Mitz Pettel  <mitz@webkit.org>
     2
     3        Reviewed by Dave Hyatt.
     4
     5        - fix http://bugs.webkit.org/show_bug.cgi?id=13544
     6          REGRESSION (r21120): Member profile frame not erased at Yahoo! Answers
     7
     8        Test: fast/repaint/layer-hide-when-needs-layout.html
     9
     10        * rendering/RenderObject.cpp:
     11        (WebCore::RenderObject::setStyle): If we get a layout hint, we count on
     12        layout() or updateLayerPositions() to repaint. In the case of a layer
     13        going invisible, however, we need to repaint here since neither of the
     14        above will do it.
     15
    1162007-04-29  Oliver Hunt  <oliver@apple.com>
    217
  • trunk/WebCore/rendering/RenderObject.cpp

    r21183 r21186  
    21402140    RenderStyle::Diff d = RenderStyle::Equal;
    21412141    if (m_style) {
     2142        d = m_style->diff(style);
     2143
    21422144        // If our z-index changes value or our visibility changes,
    21432145        // we need to dirty our stacking context's z-order list.
     
    21582160            // keep layer hierarchy visibility bits up to date if visibility changes
    21592161            if (m_style->visibility() != style->visibility()) {
    2160                 RenderLayer* l = enclosingLayer();
    2161                 if (style->visibility() == VISIBLE && l)
    2162                     l->setHasVisibleContent(true);
    2163                 else if (l && l->hasVisibleContent() &&
    2164                             (this == l->renderer() || l->renderer()->style()->visibility() != VISIBLE))
    2165                     l->dirtyVisibleContentStatus();
     2162                if (RenderLayer* l = enclosingLayer()) {
     2163                    if (style->visibility() == VISIBLE)
     2164                        l->setHasVisibleContent(true);
     2165                    else if (l->hasVisibleContent() && (this == l->renderer() || l->renderer()->style()->visibility() != VISIBLE)) {
     2166                        l->dirtyVisibleContentStatus();
     2167                        if (d > RenderStyle::RepaintLayer)
     2168                            repaint();
     2169                    }
     2170                }
    21662171            }
    21672172        }
    2168 
    2169         d = m_style->diff(style);
    21702173
    21712174        // If we have no layer(), just treat a RepaintLayer hint as a normal Repaint.
Note: See TracChangeset for help on using the changeset viewer.