Title: [202861] trunk/Source/WebKit/win
Revision
202861
Author
[email protected]
Date
2016-07-06 10:04:28 -0700 (Wed, 06 Jul 2016)

Log Message

[Win] Add null pointer check in gesture handling.
https://bugs.webkit.org/show_bug.cgi?id=159454

Reviewed by Brent Fulgham.

* WebView.cpp:
(WebView::gesture):

Modified Paths

Diff

Modified: trunk/Source/WebKit/win/ChangeLog (202860 => 202861)


--- trunk/Source/WebKit/win/ChangeLog	2016-07-06 16:58:37 UTC (rev 202860)
+++ trunk/Source/WebKit/win/ChangeLog	2016-07-06 17:04:28 UTC (rev 202861)
@@ -1,3 +1,13 @@
+2016-07-06  Per Arne Vollan  <[email protected]>
+
+        [Win] Add null pointer check in gesture handling.
+        https://bugs.webkit.org/show_bug.cgi?id=159454
+
+        Reviewed by Brent Fulgham.
+
+        * WebView.cpp:
+        (WebView::gesture):
+
 2016-07-01  Per Arne Vollan  <[email protected]>
 
         ASSERTION FAILED: info.bmBitsPixel == 32

Modified: trunk/Source/WebKit/win/WebView.cpp (202860 => 202861)


--- trunk/Source/WebKit/win/WebView.cpp	2016-07-06 16:58:37 UTC (rev 202860)
+++ trunk/Source/WebKit/win/WebView.cpp	2016-07-06 17:04:28 UTC (rev 202861)
@@ -1869,12 +1869,16 @@
         float scaleFactor = deviceScaleFactor();
         IntSize logicalScrollDelta(-deltaX * scaleFactor, -deltaY * scaleFactor);
 
-        if (!m_gestureTargetNode || !m_gestureTargetNode->renderer()) {
+        RenderLayer* scrollableLayer = nullptr;
+        if (m_gestureTargetNode && m_gestureTargetNode->renderer() && m_gestureTargetNode->renderer()->enclosingLayer())
+            scrollableLayer = m_gestureTargetNode->renderer()->enclosingLayer()->enclosingScrollableLayer();
+
+        if (!scrollableLayer) {
             // We might directly hit the document without hitting any nodes
             coreFrame->view()->scrollBy(logicalScrollDelta);
             scrolledArea = coreFrame->view();
         } else
-            m_gestureTargetNode->renderer()->enclosingLayer()->enclosingScrollableLayer()->scrollByRecursively(logicalScrollDelta, WebCore::RenderLayer::ScrollOffsetClamped, &scrolledArea);
+            scrollableLayer->scrollByRecursively(logicalScrollDelta, WebCore::RenderLayer::ScrollOffsetClamped, &scrolledArea);
 
         if (!(UpdatePanningFeedbackPtr() && BeginPanningFeedbackPtr() && EndPanningFeedbackPtr())) {
             CloseGestureInfoHandlePtr()(gestureHandle);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to