Changeset 242830 in webkit


Ignore:
Timestamp:
Mar 12, 2019 3:35:36 PM (5 years ago)
Author:
Antti Koivisto
Message:

Compositing layer that renders two positioned elements should not hit test
https://bugs.webkit.org/show_bug.cgi?id=195371
<rdar://problem/48649586>

Reviewed by Simon Fraser.

Followup to fix the test case (fast/scrolling/ios/overflow-scroll-overlap-2.html)

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::setEventRegion):

Revert a last minute change (that was done to fix a Mac displaylist test).

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::paintIntoLayer):

Compute the region on iOS only for now (it is not used on other platforms).

Location:
trunk/Source/WebCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r242826 r242830  
     12019-03-12  Antti Koivisto  <antti@apple.com>
     2
     3        Compositing layer that renders two positioned elements should not hit test
     4        https://bugs.webkit.org/show_bug.cgi?id=195371
     5        <rdar://problem/48649586>
     6
     7        Reviewed by Simon Fraser.
     8
     9        Followup to fix the test case (fast/scrolling/ios/overflow-scroll-overlap-2.html)
     10
     11        * platform/graphics/ca/GraphicsLayerCA.cpp:
     12        (WebCore::GraphicsLayerCA::setEventRegion):
     13
     14        Revert a last minute change (that was done to fix a Mac displaylist test).
     15
     16        * rendering/RenderLayerBacking.cpp:
     17        (WebCore::RenderLayerBacking::paintIntoLayer):
     18
     19        Compute the region on iOS only for now (it is not used on other platforms).
     20
    1212019-03-12  Dean Jackson  <dino@apple.com>
    222
  • trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp

    r242794 r242830  
    991991
    992992    GraphicsLayer::setEventRegion(WTFMove(eventRegion));
    993     noteLayerPropertyChanged(EventRegionChanged, DontScheduleFlush);
     993    noteLayerPropertyChanged(EventRegionChanged, m_isCommittingChanges ? DontScheduleFlush : ScheduleFlush);
    994994}
    995995
  • trunk/Source/WebCore/rendering/RenderLayerBacking.cpp

    r242794 r242830  
    25772577    RenderLayer::LayerPaintingInfo paintingInfo(&m_owningLayer, paintDirtyRect, paintBehavior, -m_subpixelOffsetFromRenderer);
    25782578
     2579#if PLATFORM(IOS_FAMILY)
    25792580    auto eventRegion = std::make_unique<Region>();
    25802581    paintingInfo.eventRegion = eventRegion.get();
     2582#endif
    25812583
    25822584    m_owningLayer.paintLayerContents(context, paintingInfo, paintFlags);
    25832585
     2586#if PLATFORM(IOS_FAMILY)
    25842587    paintingInfo.eventRegion = nullptr;
    25852588    // Use null event region to indicate the entire layer is sensitive to events (the common case).
     
    25902593        eventRegion->translate(roundedIntSize(contentOffsetInCompositingLayer()));
    25912594    m_graphicsLayer->setEventRegion(WTFMove(eventRegion));
     2595#endif
    25922596
    25932597    if (m_owningLayer.containsDirtyOverlayScrollbars())
Note: See TracChangeset for help on using the changeset viewer.