Changeset 252172 in webkit


Ignore:
Timestamp:
Nov 6, 2019 8:05:01 PM (4 years ago)
Author:
Antti Koivisto
Message:

REGRESSION: [ iOS ] ( r251015 ) Layout Test fast/text/whitespace/pre-wrap-overflow-selection.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=203366
<rdar://problem/56580680>

Reviewed by Simon Fraser.

Source/WebKit:

WKBundlePageForceRepaint may fail to do synchronous layer flush if there is a pending layer flush in-flight and waiting
for completion message from UI process. Layer flush also flushes pending editor state so that doesn't get done either.
This may cause randomness in test results.

In this case the randomness is the switch between simple and complex line layout, triggered by editor state flush. The results
between line layout paths are observably identical but produce slightly different render tree dumps.

  • WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:

(WKBundlePageFlushPendingEditorStateUpdate):

  • WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:

Add a function for forcing editor state flush, called from the test runner dump() function.

Tools:

  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:

(WTR::InjectedBundlePage::dump):

LayoutTests:

  • platform/ios/TestExpectations:
Location:
trunk
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r252168 r252172  
     12019-11-06  Antti Koivisto  <antti@apple.com>
     2
     3        REGRESSION: [ iOS ] ( r251015 ) Layout Test fast/text/whitespace/pre-wrap-overflow-selection.html is flaky
     4        https://bugs.webkit.org/show_bug.cgi?id=203366
     5        <rdar://problem/56580680>
     6
     7        Reviewed by Simon Fraser.
     8
     9        * platform/ios/TestExpectations:
     10
    1112019-11-06  Nikita Vasilyev  <nvasilyev@apple.com>
    212
  • trunk/LayoutTests/platform/ios/TestExpectations

    r252164 r252172  
    34623462webkit.org/b/203291 imported/w3c/web-platform-tests/css/css-transitions/properties-value-auto-001.html [ Failure ]
    34633463
    3464 webkit.org/b/203366 fast/text/whitespace/pre-wrap-overflow-selection.html [ Pass Failure ]
    3465 
    34663464webkit.org/b/203305 imported/w3c/web-platform-tests/css/css-transitions/properties-value-001.html [ Pass Failure ]
    34673465webkit.org/b/203305 [ Debug ] imported/w3c/web-platform-tests/css/css-transitions/properties-value-inherit-001.html [ Pass Failure ]
  • trunk/Source/WebKit/ChangeLog

    r252171 r252172  
     12019-11-06  Antti Koivisto  <antti@apple.com>
     2
     3        REGRESSION: [ iOS ] ( r251015 ) Layout Test fast/text/whitespace/pre-wrap-overflow-selection.html is flaky
     4        https://bugs.webkit.org/show_bug.cgi?id=203366
     5        <rdar://problem/56580680>
     6
     7        Reviewed by Simon Fraser.
     8
     9        WKBundlePageForceRepaint may fail to do synchronous layer flush if there is a pending layer flush in-flight and waiting
     10        for completion message from UI process. Layer flush also flushes pending editor state so that doesn't get done either.
     11        This may cause randomness in test results.
     12
     13        In this case the randomness is the switch between simple and complex line layout, triggered by editor state flush. The results
     14        between line layout paths are observably identical but produce slightly different render tree dumps.
     15
     16        * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
     17        (WKBundlePageFlushPendingEditorStateUpdate):
     18        * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
     19
     20        Add a function for forcing editor state flush, called from the test runner dump() function.
     21
    1222019-11-06  Chris Dumez  <cdumez@apple.com>
    223
  • trunk/Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundlePage.cpp

    r251798 r252172  
    514514}
    515515
     516void WKBundlePageFlushPendingEditorStateUpdate(WKBundlePageRef page)
     517{
     518    WebKit::toImpl(page)->flushPendingEditorStateUpdate();
     519}
     520
    516521void WKBundlePageSimulateMouseDown(WKBundlePageRef page, int button, WKPoint position, int clickCount, WKEventModifiers modifiers, double time)
    517522{
  • trunk/Source/WebKit/WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h

    r249557 r252172  
    6565
    6666WK_EXPORT void WKBundlePageForceRepaint(WKBundlePageRef page);
     67WK_EXPORT void WKBundlePageFlushPendingEditorStateUpdate(WKBundlePageRef page);
    6768
    6869WK_EXPORT void WKBundlePageSimulateMouseDown(WKBundlePageRef page, int button, WKPoint position, int clickCount, WKEventModifiers modifiers, double time);
  • trunk/Tools/ChangeLog

    r252166 r252172  
     12019-11-06  Antti Koivisto  <antti@apple.com>
     2
     3        REGRESSION: [ iOS ] ( r251015 ) Layout Test fast/text/whitespace/pre-wrap-overflow-selection.html is flaky
     4        https://bugs.webkit.org/show_bug.cgi?id=203366
     5        <rdar://problem/56580680>
     6
     7        Reviewed by Simon Fraser.
     8
     9        * WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
     10        (WTR::InjectedBundlePage::dump):
     11
    1122019-11-06  Fujii Hironori  <Hironori.Fujii@sony.com>
    213
  • trunk/Tools/WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp

    r250121 r252172  
    891891    // does this at a slightly different time.) See <http://webkit.org/b/55469> for details.
    892892    WKBundlePageForceRepaint(m_page);
     893    WKBundlePageFlushPendingEditorStateUpdate(m_page);
    893894
    894895    WKBundleFrameRef frame = WKBundlePageGetMainFrame(m_page);
Note: See TracChangeset for help on using the changeset viewer.