Title: [241502] branches/safari-607-branch/Source/WebKit
Revision
241502
Author
[email protected]
Date
2019-02-14 00:34:21 -0800 (Thu, 14 Feb 2019)

Log Message

Cherry-pick r241349. rdar://problem/48065639

    Null deref in userInterfaceLayoutDirection under ViewGestureController::handleSwipeGesture
    https://bugs.webkit.org/show_bug.cgi?id=194569
    <rdar://problem/46711049>

    Reviewed by Wenson Hsieh.

    * UIProcess/mac/ViewGestureControllerMac.mm:
    (WebKit::ViewGestureController::handleSwipeGesture):
    It is conceivable that we could get here if the client closes the page
    e.g. in the callback from willEndSwipeGesture. We already guarded against
    this ... one line too late! Rearrange the lines so we don't call into
    WebPageProxy at all if we don't have a drawing area (which is a strict subset
    of the time that isValid would return true). This is a speculative fix,
    since I can no longer reproduce the crash on demand.

    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@241349 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Modified Paths

Diff

Modified: branches/safari-607-branch/Source/WebKit/ChangeLog (241501 => 241502)


--- branches/safari-607-branch/Source/WebKit/ChangeLog	2019-02-14 08:34:17 UTC (rev 241501)
+++ branches/safari-607-branch/Source/WebKit/ChangeLog	2019-02-14 08:34:21 UTC (rev 241502)
@@ -1,5 +1,44 @@
 2019-02-13  Babak Shafiei  <[email protected]>
 
+        Cherry-pick r241349. rdar://problem/48065639
+
+    Null deref in userInterfaceLayoutDirection under ViewGestureController::handleSwipeGesture
+    https://bugs.webkit.org/show_bug.cgi?id=194569
+    <rdar://problem/46711049>
+    
+    Reviewed by Wenson Hsieh.
+    
+    * UIProcess/mac/ViewGestureControllerMac.mm:
+    (WebKit::ViewGestureController::handleSwipeGesture):
+    It is conceivable that we could get here if the client closes the page
+    e.g. in the callback from willEndSwipeGesture. We already guarded against
+    this ... one line too late! Rearrange the lines so we don't call into
+    WebPageProxy at all if we don't have a drawing area (which is a strict subset
+    of the time that isValid would return true). This is a speculative fix,
+    since I can no longer reproduce the crash on demand.
+    
+    
+    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@241349 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+    2019-02-12  Tim Horton  <[email protected]>
+
+            Null deref in userInterfaceLayoutDirection under ViewGestureController::handleSwipeGesture
+            https://bugs.webkit.org/show_bug.cgi?id=194569
+            <rdar://problem/46711049>
+
+            Reviewed by Wenson Hsieh.
+
+            * UIProcess/mac/ViewGestureControllerMac.mm:
+            (WebKit::ViewGestureController::handleSwipeGesture):
+            It is conceivable that we could get here if the client closes the page
+            e.g. in the callback from willEndSwipeGesture. We already guarded against
+            this ... one line too late! Rearrange the lines so we don't call into
+            WebPageProxy at all if we don't have a drawing area (which is a strict subset
+            of the time that isValid would return true). This is a speculative fix,
+            since I can no longer reproduce the crash on demand.
+
+2019-02-13  Babak Shafiei  <[email protected]>
+
         Cherry-pick r241336. rdar://problem/48065621
 
     Regression(PSON) MESSAGE_CHECK() hit under WebPageProxy::didFailProvisionalLoadForFrameShared()

Modified: branches/safari-607-branch/Source/WebKit/UIProcess/mac/ViewGestureControllerMac.mm (241501 => 241502)


--- branches/safari-607-branch/Source/WebKit/UIProcess/mac/ViewGestureControllerMac.mm	2019-02-14 08:34:17 UTC (rev 241501)
+++ branches/safari-607-branch/Source/WebKit/UIProcess/mac/ViewGestureControllerMac.mm	2019-02-14 08:34:21 UTC (rev 241502)
@@ -679,11 +679,11 @@
 {
     ASSERT(m_activeGestureType == ViewGestureType::Swipe);
 
-    bool swipingLeft = isPhysicallySwipingLeft(direction);
-
     if (!m_webPageProxy.drawingArea())
         return;
 
+    bool swipingLeft = isPhysicallySwipingLeft(direction);
+
     double width;
     if (!m_customSwipeViews.isEmpty())
         width = m_currentSwipeCustomViewBounds.width();
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to