Title: [171070] trunk/Source/WebKit2
Revision
171070
Author
[email protected]
Date
2014-07-14 11:31:54 -0700 (Mon, 14 Jul 2014)

Log Message

REGRESSION (r171045): Reproducible crash on navigation in PageClientImpl::willRecordNavigationSnapshot
https://bugs.webkit.org/show_bug.cgi?id=134887

Reviewed by Tim Horton.

* UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::navigationGestureDidBegin): nil-check m_webView. It can be nil when
the client is using WKView directly.
(WebKit::PageClientImpl::navigationGestureWillEnd): Ditto.
(WebKit::PageClientImpl::navigationGestureDidEnd): Ditto.
(WebKit::PageClientImpl::willRecordNavigationSnapshot): Ditto.

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (171069 => 171070)


--- trunk/Source/WebKit2/ChangeLog	2014-07-14 18:17:34 UTC (rev 171069)
+++ trunk/Source/WebKit2/ChangeLog	2014-07-14 18:31:54 UTC (rev 171070)
@@ -1,3 +1,17 @@
+2014-07-14  Dan Bernstein  <[email protected]>
+
+        REGRESSION (r171045): Reproducible crash on navigation in PageClientImpl::willRecordNavigationSnapshot
+        https://bugs.webkit.org/show_bug.cgi?id=134887
+
+        Reviewed by Tim Horton.
+
+        * UIProcess/mac/PageClientImpl.mm:
+        (WebKit::PageClientImpl::navigationGestureDidBegin): nil-check m_webView. It can be nil when
+        the client is using WKView directly.
+        (WebKit::PageClientImpl::navigationGestureWillEnd): Ditto.
+        (WebKit::PageClientImpl::navigationGestureDidEnd): Ditto.
+        (WebKit::PageClientImpl::willRecordNavigationSnapshot): Ditto.
+
 2014-07-14  Eric Carlson  <[email protected]>
 
         [Mac] don't enable low power audio mode on external output devices

Modified: trunk/Source/WebKit2/UIProcess/mac/PageClientImpl.mm (171069 => 171070)


--- trunk/Source/WebKit2/UIProcess/mac/PageClientImpl.mm	2014-07-14 18:17:34 UTC (rev 171069)
+++ trunk/Source/WebKit2/UIProcess/mac/PageClientImpl.mm	2014-07-14 18:31:54 UTC (rev 171070)
@@ -690,14 +690,16 @@
 void PageClientImpl::navigationGestureDidBegin()
 {
 #if WK_API_ENABLED
-    NavigationState::fromWebPage(*m_webView->_page).navigationGestureDidBegin();
+    if (m_webView)
+        NavigationState::fromWebPage(*m_webView->_page).navigationGestureDidBegin();
 #endif
 }
 
 void PageClientImpl::navigationGestureWillEnd(bool willNavigate, WebBackForwardListItem& item)
 {
 #if WK_API_ENABLED
-    NavigationState::fromWebPage(*m_webView->_page).navigationGestureWillEnd(willNavigate, item);
+    if (m_webView)
+        NavigationState::fromWebPage(*m_webView->_page).navigationGestureWillEnd(willNavigate, item);
 #else
     UNUSED_PARAM(willNavigate);
     UNUSED_PARAM(item);
@@ -707,7 +709,8 @@
 void PageClientImpl::navigationGestureDidEnd(bool willNavigate, WebBackForwardListItem& item)
 {
 #if WK_API_ENABLED
-    NavigationState::fromWebPage(*m_webView->_page).navigationGestureDidEnd(willNavigate, item);
+    if (m_webView)
+        NavigationState::fromWebPage(*m_webView->_page).navigationGestureDidEnd(willNavigate, item);
 #else
     UNUSED_PARAM(willNavigate);
     UNUSED_PARAM(item);
@@ -717,7 +720,8 @@
 void PageClientImpl::willRecordNavigationSnapshot(WebBackForwardListItem& item)
 {
 #if WK_API_ENABLED
-    NavigationState::fromWebPage(*m_webView->_page).willRecordNavigationSnapshot(item);
+    if (m_webView)
+        NavigationState::fromWebPage(*m_webView->_page).willRecordNavigationSnapshot(item);
 #else
     UNUSED_PARAM(item);
 #endif
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to