Title: [216643] trunk
Revision
216643
Author
aes...@apple.com
Date
2017-05-10 17:33:33 -0700 (Wed, 10 May 2017)

Log 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:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (216642 => 216643)


--- trunk/LayoutTests/ChangeLog	2017-05-11 00:32:56 UTC (rev 216642)
+++ trunk/LayoutTests/ChangeLog	2017-05-11 00:33:33 UTC (rev 216643)
@@ -1,3 +1,17 @@
+2017-05-10  Andy Estes  <aes...@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  <s...@webkit.org>
 
         Remove support for legacy Notifications

Modified: trunk/LayoutTests/http/tests/navigation/keyboard-events-during-provisional-navigation-expected.txt (216642 => 216643)


--- trunk/LayoutTests/http/tests/navigation/keyboard-events-during-provisional-navigation-expected.txt	2017-05-11 00:32:56 UTC (rev 216642)
+++ trunk/LayoutTests/http/tests/navigation/keyboard-events-during-provisional-navigation-expected.txt	2017-05-11 00:33:33 UTC (rev 216643)
@@ -5,9 +5,9 @@
 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,12 +24,12 @@
 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).
@@ -36,5 +36,5 @@
 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".
 

Modified: trunk/LayoutTests/http/tests/navigation/keyboard-events-during-provisional-subframe-navigation-expected.txt (216642 => 216643)


--- trunk/LayoutTests/http/tests/navigation/keyboard-events-during-provisional-subframe-navigation-expected.txt	2017-05-11 00:32:56 UTC (rev 216642)
+++ trunk/LayoutTests/http/tests/navigation/keyboard-events-during-provisional-subframe-navigation-expected.txt	2017-05-11 00:33:33 UTC (rev 216643)
@@ -5,7 +5,9 @@
 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,12 +24,12 @@
 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).
@@ -34,5 +36,5 @@
 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".
 

Modified: trunk/LayoutTests/http/tests/navigation/resources/keyboard-events-test.js (216642 => 216643)


--- trunk/LayoutTests/http/tests/navigation/resources/keyboard-events-test.js	2017-05-11 00:32:56 UTC (rev 216642)
+++ trunk/LayoutTests/http/tests/navigation/resources/keyboard-events-test.js	2017-05-11 00:33:33 UTC (rev 216643)
@@ -32,13 +32,6 @@
     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);
 

Modified: trunk/LayoutTests/platform/ios-wk2/TestExpectations (216642 => 216643)


--- trunk/LayoutTests/platform/ios-wk2/TestExpectations	2017-05-11 00:32:56 UTC (rev 216642)
+++ trunk/LayoutTests/platform/ios-wk2/TestExpectations	2017-05-11 00:33:33 UTC (rev 216643)
@@ -269,7 +269,6 @@
 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:

Modified: trunk/LayoutTests/platform/wk2/TestExpectations (216642 => 216643)


--- trunk/LayoutTests/platform/wk2/TestExpectations	2017-05-11 00:32:56 UTC (rev 216642)
+++ trunk/LayoutTests/platform/wk2/TestExpectations	2017-05-11 00:33:33 UTC (rev 216643)
@@ -193,8 +193,6 @@
 
 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 ]
 

Modified: trunk/Source/WebCore/ChangeLog (216642 => 216643)


--- trunk/Source/WebCore/ChangeLog	2017-05-11 00:32:56 UTC (rev 216642)
+++ trunk/Source/WebCore/ChangeLog	2017-05-11 00:33:33 UTC (rev 216643)
@@ -1,3 +1,16 @@
+2017-05-10  Andy Estes  <aes...@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  <ryanhad...@apple.com>
 
         Unreviewed, rolling out r216630.

Modified: trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp (216642 => 216643)


--- trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp	2017-05-11 00:32:56 UTC (rev 216642)
+++ trunk/Source/WebCore/rendering/RenderLayerCompositor.cpp	2017-05-11 00:33:33 UTC (rev 216643)
@@ -2464,8 +2464,6 @@
 
 bool RenderLayerCompositor::requiresCompositingForScrollableFrame() const
 {
-    // Need this done first to determine overflow.
-    ASSERT(!m_renderView.needsLayout());
     if (isMainFrameCompositor())
         return false;
 
@@ -2472,6 +2470,8 @@
     if (!(m_compositingTriggers & ChromeClient::ScrollableInnerFrameTrigger))
         return false;
 
+    // Need this done first to determine overflow.
+    ASSERT(!m_renderView.needsLayout());
     return m_renderView.frameView().isScrollable();
 }
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to