Title: [225688] tags/Safari-605.1.16.1/Source/WebCore
Revision
225688
Author
jmarc...@apple.com
Date
2017-12-08 11:34:26 -0800 (Fri, 08 Dec 2017)

Log Message

Cherry-pick r225647. rdar://problem/35410390

Modified Paths

Diff

Modified: tags/Safari-605.1.16.1/Source/WebCore/ChangeLog (225687 => 225688)


--- tags/Safari-605.1.16.1/Source/WebCore/ChangeLog	2017-12-08 19:29:33 UTC (rev 225687)
+++ tags/Safari-605.1.16.1/Source/WebCore/ChangeLog	2017-12-08 19:34:26 UTC (rev 225688)
@@ -1,3 +1,26 @@
+2017-12-08  Jason Marcell  <jmarc...@apple.com>
+
+        Cherry-pick r225647. rdar://problem/35410390
+
+    2017-12-07  Ryosuke Niwa  <rn...@webkit.org>
+
+            iOS: Many AMP pages crash inside Document::updateStyleIfNeeded
+            https://bugs.webkit.org/show_bug.cgi?id=180550
+            <rdar://problem/35410390>
+
+            Reviewed by Zalan Bujtas.
+
+            The crash was caused when updatign the layout of an non-flattened frame inside a flattened frame.
+            In those cases, isInChildFrameWithFrameFlattening is false on the inner frame.
+
+            No new tests for now.
+
+            * dom/NoEventDispatchAssertion.h:
+            * rendering/RenderFrameBase.cpp:
+            (WebCore::RenderFrameBase::performLayoutWithFlattening): Disable the assertion temporarily here.
+            In theory, we should be able to remove the check for isInChildFrameWithFrameFlattening but we err
+            on the safer side for now.
+
 2017-12-06  Zan Dobersek  <zdober...@igalia.com>
 
         [CoordGraphics] Introduce Nicosia::PaintingContext, add Cairo implementation

Modified: tags/Safari-605.1.16.1/Source/WebCore/dom/NoEventDispatchAssertion.h (225687 => 225688)


--- tags/Safari-605.1.16.1/Source/WebCore/dom/NoEventDispatchAssertion.h	2017-12-08 19:29:33 UTC (rev 225687)
+++ tags/Safari-605.1.16.1/Source/WebCore/dom/NoEventDispatchAssertion.h	2017-12-08 19:34:26 UTC (rev 225688)
@@ -129,7 +129,8 @@
     };
 #endif
 
-    // FIXME: Remove this class once the sync layout inside SVGImage::draw is removed.
+    // FIXME: Remove this class once the sync layout inside SVGImage::draw is removed
+    // and refactored the code in RenderFrameBase::performLayoutWithFlattening.
     class DisableAssertionsInScope {
     public:
         DisableAssertionsInScope()

Modified: tags/Safari-605.1.16.1/Source/WebCore/rendering/RenderFrameBase.cpp (225687 => 225688)


--- tags/Safari-605.1.16.1/Source/WebCore/rendering/RenderFrameBase.cpp	2017-12-08 19:29:33 UTC (rev 225687)
+++ tags/Safari-605.1.16.1/Source/WebCore/rendering/RenderFrameBase.cpp	2017-12-08 19:34:26 UTC (rev 225688)
@@ -29,6 +29,7 @@
 #include "Frame.h"
 #include "FrameView.h"
 #include "HTMLFrameElementBase.h"
+#include "NoEventDispatchAssertion.h"
 #include "RenderView.h"
 #include <wtf/IsoMallocInlines.h>
 
@@ -73,6 +74,8 @@
 
 void RenderFrameBase::performLayoutWithFlattening(bool hasFixedWidth, bool hasFixedHeight)
 {
+    // FIXME: Refactor frame flattening code so that we don't need to disable assertions here.
+    NoEventDispatchAssertion::DisableAssertionsInScope scope;
     if (!childRenderView())
         return;
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to