Changeset 216643 in webkit


Ignore:
Timestamp:
May 10, 2017 5:33:33 PM (7 years ago)
Author:
aestes@apple.com
Message:

REGRESSION (r167845): ASSERT(!m_renderView.needsLayout()) in svg/custom/bug79798.html
https://bugs.webkit.org/show_bug.cgi?id=132297

Reviewed by Simon Fraser.

Source/WebCore:

We don't know why m_renderView needs layout in this case, but we know that we don't need to
assert if the client hasn't set the ScrollableInnerFrameTrigger compositing trigger.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::requiresCompositingForScrollableFrame):

LayoutTests:

  • http/tests/navigation/keyboard-events-during-provisional-navigation-expected.txt:
  • http/tests/navigation/keyboard-events-during-provisional-subframe-navigation-expected.txt:
  • http/tests/navigation/resources/keyboard-events-test.js:

(runTest):

  • platform/ios-wk2/TestExpectations:
  • platform/wk2/TestExpectations:
Location:
trunk
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r216641 r216643  
     12017-05-10  Andy Estes  <aestes@apple.com>
     2
     3        REGRESSION (r167845): ASSERT(!m_renderView.needsLayout()) in svg/custom/bug79798.html
     4        https://bugs.webkit.org/show_bug.cgi?id=132297
     5
     6        Reviewed by Simon Fraser.
     7
     8        * http/tests/navigation/keyboard-events-during-provisional-navigation-expected.txt:
     9        * http/tests/navigation/keyboard-events-during-provisional-subframe-navigation-expected.txt:
     10        * http/tests/navigation/resources/keyboard-events-test.js:
     11        (runTest):
     12        * platform/ios-wk2/TestExpectations:
     13        * platform/wk2/TestExpectations:
     14
    1152017-05-09  Sam Weinig  <sam@webkit.org>
    216
  • trunk/LayoutTests/http/tests/navigation/keyboard-events-during-provisional-navigation-expected.txt

    r216599 r216643  
    66CONSOLE MESSAGE: line 30: Active element after pressing tab: [object HTMLInputElement].
    77CONSOLE MESSAGE: line 32: Pressing "a".
    8 CONSOLE MESSAGE: line 42: Setting marked text to "b".
    9 CONSOLE MESSAGE: line 45: Inserting text "c".
    10 CONSOLE MESSAGE: line 48: Input element value after text input events: "".
     8CONSOLE MESSAGE: line 35: Setting marked text to "b".
     9CONSOLE MESSAGE: line 38: Inserting text "c".
     10CONSOLE MESSAGE: line 41: Input element value after text input events: "".
    1111CONSOLE MESSAGE: line 18: Pressing "z" with access key modifiers should navigate to resources/keyboard-events-after-navigation.html.
    1212CONSOLE MESSAGE: line 6: Finished navigating to resources/keyboard-events-after-navigation.html.
     
    2525CONSOLE MESSAGE: line 5: inputevent dispatched (isTrusted: true).
    2626CONSOLE MESSAGE: line 5: keyupevent dispatched (isTrusted: true).
    27 CONSOLE MESSAGE: line 42: Setting marked text to "b".
     27CONSOLE MESSAGE: line 35: Setting marked text to "b".
    2828CONSOLE MESSAGE: line 5: compositionstartevent dispatched (isTrusted: true).
    2929CONSOLE MESSAGE: line 5: compositionupdateevent dispatched (isTrusted: true).
    3030CONSOLE MESSAGE: line 5: beforeinputevent dispatched (isTrusted: true).
    3131CONSOLE MESSAGE: line 5: inputevent dispatched (isTrusted: true).
    32 CONSOLE MESSAGE: line 45: Inserting text "c".
     32CONSOLE MESSAGE: line 38: Inserting text "c".
    3333CONSOLE MESSAGE: line 5: beforeinputevent dispatched (isTrusted: true).
    3434CONSOLE MESSAGE: line 5: inputevent dispatched (isTrusted: true).
     
    3737CONSOLE MESSAGE: line 5: inputevent dispatched (isTrusted: true).
    3838CONSOLE MESSAGE: line 5: compositionendevent dispatched (isTrusted: true).
    39 CONSOLE MESSAGE: line 48: Input element value after text input events: "ac".
     39CONSOLE MESSAGE: line 41: Input element value after text input events: "ac".
    4040
  • trunk/LayoutTests/http/tests/navigation/keyboard-events-during-provisional-subframe-navigation-expected.txt

    r216614 r216643  
    66CONSOLE MESSAGE: line 30: Active element after pressing tab: [object HTMLInputElement].
    77CONSOLE MESSAGE: line 32: Pressing "a".
    8 CONSOLE MESSAGE: line 38: Input element value after text input events: "".
     8CONSOLE MESSAGE: line 35: Setting marked text to "b".
     9CONSOLE MESSAGE: line 38: Inserting text "c".
     10CONSOLE MESSAGE: line 41: Input element value after text input events: "".
    911CONSOLE MESSAGE: line 20: Pressing "z" with access key modifiers should navigate to resources/keyboard-events-after-navigation.html.
    1012CONSOLE MESSAGE: line 6: Finished navigating to resources/keyboard-events-after-navigation.html.
     
    2325CONSOLE MESSAGE: line 5: inputevent dispatched (isTrusted: true).
    2426CONSOLE MESSAGE: line 5: keyupevent dispatched (isTrusted: true).
    25 CONSOLE MESSAGE: line 42: Setting marked text to "b".
     27CONSOLE MESSAGE: line 35: Setting marked text to "b".
    2628CONSOLE MESSAGE: line 5: compositionstartevent dispatched (isTrusted: true).
    2729CONSOLE MESSAGE: line 5: compositionupdateevent dispatched (isTrusted: true).
    2830CONSOLE MESSAGE: line 5: beforeinputevent dispatched (isTrusted: true).
    2931CONSOLE MESSAGE: line 5: inputevent dispatched (isTrusted: true).
    30 CONSOLE MESSAGE: line 45: Inserting text "c".
     32CONSOLE MESSAGE: line 38: Inserting text "c".
    3133CONSOLE MESSAGE: line 5: beforeinputevent dispatched (isTrusted: true).
    3234CONSOLE MESSAGE: line 5: inputevent dispatched (isTrusted: true).
     
    3537CONSOLE MESSAGE: line 5: inputevent dispatched (isTrusted: true).
    3638CONSOLE MESSAGE: line 5: compositionendevent dispatched (isTrusted: true).
    37 CONSOLE MESSAGE: line 48: Input element value after text input events: "ac".
     39CONSOLE MESSAGE: line 41: Input element value after text input events: "ac".
    3840
  • trunk/LayoutTests/http/tests/navigation/resources/keyboard-events-test.js

    r216599 r216643  
    3333    eventSender.keyDown("a");
    3434
    35     // FIXME: Composition events trigger assertions when performed in subframes.
    36     // See <https://webkit.org/b/132297>.
    37     if (window !== window.top) {
    38         console.log("Input element value after text input events: \"" + textInput.value + "\".");
    39         return;
    40     }
    41 
    4235    console.log("Setting marked text to \"b\".");
    4336    textInputController.setMarkedText("b", 0, 1);
  • trunk/LayoutTests/platform/ios-wk2/TestExpectations

    r216633 r216643  
    270270
    271271# SVG tests that fail due to an assert failure:
    272 webkit.org/b/132297 [ Debug ] svg/custom/bug79798.html [ Skip ]
    273272svg/custom/image-with-prefix-in-webarchive.svg
    274273
  • trunk/LayoutTests/platform/wk2/TestExpectations

    r216337 r216643  
    193193
    194194webkit.org/b/127683 http/tests/navigation/new-window-redirect-history.html [ Skip ]
    195 
    196 webkit.org/b/132297 svg/custom/bug79798.html [ Skip ]
    197195
    198196# Causes next test to crash only on WebKit2
  • trunk/Source/WebCore/ChangeLog

    r216642 r216643  
     12017-05-10  Andy Estes  <aestes@apple.com>
     2
     3        REGRESSION (r167845): ASSERT(!m_renderView.needsLayout()) in svg/custom/bug79798.html
     4        https://bugs.webkit.org/show_bug.cgi?id=132297
     5
     6        Reviewed by Simon Fraser.
     7
     8        We don't know why m_renderView needs layout in this case, but we know that we don't need to
     9        assert if the client hasn't set the ScrollableInnerFrameTrigger compositing trigger.
     10
     11        * rendering/RenderLayerCompositor.cpp:
     12        (WebCore::RenderLayerCompositor::requiresCompositingForScrollableFrame):
     13
    1142017-05-10  Ryan Haddad  <ryanhaddad@apple.com>
    215
  • trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp

    r216535 r216643  
    24652465bool RenderLayerCompositor::requiresCompositingForScrollableFrame() const
    24662466{
     2467    if (isMainFrameCompositor())
     2468        return false;
     2469
     2470    if (!(m_compositingTriggers & ChromeClient::ScrollableInnerFrameTrigger))
     2471        return false;
     2472
    24672473    // Need this done first to determine overflow.
    24682474    ASSERT(!m_renderView.needsLayout());
    2469     if (isMainFrameCompositor())
    2470         return false;
    2471 
    2472     if (!(m_compositingTriggers & ChromeClient::ScrollableInnerFrameTrigger))
    2473         return false;
    2474 
    24752475    return m_renderView.frameView().isScrollable();
    24762476}
Note: See TracChangeset for help on using the changeset viewer.