Changeset 166675 in webkit


Ignore:
Timestamp:
Apr 2, 2014 4:29:12 PM (10 years ago)
Author:
timothy_horton@apple.com
Message:

RemoteLayerBackingStore doesn't need to clear opaque layers
https://bugs.webkit.org/show_bug.cgi?id=131134

Reviewed by Simon Fraser.

  • Shared/mac/RemoteLayerBackingStore.mm:

(WebKit::RemoteLayerBackingStore::display):
We don't need to clear opaque layers, because we'll paint
over the whole area. In addition, we should fill opaque layers
with a bright color in debug builds to make it very clear
that we've made a mistake (similar to what FrameView does).

Location:
trunk/Source/WebKit2
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r166672 r166675  
     12014-04-02  Tim Horton  <timothy_horton@apple.com>
     2
     3        RemoteLayerBackingStore doesn't need to clear opaque layers
     4        https://bugs.webkit.org/show_bug.cgi?id=131134
     5
     6        Reviewed by Simon Fraser.
     7
     8        * Shared/mac/RemoteLayerBackingStore.mm:
     9        (WebKit::RemoteLayerBackingStore::display):
     10        We don't need to clear opaque layers, because we'll paint
     11        over the whole area. In addition, we should fill opaque layers
     12        with a bright color in debug builds to make it very clear
     13        that we've made a mistake (similar to what FrameView does).
     14
    1152014-04-02  Anders Carlsson  <andersca@apple.com>
    216
  • trunk/Source/WebKit2/Shared/mac/RemoteLayerBackingStore.mm

    r166607 r166675  
    180180    scaledSize.scale(m_scale);
    181181    IntSize expandedScaledSize = expandedIntSize(scaledSize);
     182    IntRect expandedScaledLayerBounds(IntPoint(), expandedScaledSize);
    182183
    183184    bool willPaintEntireBackingStore = m_dirtyRegion.contains(layerBounds);
     
    196197
    197198        GraphicsContext& context = m_frontSurface->ensureGraphicsContext();
    198         context.clearRect(FloatRect(FloatPoint(), expandedScaledSize));
     199
     200        if (!m_isOpaque)
     201            context.clearRect(expandedScaledLayerBounds);
     202
     203#ifndef NDEBUG
     204        if (m_isOpaque)
     205            context.fillRect(expandedScaledLayerBounds, Color(255, 0, 0), ColorSpaceDeviceRGB);
     206#endif
     207
    199208        context.scale(FloatSize(1, -1));
    200209        context.translate(0, -expandedScaledSize.height());
Note: See TracChangeset for help on using the changeset viewer.