Changeset 218535 in webkit


Ignore:
Timestamp:
Jun 19, 2017 11:06:16 PM (7 years ago)
Author:
fred.wang@free.fr
Message:

[iOS] Always include frames in the scrolling tree when async frame scrolling is enabled
https://bugs.webkit.org/show_bug.cgi?id=173405

Patch by Frederic Wang <fwang@igalia.com> on 2017-06-19
Reviewed by Simon Fraser.

Source/WebCore:

Currently "async frame scrolling" is ignored on iOS. This commit changes that behavior to
align on macOS and is a preliminary step to implement iframe scrolling on iOS (bug 149264).

Test: compositing/iframes/compositing-for-scrollable-iframe.html

fast/scrolling/scrolling-tree-includes-frame.html

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::requiresCompositingForScrollableFrame): Do not require
compositing when "async frame scrolling" is enabled on iOS.

Source/WebKit2:

  • WebProcess/WebCoreSupport/WebChromeClient.h: Set the ScrollableNonMainFrameTrigger bit by

default on iOS too. RenderLayerCompositor::requiresCompositingForScrollableFrame will ignore
this change when async frame scrolling is disabled.

LayoutTests:

Add some new expectations for iOS/WK2 now that the "async frame scrolling" setting is taken
into account for the layer and scrolling trees.

  • platform/ios-wk2/compositing/iframes/compositing-for-scrollable-iframe-expected.txt: Added.

A specific layer is created for the iframe.

  • platform/ios-wk2/fast/scrolling/scrolling-tree-includes-frame-expected.txt: Added.

The frame appears in the scrolling tree.

  • platform/ios/fast/scrolling/scrolling-tree-includes-frame-expected.txt: Renamed from LayoutTests/platform/ios-simulator/fast/scrolling/scrolling-tree-includes-frame-expected.txt.

Use this as a generic expectation for iOS.

Location:
trunk
Files:
3 added
1 deleted
5 edited
1 copied

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r218534 r218535  
     12017-06-19  Frederic Wang  <fwang@igalia.com>
     2
     3        [iOS] Always include frames in the scrolling tree when async frame scrolling is enabled
     4        https://bugs.webkit.org/show_bug.cgi?id=173405
     5
     6        Reviewed by Simon Fraser.
     7
     8        Add some new expectations for iOS/WK2 now that the "async frame scrolling" setting is taken
     9        into account for the layer and scrolling trees.
     10
     11        * platform/ios-wk2/compositing/iframes/compositing-for-scrollable-iframe-expected.txt: Added.
     12        A specific layer is created for the iframe.
     13        * platform/ios-wk2/fast/scrolling/scrolling-tree-includes-frame-expected.txt: Added.
     14        The frame appears in the scrolling tree.
     15        * platform/ios/fast/scrolling/scrolling-tree-includes-frame-expected.txt: Renamed from LayoutTests/platform/ios-simulator/fast/scrolling/scrolling-tree-includes-frame-expected.txt.
     16        Use this as a generic expectation for iOS.
     17
    1182017-06-19  Frederic Wang  <fwang@igalia.com>
    219
  • trunk/Source/WebCore/ChangeLog

    r218534 r218535  
     12017-06-19  Frederic Wang  <fwang@igalia.com>
     2
     3        [iOS] Always include frames in the scrolling tree when async frame scrolling is enabled
     4        https://bugs.webkit.org/show_bug.cgi?id=173405
     5
     6        Reviewed by Simon Fraser.
     7
     8        Currently "async frame scrolling" is ignored on iOS. This commit changes that behavior to
     9        align on macOS and is a preliminary step to implement iframe scrolling on iOS (bug 149264).
     10
     11        Test: compositing/iframes/compositing-for-scrollable-iframe.html
     12              fast/scrolling/scrolling-tree-includes-frame.html
     13
     14        * rendering/RenderLayerCompositor.cpp:
     15        (WebCore::RenderLayerCompositor::requiresCompositingForScrollableFrame): Do not require
     16        compositing when "async frame scrolling" is enabled on iOS.
     17
    1182017-06-19  Frederic Wang  <fwang@igalia.com>
    219
  • trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp

    r218534 r218535  
    24692469        return false;
    24702470
    2471 #if PLATFORM(MAC)
     2471#if PLATFORM(MAC) || PLATFORM(IOS)
    24722472    if (!m_renderView.settings().asyncFrameScrollingEnabled())
    24732473        return false;
  • trunk/Source/WebKit2/ChangeLog

    r218534 r218535  
     12017-06-19  Frederic Wang  <fwang@igalia.com>
     2
     3        [iOS] Always include frames in the scrolling tree when async frame scrolling is enabled
     4        https://bugs.webkit.org/show_bug.cgi?id=173405
     5
     6        Reviewed by Simon Fraser.
     7
     8        * WebProcess/WebCoreSupport/WebChromeClient.h: Set the ScrollableNonMainFrameTrigger bit by
     9        default on iOS too. RenderLayerCompositor::requiresCompositingForScrollableFrame will ignore
     10        this change when async frame scrolling is disabled.
     11
    1122017-06-19  Frederic Wang  <fred.wang@free.fr>
    213
  • trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.h

    r217862 r218535  
    222222            PluginTrigger|
    223223            CanvasTrigger |
    224 #if PLATFORM(MAC)
     224#if PLATFORM(MAC) || PLATFORM(IOS)
    225225            ScrollableNonMainFrameTrigger |
    226226#endif
Note: See TracChangeset for help on using the changeset viewer.