Title: [240609] trunk/Source/WebCore
- Revision
- 240609
- Author
- [email protected]
- Date
- 2019-01-28 16:14:58 -0800 (Mon, 28 Jan 2019)
Log Message
css3/filters/blur-filter-page-scroll-self.html crashes under WebCore::ScrollingStateNode::ScrollingStateNode
https://bugs.webkit.org/show_bug.cgi?id=193925
Reviewed by Tim Horton.
Some css3/filters/ tests disable accelerated compositing (which is crazy). Make these
tests not crash by ensuring that unparentNode() and unparentChildrenAndDestroyNode() clears the root
node if it's the node being unparented or destroyed.
Tested by existing tests.
* page/scrolling/ScrollingStateTree.cpp:
(WebCore::ScrollingStateTree::unparentNode):
(WebCore::ScrollingStateTree::unparentChildrenAndDestroyNode):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (240608 => 240609)
--- trunk/Source/WebCore/ChangeLog 2019-01-29 00:12:53 UTC (rev 240608)
+++ trunk/Source/WebCore/ChangeLog 2019-01-29 00:14:58 UTC (rev 240609)
@@ -1,3 +1,20 @@
+2019-01-28 Simon Fraser <[email protected]>
+
+ css3/filters/blur-filter-page-scroll-self.html crashes under WebCore::ScrollingStateNode::ScrollingStateNode
+ https://bugs.webkit.org/show_bug.cgi?id=193925
+
+ Reviewed by Tim Horton.
+
+ Some css3/filters/ tests disable accelerated compositing (which is crazy). Make these
+ tests not crash by ensuring that unparentNode() and unparentChildrenAndDestroyNode() clears the root
+ node if it's the node being unparented or destroyed.
+
+ Tested by existing tests.
+
+ * page/scrolling/ScrollingStateTree.cpp:
+ (WebCore::ScrollingStateTree::unparentNode):
+ (WebCore::ScrollingStateTree::unparentChildrenAndDestroyNode):
+
2019-01-28 Daniel Bates <[email protected]>
[iOS] Make Window virtual key code computation match Mac
Modified: trunk/Source/WebCore/page/scrolling/ScrollingStateTree.cpp (240608 => 240609)
--- trunk/Source/WebCore/page/scrolling/ScrollingStateTree.cpp 2019-01-29 00:12:53 UTC (rev 240608)
+++ trunk/Source/WebCore/page/scrolling/ScrollingStateTree.cpp 2019-01-29 00:14:58 UTC (rev 240609)
@@ -204,6 +204,9 @@
if (!protectedNode)
return;
+ if (protectedNode == m_rootStateNode)
+ m_rootStateNode = nullptr;
+
protectedNode->removeFromParent();
m_unparentedNodes.add(nodeID, WTFMove(protectedNode));
}
@@ -220,6 +223,9 @@
if (!protectedNode)
return;
+ if (protectedNode == m_rootStateNode)
+ m_rootStateNode = nullptr;
+
if (auto* children = protectedNode->children()) {
for (auto child : *children) {
child->removeFromParent();
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes