REGRESSION (r167845): ASSERT(!m_renderView.needsLayout()) in svg/custom/bug79798...
authoraestes@apple.com <aestes@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 11 May 2017 00:33:33 +0000 (00:33 +0000)
committeraestes@apple.com <aestes@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 11 May 2017 00:33:33 +0000 (00:33 +0000)
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@216643 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/http/tests/navigation/keyboard-events-during-provisional-navigation-expected.txt
LayoutTests/http/tests/navigation/keyboard-events-during-provisional-subframe-navigation-expected.txt
LayoutTests/http/tests/navigation/resources/keyboard-events-test.js
LayoutTests/platform/ios-wk2/TestExpectations
LayoutTests/platform/wk2/TestExpectations
Source/WebCore/ChangeLog
Source/WebCore/rendering/RenderLayerCompositor.cpp

index e58090e..dc21143 100644 (file)
@@ -1,3 +1,17 @@
+2017-05-10  Andy Estes  <aestes@apple.com>
+
+        REGRESSION (r167845): ASSERT(!m_renderView.needsLayout()) in svg/custom/bug79798.html
+        https://bugs.webkit.org/show_bug.cgi?id=132297
+
+        Reviewed by Simon Fraser.
+
+        * 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:
+
 2017-05-09  Sam Weinig  <sam@webkit.org>
 
         Remove support for legacy Notifications
index e74fe69..86845d8 100644 (file)
@@ -5,9 +5,9 @@ CONSOLE MESSAGE: line 5: keypressevent dispatched (isTrusted: false).
 CONSOLE MESSAGE: line 28: Pressing tab.
 CONSOLE MESSAGE: line 30: Active element after pressing tab: [object HTMLInputElement].
 CONSOLE MESSAGE: line 32: Pressing "a".
-CONSOLE MESSAGE: line 42: Setting marked text to "b".
-CONSOLE MESSAGE: line 45: Inserting text "c".
-CONSOLE MESSAGE: line 48: Input element value after text input events: "".
+CONSOLE MESSAGE: line 35: Setting marked text to "b".
+CONSOLE MESSAGE: line 38: Inserting text "c".
+CONSOLE MESSAGE: line 41: Input element value after text input events: "".
 CONSOLE MESSAGE: line 18: Pressing "z" with access key modifiers should navigate to resources/keyboard-events-after-navigation.html.
 CONSOLE MESSAGE: line 6: Finished navigating to resources/keyboard-events-after-navigation.html.
 CONSOLE MESSAGE: line 7: Trusted events should be logged and the input element should have the value "ac".
@@ -24,17 +24,17 @@ CONSOLE MESSAGE: line 5: textInputevent dispatched (isTrusted: true).
 CONSOLE MESSAGE: line 5: beforeinputevent dispatched (isTrusted: true).
 CONSOLE MESSAGE: line 5: inputevent dispatched (isTrusted: true).
 CONSOLE MESSAGE: line 5: keyupevent dispatched (isTrusted: true).
-CONSOLE MESSAGE: line 42: Setting marked text to "b".
+CONSOLE MESSAGE: line 35: Setting marked text to "b".
 CONSOLE MESSAGE: line 5: compositionstartevent dispatched (isTrusted: true).
 CONSOLE MESSAGE: line 5: compositionupdateevent dispatched (isTrusted: true).
 CONSOLE MESSAGE: line 5: beforeinputevent dispatched (isTrusted: true).
 CONSOLE MESSAGE: line 5: inputevent dispatched (isTrusted: true).
-CONSOLE MESSAGE: line 45: Inserting text "c".
+CONSOLE MESSAGE: line 38: Inserting text "c".
 CONSOLE MESSAGE: line 5: beforeinputevent dispatched (isTrusted: true).
 CONSOLE MESSAGE: line 5: inputevent dispatched (isTrusted: true).
 CONSOLE MESSAGE: line 5: textInputevent dispatched (isTrusted: true).
 CONSOLE MESSAGE: line 5: beforeinputevent dispatched (isTrusted: true).
 CONSOLE MESSAGE: line 5: inputevent dispatched (isTrusted: true).
 CONSOLE MESSAGE: line 5: compositionendevent dispatched (isTrusted: true).
-CONSOLE MESSAGE: line 48: Input element value after text input events: "ac".
+CONSOLE MESSAGE: line 41: Input element value after text input events: "ac".
 
index 6f5e34c..130e059 100644 (file)
@@ -5,7 +5,9 @@ CONSOLE MESSAGE: line 5: keypressevent dispatched (isTrusted: false).
 CONSOLE MESSAGE: line 28: Pressing tab.
 CONSOLE MESSAGE: line 30: Active element after pressing tab: [object HTMLInputElement].
 CONSOLE MESSAGE: line 32: Pressing "a".
-CONSOLE MESSAGE: line 38: Input element value after text input events: "".
+CONSOLE MESSAGE: line 35: Setting marked text to "b".
+CONSOLE MESSAGE: line 38: Inserting text "c".
+CONSOLE MESSAGE: line 41: Input element value after text input events: "".
 CONSOLE MESSAGE: line 20: Pressing "z" with access key modifiers should navigate to resources/keyboard-events-after-navigation.html.
 CONSOLE MESSAGE: line 6: Finished navigating to resources/keyboard-events-after-navigation.html.
 CONSOLE MESSAGE: line 7: Trusted events should be logged and the input element should have the value "ac".
@@ -22,17 +24,17 @@ CONSOLE MESSAGE: line 5: textInputevent dispatched (isTrusted: true).
 CONSOLE MESSAGE: line 5: beforeinputevent dispatched (isTrusted: true).
 CONSOLE MESSAGE: line 5: inputevent dispatched (isTrusted: true).
 CONSOLE MESSAGE: line 5: keyupevent dispatched (isTrusted: true).
-CONSOLE MESSAGE: line 42: Setting marked text to "b".
+CONSOLE MESSAGE: line 35: Setting marked text to "b".
 CONSOLE MESSAGE: line 5: compositionstartevent dispatched (isTrusted: true).
 CONSOLE MESSAGE: line 5: compositionupdateevent dispatched (isTrusted: true).
 CONSOLE MESSAGE: line 5: beforeinputevent dispatched (isTrusted: true).
 CONSOLE MESSAGE: line 5: inputevent dispatched (isTrusted: true).
-CONSOLE MESSAGE: line 45: Inserting text "c".
+CONSOLE MESSAGE: line 38: Inserting text "c".
 CONSOLE MESSAGE: line 5: beforeinputevent dispatched (isTrusted: true).
 CONSOLE MESSAGE: line 5: inputevent dispatched (isTrusted: true).
 CONSOLE MESSAGE: line 5: textInputevent dispatched (isTrusted: true).
 CONSOLE MESSAGE: line 5: beforeinputevent dispatched (isTrusted: true).
 CONSOLE MESSAGE: line 5: inputevent dispatched (isTrusted: true).
 CONSOLE MESSAGE: line 5: compositionendevent dispatched (isTrusted: true).
-CONSOLE MESSAGE: line 48: Input element value after text input events: "ac".
+CONSOLE MESSAGE: line 41: Input element value after text input events: "ac".
 
index 33a9969..6a52f57 100644 (file)
@@ -32,13 +32,6 @@ function runTest(window)
     console.log("Pressing \"a\".");
     eventSender.keyDown("a");
 
-    // FIXME: Composition events trigger assertions when performed in subframes.
-    // See <https://webkit.org/b/132297>.
-    if (window !== window.top) {
-        console.log("Input element value after text input events: \"" + textInput.value + "\".");
-        return;
-    }
-
     console.log("Setting marked text to \"b\".");
     textInputController.setMarkedText("b", 0, 1);
 
index db5cd41..a2ccc10 100644 (file)
@@ -269,7 +269,6 @@ svg/dynamic-updates/SVGClipPathElement-transform-influences-hitTesting.html
 svg/custom/linking-a-03-b-all.svg
 
 # SVG tests that fail due to an assert failure:
-webkit.org/b/132297 [ Debug ] svg/custom/bug79798.html [ Skip ]
 svg/custom/image-with-prefix-in-webarchive.svg
 
 # SVG tests that fail:
index d1b3c0d..7306fee 100644 (file)
@@ -193,8 +193,6 @@ webkit.org/b/105952 fast/loader/submit-form-while-parsing-2.html [ Pass Failure
 
 webkit.org/b/127683 http/tests/navigation/new-window-redirect-history.html [ Skip ]
 
-webkit.org/b/132297 svg/custom/bug79798.html [ Skip ]
-
 # Causes next test to crash only on WebKit2
 webkit.org/b/98345 fast/parser/document-open-in-unload.html [ Skip ]
 
index 61affc8..41b7106 100644 (file)
@@ -1,3 +1,16 @@
+2017-05-10  Andy Estes  <aestes@apple.com>
+
+        REGRESSION (r167845): ASSERT(!m_renderView.needsLayout()) in svg/custom/bug79798.html
+        https://bugs.webkit.org/show_bug.cgi?id=132297
+
+        Reviewed by Simon Fraser.
+
+        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):
+
 2017-05-10  Ryan Haddad  <ryanhaddad@apple.com>
 
         Unreviewed, rolling out r216630.
index 085be96..9d39ca0 100644 (file)
@@ -2464,14 +2464,14 @@ bool RenderLayerCompositor::clipsCompositingDescendants(const RenderLayer& layer
 
 bool RenderLayerCompositor::requiresCompositingForScrollableFrame() const
 {
-    // Need this done first to determine overflow.
-    ASSERT(!m_renderView.needsLayout());
     if (isMainFrameCompositor())
         return false;
 
     if (!(m_compositingTriggers & ChromeClient::ScrollableInnerFrameTrigger))
         return false;
 
+    // Need this done first to determine overflow.
+    ASSERT(!m_renderView.needsLayout());
     return m_renderView.frameView().isScrollable();
 }