Title: [262825] trunk/Source/WebCore
Revision
262825
Author
[email protected]
Date
2020-06-09 16:32:04 -0700 (Tue, 09 Jun 2020)

Log Message

Logging and tree dumping crash fix
https://bugs.webkit.org/show_bug.cgi?id=212988

Reviewed by Zalan Bujtas.

Add scrolling logging to RenderLayer::requestScrollPositionUpdate().

Null-check the scrollerImp in ScrollbarThemeMac::isLayoutDirectionRTL, because this is
called from renderTreeAsText() which can be invoked from the debugger, and should not crash.

* platform/mac/ScrollbarThemeMac.mm:
(WebCore::ScrollbarThemeMac::isLayoutDirectionRTL):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::requestScrollPositionUpdate):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (262824 => 262825)


--- trunk/Source/WebCore/ChangeLog	2020-06-09 23:27:57 UTC (rev 262824)
+++ trunk/Source/WebCore/ChangeLog	2020-06-09 23:32:04 UTC (rev 262825)
@@ -1,3 +1,20 @@
+2020-06-09  Simon Fraser  <[email protected]>
+
+        Logging and tree dumping crash fix
+        https://bugs.webkit.org/show_bug.cgi?id=212988
+
+        Reviewed by Zalan Bujtas.
+
+        Add scrolling logging to RenderLayer::requestScrollPositionUpdate().
+
+        Null-check the scrollerImp in ScrollbarThemeMac::isLayoutDirectionRTL, because this is
+        called from renderTreeAsText() which can be invoked from the debugger, and should not crash.
+
+        * platform/mac/ScrollbarThemeMac.mm:
+        (WebCore::ScrollbarThemeMac::isLayoutDirectionRTL):
+        * rendering/RenderLayer.cpp:
+        (WebCore::RenderLayer::requestScrollPositionUpdate):
+
 2020-06-09  Andy Estes  <[email protected]>
 
         Unreviewed change for post-commit feedback after r262682.

Modified: trunk/Source/WebCore/platform/mac/ScrollbarThemeMac.mm (262824 => 262825)


--- trunk/Source/WebCore/platform/mac/ScrollbarThemeMac.mm	2020-06-09 23:27:57 UTC (rev 262824)
+++ trunk/Source/WebCore/platform/mac/ScrollbarThemeMac.mm	2020-06-09 23:32:04 UTC (rev 262825)
@@ -199,7 +199,8 @@
 {
 #if PLATFORM(MAC)
     NSScrollerImp *scrollerImp = painterForScrollbar(scrollbar);
-    ASSERT(scrollerImp);
+    if (!scrollerImp)
+        return false;
     return scrollerImp.userInterfaceLayoutDirection == NSUserInterfaceLayoutDirectionRightToLeft;
 #else
     UNUSED_PARAM(scrollbar);

Modified: trunk/Source/WebCore/rendering/RenderLayer.cpp (262824 => 262825)


--- trunk/Source/WebCore/rendering/RenderLayer.cpp	2020-06-09 23:27:57 UTC (rev 262824)
+++ trunk/Source/WebCore/rendering/RenderLayer.cpp	2020-06-09 23:32:04 UTC (rev 262825)
@@ -2588,6 +2588,8 @@
 bool RenderLayer::requestScrollPositionUpdate(const ScrollPosition& position, ScrollType scrollType, ScrollClamping clamping)
 {
 #if ENABLE(ASYNC_SCROLLING)
+    LOG_WITH_STREAM(Scrolling, stream << *this << " requestScrollPositionUpdate " << position);
+
     if (ScrollingCoordinator* scrollingCoordinator = page().scrollingCoordinator())
         return scrollingCoordinator->requestScrollPositionUpdate(*this, position, scrollType, clamping);
 #endif
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to