Changeset 271054 in webkit


Ignore:
Timestamp:
Dec 22, 2020 8:48:30 AM (19 months ago)
Author:
Simon Fraser
Message:

Sibling element wheel event regions can be wrong
https://bugs.webkit.org/show_bug.cgi?id=220071
Source/WebCore:

<rdar://problem/72435466>

Reviewed by Daniel Bates.

RenderStyle contains eventListenerRegionTypes() data which derive from registered
wheel event handlers, so style sharing needs to avoid sharing style between elements
with different handlers. For now, just disable style sharing for any elements
which event handlers.

Test: fast/scrolling/mac/wheel-event-listener-region-siblings.html

  • style/StyleSharingResolver.cpp:

(WebCore::Style::SharingResolver::canShareStyleWithElement const):

LayoutTests:

Reviewed by Daniel Bates.

  • fast/scrolling/mac/wheel-event-listener-region-siblings-expected.txt: Added.
  • fast/scrolling/mac/wheel-event-listener-region-siblings.html: Added.
Location:
trunk
Files:
2 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r271053 r271054  
     12020-12-22  Simon Fraser  <simon.fraser@apple.com>
     2
     3        Sibling element wheel event regions can be wrong
     4        https://bugs.webkit.org/show_bug.cgi?id=220071
     5
     6        Reviewed by Daniel Bates.
     7
     8        * fast/scrolling/mac/wheel-event-listener-region-siblings-expected.txt: Added.
     9        * fast/scrolling/mac/wheel-event-listener-region-siblings.html: Added.
     10
    1112020-12-22  Simon Fraser  <simon.fraser@apple.com>
    212
  • trunk/Source/WebCore/ChangeLog

    r271053 r271054  
     12020-12-22  Simon Fraser  <simon.fraser@apple.com>
     2
     3        Sibling element wheel event regions can be wrong
     4        https://bugs.webkit.org/show_bug.cgi?id=220071
     5        <rdar://problem/72435466>
     6
     7        Reviewed by Daniel Bates.
     8
     9        RenderStyle contains eventListenerRegionTypes() data which derive from registered
     10        wheel event handlers, so style sharing needs to avoid sharing style between elements
     11        with different handlers. For now, just disable style sharing for any elements
     12        which event handlers.
     13
     14        Test: fast/scrolling/mac/wheel-event-listener-region-siblings.html
     15
     16        * style/StyleSharingResolver.cpp:
     17        (WebCore::Style::SharingResolver::canShareStyleWithElement const):
     18
    1192020-12-22  Simon Fraser  <simon.fraser@apple.com>
    220
  • trunk/Source/WebCore/style/StyleSharingResolver.cpp

    r270837 r271054  
    301301        return false;
    302302
     303#if ENABLE(WHEEL_EVENT_REGIONS)
     304    if (candidateElement.hasEventListeners() || element.hasEventListeners())
     305        return false;
     306#endif
     307
    303308#if ENABLE(FULLSCREEN_API)
    304309    if (&candidateElement == m_document.fullscreenManager().currentFullscreenElement() || &element == m_document.fullscreenManager().currentFullscreenElement())
Note: See TracChangeset for help on using the changeset viewer.