[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

beidson at apple.com beidson at apple.com
Wed Dec 22 12:15:32 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 6e84785c171e348c69cdd36daf8a910aa9344e67
Author: beidson at apple.com <beidson at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Aug 17 22:44:33 2010 +0000

    WebCore: Navigating back/forward during a modal dialog causes a crash when the modal dialog is dismissed.
    <rdar://problem/8313579> and https://bugs.webkit.org/show_bug.cgi?id=44131
    
    Reviewed by Sam Weinig.
    
    No new tests. (Especially since DRT doesn't spin inner run loops at all, it would be a significant
    effort to give it the ability to perform the back/forward navigation in the background to reproduce
    this bug)
    
    Manual tests in place of layout tests:
    * manual-tests/back-forward-during-alert-1.html: Added.
    * manual-tests/back-forward-during-alert-2.html: Added.
    
    * page/Page.cpp:
    (WebCore::Page::goToItem):
    
    WebKit: Remove developmentRegion from the project file as it shouldn't have been checked in.
    
    Reviewed by Sam Weinig.
    
    * WebKit.xcodeproj/project.pbxproj:
    
    WebKit/mac: Navigating back/forward during a modal dialog causes a crash when the modal dialog is dismissed.
    <rdar://problem/8313579> and https://bugs.webkit.org/show_bug.cgi?id=44131
    
    Reviewed by Sam Weinig.
    
    * WebView/WebView.mm:
    (-[WebView canGoBack]): Return false if loads are deferred.
    (-[WebView canGoForward]): Ditto.
    
    WebKit/win: Navigating back/forward during a modal dialog causes a crash when the modal dialog is dismissed.
    <rdar://problem/8313579> and https://bugs.webkit.org/show_bug.cgi?id=44131
    
    Reviewed by Sam Weinig.
    
    * WebView.cpp:
    (WebView::canGoBack): Return false if loads are deferred.
    (WebView::canGoForward): Ditto.
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@65566 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 29dd4cd..bf8e422 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,21 @@
+2010-08-17  Brady Eidson  <beidson at apple.com>
+
+        Reviewed by Sam Weinig.
+
+        Navigating back/forward during a modal dialog causes a crash when the modal dialog is dismissed.
+        <rdar://problem/8313579> and https://bugs.webkit.org/show_bug.cgi?id=44131
+
+        No new tests. (Especially since DRT doesn't spin inner run loops at all, it would be a significant
+        effort to give it the ability to perform the back/forward navigation in the background to reproduce
+        this bug)
+
+        Manual tests in place of layout tests:
+        * manual-tests/back-forward-during-alert-1.html: Added.
+        * manual-tests/back-forward-during-alert-2.html: Added.
+
+        * page/Page.cpp:
+        (WebCore::Page::goToItem):
+
 2010-08-17  Ojan Vafai  <ojan at chromium.org>
 
         Reviewed by Tony Chang.
diff --git a/WebCore/manual-tests/back-forward-during-alert-1.html b/WebCore/manual-tests/back-forward-during-alert-1.html
new file mode 100644
index 0000000..41a6e6a
--- /dev/null
+++ b/WebCore/manual-tests/back-forward-during-alert-1.html
@@ -0,0 +1,3 @@
+<body>
+View this page, then click <a href="back-forward-during-alert-2.html">here.</a>
+</body>
diff --git a/WebCore/manual-tests/back-forward-during-alert-2.html b/WebCore/manual-tests/back-forward-during-alert-2.html
new file mode 100644
index 0000000..931af01
--- /dev/null
+++ b/WebCore/manual-tests/back-forward-during-alert-2.html
@@ -0,0 +1,10 @@
+<script>
+function loaded()
+{
+   alert("While this alert is showing, two-fingered swipe back using a MacBook trackpad, Magic Trackpad, or Magic Mouse.  You should not be able to navigate back.  If you can, dismissing this dialog will likely result in a crash.");
+}
+</script>
+
+<body onload="loaded();">
+Follow the instructions in the alert that shows up on page load.
+</body>
diff --git a/WebCore/page/Page.cpp b/WebCore/page/Page.cpp
index 5f461e0..5d42752 100644
--- a/WebCore/page/Page.cpp
+++ b/WebCore/page/Page.cpp
@@ -341,6 +341,9 @@ void Page::goBackOrForward(int distance)
 
 void Page::goToItem(HistoryItem* item, FrameLoadType type)
 {
+    if (defersLoading())
+        return;
+    
     // Abort any current load unless we're navigating the current document to a new state object
     HistoryItem* currentItem = m_mainFrame->loader()->history()->currentItem();
     if (!item->stateObject() || !currentItem || item->documentSequenceNumber() != currentItem->documentSequenceNumber() || item == currentItem) {
diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index eb7e953..baa384d 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,11 @@
+2010-08-17  Brady Eidson  <beidson at apple.com>
+
+        Reviewed by Sam Weinig.
+
+        Remove developmentRegion from the project file as it shouldn't have been checked in.
+
+        * WebKit.xcodeproj/project.pbxproj:
+
 2010-08-16  Leandro Pereira  <leandro at profusion.mobi>
 
         [EFL] Build fix after r65366.
diff --git a/WebKit/WebKit.xcodeproj/project.pbxproj b/WebKit/WebKit.xcodeproj/project.pbxproj
index 2db6c86..f6be649 100644
--- a/WebKit/WebKit.xcodeproj/project.pbxproj
+++ b/WebKit/WebKit.xcodeproj/project.pbxproj
@@ -1623,7 +1623,6 @@
 			isa = PBXProject;
 			buildConfigurationList = 149C283208902B0F008A9EFC /* Build configuration list for PBXProject "WebKit" */;
 			compatibilityVersion = "Xcode 2.4";
-			developmentRegion = English;
 			hasScannedForEncodings = 1;
 			knownRegions = (
 				English,
diff --git a/WebKit/mac/ChangeLog b/WebKit/mac/ChangeLog
index 1684748..8fc44fe 100644
--- a/WebKit/mac/ChangeLog
+++ b/WebKit/mac/ChangeLog
@@ -1,3 +1,14 @@
+2010-08-17  Brady Eidson  <beidson at apple.com>
+
+        Reviewed by Sam Weinig.
+
+        Navigating back/forward during a modal dialog causes a crash when the modal dialog is dismissed.
+        <rdar://problem/8313579> and https://bugs.webkit.org/show_bug.cgi?id=44131
+
+        * WebView/WebView.mm:
+        (-[WebView canGoBack]): Return false if loads are deferred.
+        (-[WebView canGoForward]): Ditto.
+
 2010-08-14  Joseph Pecoraro  <joepeck at webkit.org>
 
         Reviewed by Pavel Feldman.
diff --git a/WebKit/mac/WebView/WebView.mm b/WebKit/mac/WebView/WebView.mm
index aefd56b..d6faeca 100644
--- a/WebKit/mac/WebView/WebView.mm
+++ b/WebKit/mac/WebView/WebView.mm
@@ -3908,7 +3908,7 @@ static WebFrame *incrementFrame(WebFrame *frame, BOOL forward, BOOL wrapFlag)
 
 - (BOOL)canGoBack
 {
-    if (!_private->page)
+    if (!_private->page || _private->page->defersLoading())
         return NO;
 
     return !!_private->page->backForwardList()->backItem();
@@ -3916,7 +3916,7 @@ static WebFrame *incrementFrame(WebFrame *frame, BOOL forward, BOOL wrapFlag)
 
 - (BOOL)canGoForward
 {
-    if (!_private->page)
+    if (!_private->page || _private->page->defersLoading())
         return NO;
 
     return !!_private->page->backForwardList()->forwardItem();
diff --git a/WebKit/win/ChangeLog b/WebKit/win/ChangeLog
index d2d1422..7858908 100644
--- a/WebKit/win/ChangeLog
+++ b/WebKit/win/ChangeLog
@@ -1,3 +1,14 @@
+2010-08-17  Brady Eidson  <beidson at apple.com>
+
+        Reviewed by Sam Weinig.
+
+        Navigating back/forward during a modal dialog causes a crash when the modal dialog is dismissed.
+        <rdar://problem/8313579> and https://bugs.webkit.org/show_bug.cgi?id=44131
+
+        * WebView.cpp:
+        (WebView::canGoBack): Return false if loads are deferred.
+        (WebView::canGoForward): Ditto.
+
 2010-08-16  Kinuko Yasuda  <kinuko at chromium.org>
 
         Unreviewed; build fix attempt for Windows.
diff --git a/WebKit/win/WebView.cpp b/WebKit/win/WebView.cpp
index c307c02..6d610a1 100644
--- a/WebKit/win/WebView.cpp
+++ b/WebKit/win/WebView.cpp
@@ -3694,7 +3694,7 @@ HRESULT STDMETHODCALLTYPE WebView::canGoBack(
         /* [in] */ IUnknown* /*sender*/,
         /* [retval][out] */ BOOL* result)
 {
-    *result = !!m_page->backForwardList()->backItem();
+    *result = !!(m_page->backForwardList()->backItem() && !m_page->defersLoading());
     return S_OK;
 }
     
@@ -3709,7 +3709,7 @@ HRESULT STDMETHODCALLTYPE WebView::canGoForward(
         /* [in] */ IUnknown* /*sender*/,
         /* [retval][out] */ BOOL* result)
 {
-    *result = !!m_page->backForwardList()->forwardItem();
+    *result = !!(m_page->backForwardList()->forwardItem() && !m_page->defersLoading());
     return S_OK;
 }
     

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list