Changeset 39078 in webkit


Ignore:
Timestamp:
Dec 6, 2008 10:15:49 PM (15 years ago)
Author:
Simon Fraser
Message:

2008-12-06 Simon Fraser <Simon Fraser>

Reviewed by Antti Koivisto, Dan Bernstein

https://bugs.webkit.org/show_bug.cgi?id=22088

Fix logic related to repainting when transform changes:
If an object has a layer, and the transform changes, then we need
to do a repaintIncludingDescendants(), not just a repaint.

Test: fast/repaint/transform-repaint-descendants.html

  • rendering/RenderObject.cpp: (WebCore::RenderObject::styleWillChange):
Location:
trunk
Files:
4 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r39075 r39078  
    44
    55        * editing/pasteboard/5780697-2-expected.txt:
     6
     72008-12-06  Simon Fraser  <simon.fraser@apple.com>
     8
     9        Reviewed by Antti Koivisto, Dan Bernstein
     10       
     11        https://bugs.webkit.org/show_bug.cgi?id=22088
     12       
     13        Testcase for repaint issue when transform changes
     14
     15        * fast/repaint/transform-repaint-descendants.html: Added.
     16        * platform/mac/fast/repaint/transform-repaint-descendants-expected.checksum: Added.
     17        * platform/mac/fast/repaint/transform-repaint-descendants-expected.png: Added.
     18        * platform/mac/fast/repaint/transform-repaint-descendants-expected.txt: Added.
    619
    7202008-12-06  Simon Fraser  <simon.fraser@apple.com>
  • trunk/WebCore/ChangeLog

    r39076 r39078  
    8181        * editing/markup.cpp:
    8282        (WebCore::appendStartMarkup):
     83
     842008-12-06  Simon Fraser  <simon.fraser@apple.com>
     85
     86        Reviewed by Antti Koivisto, Dan Bernstein
     87
     88        https://bugs.webkit.org/show_bug.cgi?id=22088
     89
     90        Fix logic related to repainting when transform changes:
     91        If an object has a layer, and the transform changes, then we need
     92        to do a repaintIncludingDescendants(), not just a repaint.
     93       
     94        Test: fast/repaint/transform-repaint-descendants.html
     95
     96        * rendering/RenderObject.cpp:
     97        (WebCore::RenderObject::styleWillChange):
    8398
    84992008-12-06  Simon Fraser  <simon.fraser@apple.com>
  • trunk/WebCore/rendering/RenderObject.cpp

    r39069 r39078  
    22782278            // When a layout hint happens, we go ahead and do a repaint of the layer, since the layer could
    22792279            // end up being destroyed.
    2280             if (hasLayer() &&
    2281                 (m_style->position() != newStyle->position() ||
    2282                  m_style->zIndex() != newStyle->zIndex() ||
    2283                  m_style->hasAutoZIndex() != newStyle->hasAutoZIndex() ||
    2284                  !(m_style->clip() == newStyle->clip()) ||
    2285                  m_style->hasClip() != newStyle->hasClip() ||
    2286                  m_style->opacity() != newStyle->opacity()))
     2280            if (hasLayer()) {
     2281                if (m_style->position() != newStyle->position() ||
     2282                    m_style->zIndex() != newStyle->zIndex() ||
     2283                    m_style->hasAutoZIndex() != newStyle->hasAutoZIndex() ||
     2284                    !(m_style->clip() == newStyle->clip()) ||
     2285                    m_style->hasClip() != newStyle->hasClip() ||
     2286                    m_style->opacity() != newStyle->opacity() ||
     2287                    m_style->transform() != newStyle->transform())
    22872288                layer()->repaintIncludingDescendants();
    2288             else if (m_style->transform() != newStyle->transform()) {
     2289            } else if (m_style->transform() != newStyle->transform()) {
    22892290                // If we don't have a layer yet, but we are going to get one because of a transform change, then
    22902291                // we need to repaint the old position of the object
Note: See TracChangeset for help on using the changeset viewer.