Title: [194823] trunk
Revision
194823
Author
za...@apple.com
Date
2016-01-09 16:38:56 -0800 (Sat, 09 Jan 2016)

Log Message

REGRESSION (r194426): First email field is not autofilled on amazon.com
https://bugs.webkit.org/show_bug.cgi?id=152945
<rdar://problem/24082914>

Reviewed by Simon Fraser.

r194426 missed marking the m_layoutRoot for layout while converting to full layout (it only marked the new layout root).

Source/WebCore:

Test: fast/forms/multiple-subtree-layout-failure.html

* page/FrameView.cpp:
(WebCore::FrameView::scheduleRelayoutOfSubtree):

LayoutTests:

* fast/forms/multiple-subtree-layout-failure-expected.html: Added.
* fast/forms/multiple-subtree-layout-failure.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (194822 => 194823)


--- trunk/LayoutTests/ChangeLog	2016-01-09 23:29:23 UTC (rev 194822)
+++ trunk/LayoutTests/ChangeLog	2016-01-10 00:38:56 UTC (rev 194823)
@@ -1,3 +1,16 @@
+2016-01-09  Zalan Bujtas  <za...@apple.com>
+
+        REGRESSION (r194426): First email field is not autofilled on amazon.com
+        https://bugs.webkit.org/show_bug.cgi?id=152945
+        <rdar://problem/24082914>
+
+        Reviewed by Simon Fraser.
+
+        r194426 missed marking the m_layoutRoot for layout while converting to full layout (it only marked the new layout root).
+
+        * fast/forms/multiple-subtree-layout-failure-expected.html: Added.
+        * fast/forms/multiple-subtree-layout-failure.html: Added.
+
 2016-01-08  Zalan Bujtas  <za...@apple.com>
 
         Absolute positioning -webkit-search-cancel-button crashes Safari.

Added: trunk/LayoutTests/fast/forms/multiple-subtree-layout-failure-expected.html (0 => 194823)


--- trunk/LayoutTests/fast/forms/multiple-subtree-layout-failure-expected.html	                        (rev 0)
+++ trunk/LayoutTests/fast/forms/multiple-subtree-layout-failure-expected.html	2016-01-10 00:38:56 UTC (rev 194823)
@@ -0,0 +1,10 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>This tests when we issue subtree layout on multiple subtrees, they all get laid out properly.</title>
+</head>
+<body>
+<div><input value="foobar"></div>
+<div><input value="foobar"></div>
+</body>
+</html>

Added: trunk/LayoutTests/fast/forms/multiple-subtree-layout-failure.html (0 => 194823)


--- trunk/LayoutTests/fast/forms/multiple-subtree-layout-failure.html	                        (rev 0)
+++ trunk/LayoutTests/fast/forms/multiple-subtree-layout-failure.html	2016-01-10 00:38:56 UTC (rev 194823)
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>This tests when we issue subtree layout on multiple subtrees, they all get laid out properly.</title>
+</head>
+<body>
+<div><input id="test"></div>
+<div><input id="test1"></div>
+<script>
+if (window.testRunner)
+    testRunner.waitUntilDone();
+setTimeout(function() {
+    document.getElementById("test").value = "foobar";
+    document.getElementById("test1").value = "foobar";
+    if (window.testRunner)
+        testRunner.notifyDone();
+    }, 0);
+</script>
+</body>
+</html>

Modified: trunk/Source/WebCore/ChangeLog (194822 => 194823)


--- trunk/Source/WebCore/ChangeLog	2016-01-09 23:29:23 UTC (rev 194822)
+++ trunk/Source/WebCore/ChangeLog	2016-01-10 00:38:56 UTC (rev 194823)
@@ -1,3 +1,18 @@
+2016-01-09  Zalan Bujtas  <za...@apple.com>
+
+        REGRESSION (r194426): First email field is not autofilled on amazon.com
+        https://bugs.webkit.org/show_bug.cgi?id=152945
+        <rdar://problem/24082914>
+
+        Reviewed by Simon Fraser.
+
+        r194426 missed marking the m_layoutRoot for layout while converting to full layout (it only marked the new layout root).
+
+        Test: fast/forms/multiple-subtree-layout-failure.html
+
+        * page/FrameView.cpp:
+        (WebCore::FrameView::scheduleRelayoutOfSubtree):
+
 2016-01-09  Dan Bernstein  <m...@apple.com>
 
         [Cocoa] Allow overriding the frameworks directory independently of using a staging install path

Modified: trunk/Source/WebCore/page/FrameView.cpp (194822 => 194823)


--- trunk/Source/WebCore/page/FrameView.cpp	2016-01-09 23:29:23 UTC (rev 194822)
+++ trunk/Source/WebCore/page/FrameView.cpp	2016-01-10 00:38:56 UTC (rev 194823)
@@ -2648,7 +2648,7 @@
         return;
 
     if (!m_layoutRoot) {
-        // Just relayout the subtree.
+        // We already have a pending (full) layout. Just mark the subtree for layout.
         newRelayoutRoot.markContainingBlocksForLayout(ScheduleRelayout::No);
         InspectorInstrumentation::didInvalidateLayout(frame());
         return;
@@ -2669,10 +2669,9 @@
         InspectorInstrumentation::didInvalidateLayout(frame());
         return;
     }
-
-    // Just do a full relayout.
-    m_layoutRoot = &newRelayoutRoot;
+    // Two disjoint subtrees need layout. Mark both of them and issue a full layout instead.
     convertSubtreeLayoutToFullLayout();
+    newRelayoutRoot.markContainingBlocksForLayout(ScheduleRelayout::No);
     InspectorInstrumentation::didInvalidateLayout(frame());
 }
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to