[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677

rjw rjw at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 07:13:52 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit f8849e1a506127d3835fba6eab0dd0ba4f1801cc
Author: rjw <rjw at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Dec 12 03:06:31 2002 +0000

    WebKit:
    
            Fixed 3124121, 3124716 (and other dupes).  Regressions related to b/f crash.
    
            Reviewed by hyatt.
    
            * ChangeLog:
            * History.subproj/WebHistoryItem.m:
            (-[WebHistoryItem _scheduleRelease]):
            * WebCoreSupport.subproj/WebBridge.m:
            (-[WebBridge saveDocumentToPageCache:]):
            * WebCoreSupport.subproj/WebImageRenderer.m:
            (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
            (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
            * WebView.subproj/WebFramePrivate.m:
            (-[WebFrame _setState:]):
    
    
    WebCore:
    
            Fixed 3124121, 3124716 (and other dupes).  Regressions related to b/f crash.
    
            Reviewed by hyatt.
    
            * kwq/KWQKHTMLPart.h:
            * kwq/KWQKHTMLPart.mm:
            (KWQKHTMLPart::openURLFromPageCache):
            * kwq/WebCoreBridge.h:
            * kwq/WebCoreBridge.mm:
            (-[WebCoreBridge dealloc]):
            (-[WebCoreBridge openURL:reload:headers:lastModified:pageCache:]):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3008 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index 0add4dd..d95eb57 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,3 +1,17 @@
+2002-12-11  Richard Williamson   <rjw at apple.com>
+
+        Fixed 3124121, 3124716 (and other dupes).  Regressions related to b/f crash.
+        
+        Reviewed by hyatt.
+
+        * kwq/KWQKHTMLPart.h:
+        * kwq/KWQKHTMLPart.mm:
+        (KWQKHTMLPart::openURLFromPageCache):
+        * kwq/WebCoreBridge.h:
+        * kwq/WebCoreBridge.mm:
+        (-[WebCoreBridge dealloc]):
+        (-[WebCoreBridge openURL:reload:headers:lastModified:pageCache:]):
+
 2002-12-11  Darin Adler  <darin at apple.com>
 
         Reviewed by Richard.
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 0add4dd..d95eb57 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,17 @@
+2002-12-11  Richard Williamson   <rjw at apple.com>
+
+        Fixed 3124121, 3124716 (and other dupes).  Regressions related to b/f crash.
+        
+        Reviewed by hyatt.
+
+        * kwq/KWQKHTMLPart.h:
+        * kwq/KWQKHTMLPart.mm:
+        (KWQKHTMLPart::openURLFromPageCache):
+        * kwq/WebCoreBridge.h:
+        * kwq/WebCoreBridge.mm:
+        (-[WebCoreBridge dealloc]):
+        (-[WebCoreBridge openURL:reload:headers:lastModified:pageCache:]):
+
 2002-12-11  Darin Adler  <darin at apple.com>
 
         Reviewed by Richard.
diff --git a/WebCore/kwq/KWQKHTMLPart.h b/WebCore/kwq/KWQKHTMLPart.h
index 760f31e..0527284 100644
--- a/WebCore/kwq/KWQKHTMLPart.h
+++ b/WebCore/kwq/KWQKHTMLPart.h
@@ -55,6 +55,8 @@ enum KWQSelectionDirection {
     KWQSelectingPrevious
 };
 
+using khtml::RenderObject;
+
 class KWQKHTMLPart : public KHTMLPart
 {
 public:
@@ -93,7 +95,7 @@ public:
     void saveLocationProperties(KJS::SavedProperties *locationProperties);
     void restoreWindowProperties(KJS::SavedProperties *windowProperties);
     void restoreLocationProperties(KJS::SavedProperties *locationProperties);
-    void openURLFromPageCache(DOM::DocumentImpl *doc, KURL *url, KJS::SavedProperties *windowProperties, KJS::SavedProperties *locationProperties);
+    void openURLFromPageCache(DOM::DocumentImpl *doc, RenderObject *renderer, KURL *url, KJS::SavedProperties *windowProperties, KJS::SavedProperties *locationProperties);
 
     void saveDocumentState();
     void restoreDocumentState();
diff --git a/WebCore/kwq/KWQKHTMLPart.mm b/WebCore/kwq/KWQKHTMLPart.mm
index 2ca0e6a..74195d6 100644
--- a/WebCore/kwq/KWQKHTMLPart.mm
+++ b/WebCore/kwq/KWQKHTMLPart.mm
@@ -457,7 +457,7 @@ void KWQKHTMLPart::restoreLocationProperties(SavedProperties *locationProperties
     Window::retrieveWindow(this)->location()->restoreProperties(*locationProperties);
 }
 
-void KWQKHTMLPart::openURLFromPageCache(DocumentImpl *doc, KURL *url, SavedProperties *windowProperties, SavedProperties *locationProperties)
+void KWQKHTMLPart::openURLFromPageCache(DocumentImpl *doc, RenderObject *renderer, KURL *url, SavedProperties *windowProperties, SavedProperties *locationProperties)
 {
     d->m_redirectionTimer.stop();
 
@@ -500,20 +500,14 @@ void KWQKHTMLPart::openURLFromPageCache(DocumentImpl *doc, KURL *url, SavedPrope
     
     // -----------begin-----------
     clear();
+
+    doc->restoreRenderer(renderer);
     
     d->m_bCleared = false;
     d->m_cacheId = 0;
     d->m_bComplete = false;
     d->m_bLoadEventEmitted = false;
-            
     d->m_referrer = m_url.url();
-    m_url = *url;
-    KURL baseurl;
-    
-    // We don't need KDE chained URI handling or window caption setting
-    if ( !m_url.isEmpty() ){
-        baseurl = m_url;
-    }
     
     d->m_doc = doc;
     d->m_doc->ref();
@@ -521,9 +515,7 @@ void KWQKHTMLPart::openURLFromPageCache(DocumentImpl *doc, KURL *url, SavedPrope
     setView (doc->view(), true);
     
     updatePolicyBaseURL();
-    
-    d->m_doc->setParsing(true);
-    
+        
     restoreWindowProperties (windowProperties);
     restoreLocationProperties (locationProperties);
 }
diff --git a/WebCore/kwq/WebCoreBridge.h b/WebCore/kwq/WebCoreBridge.h
index 3b15f10..494b248 100644
--- a/WebCore/kwq/WebCoreBridge.h
+++ b/WebCore/kwq/WebCoreBridge.h
@@ -85,6 +85,7 @@ enum FrameBorderStyle {
 {
     KWQKHTMLPart *_part;
     KHTMLRenderPart *_renderPart;
+    id _currentPageCache;
 }
 
 - (void)setRenderPart:(KHTMLRenderPart *)renderPart;
diff --git a/WebCore/kwq/WebCoreBridge.mm b/WebCore/kwq/WebCoreBridge.mm
index 3bb7433..5c82d9f 100644
--- a/WebCore/kwq/WebCoreBridge.mm
+++ b/WebCore/kwq/WebCoreBridge.mm
@@ -118,6 +118,8 @@ NSString *WebCoreElementStringKey = 		@"WebElementString";
     _part->setBridge(nil);
     _part->deref();
     
+    [_currentPageCache release];
+    
     [super dealloc];
 }
 
@@ -149,10 +151,15 @@ NSString *WebCoreElementStringKey = 		@"WebElementString";
 {
     if (pageCache) {
         KWQPageState *state = [pageCache objectForKey:@"WebCorePageState"];
-        [state document]->restoreRenderer([state renderer]);
-        _part->openURLFromPageCache([state document], [state URL], [state windowProperties], [state locationProperties]);
+        _currentPageCache = [pageCache retain];
+        _part->openURLFromPageCache([state document], [state renderer], [state URL], [state windowProperties], [state locationProperties]);
         return;
     }
+    else if (_currentPageCache){
+        [_currentPageCache release];
+        _currentPageCache = 0;
+    }
+        
 
     // arguments
     URLArgs args(_part->browserExtension()->urlArgs());
diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index 80b719a..793e475 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,34 @@
+2002-12-11  Richard Williamson   <rjw at apple.com>
+
+        Fixed 3124121, 3124716 (and other dupes).  Regressions related to b/f crash.
+        
+        Reviewed by hyatt.
+
+        * ChangeLog:
+        * History.subproj/WebHistoryItem.m:
+        (-[WebHistoryItem _scheduleRelease]):
+        * WebCoreSupport.subproj/WebBridge.m:
+        (-[WebBridge saveDocumentToPageCache:]):
+        * WebCoreSupport.subproj/WebImageRenderer.m:
+        (-[WebImageRenderer incrementalLoadWithBytes:length:complete:]):
+        (-[WebImageRenderer drawClippedToValidInRect:fromRect:]):
+        * WebView.subproj/WebFramePrivate.m:
+        (-[WebFrame _setState:]):
+
+2002-12-11  Richard Williamson   <rjw at apple.com>
+
+        Fixed 3123375.  Provide SPI to release all pending page caches
+        
+        Reviewed by kocienda.
+
+        * History.subproj/WebBackForwardList.m:
+        * History.subproj/WebHistoryItem.h:
+        * History.subproj/WebHistoryItem.m:
+        * History.subproj/WebHistoryItemPrivate.h: Added.
+        * WebCoreSupport.subproj/WebBridge.m:
+        * WebKit.pbproj/project.pbxproj:
+        * WebView.subproj/WebFramePrivate.m:
+
 2002-12-11  Darin Adler  <darin at apple.com>
 
         Reviewed by Richard.
diff --git a/WebKit/History.subproj/WebHistoryItem.m b/WebKit/History.subproj/WebHistoryItem.m
index cefee4c..3d3c378 100644
--- a/WebKit/History.subproj/WebHistoryItem.m
+++ b/WebKit/History.subproj/WebHistoryItem.m
@@ -500,6 +500,7 @@ static NSTimer *_pageCacheReleaseTimer = nil;
     if (pageCache){
         [_pendingPageCacheToRelease addObject: pageCache];
         [pageCache release]; // Last reference held by _pendingPageCacheToRelease.
+        pageCache = 0;
     }
     
     if (!_windowWatcher){
diff --git a/WebKit/WebCoreSupport.subproj/WebBridge.m b/WebKit/WebCoreSupport.subproj/WebBridge.m
index d4653d3..b3b0dec 100644
--- a/WebKit/WebCoreSupport.subproj/WebBridge.m
+++ b/WebKit/WebCoreSupport.subproj/WebBridge.m
@@ -328,7 +328,6 @@
     if (![item hasPageCache]){
         return false;
     }
-    ASSERT ([[item pageCache] objectForKey: @"WebCorePageState"] == nil);
     [[item pageCache] setObject: documentInfo forKey: @"WebCorePageState"];
     return true;
 }
diff --git a/WebKit/WebView.subproj/WebFramePrivate.m b/WebKit/WebView.subproj/WebFramePrivate.m
index e9eba15..6d4d472 100644
--- a/WebKit/WebView.subproj/WebFramePrivate.m
+++ b/WebKit/WebView.subproj/WebFramePrivate.m
@@ -18,6 +18,7 @@
 #import <WebKit/WebDynamicScrollBarsView.h>
 #import <WebKit/WebHistory.h>
 #import <WebKit/WebHistoryItemPrivate.h>
+#import <WebKit/WebHTMLRepresentation.h>
 #import <WebKit/WebHTMLView.h>
 #import <WebKit/WebHTMLViewPrivate.h>
 #import <WebKit/WebKitLogging.h>
@@ -700,7 +701,8 @@ static CFAbsoluteTime _timeOfLastCompletedLoad;
             && item
             && !_private->quickRedirectComing
             && loadType != WebFrameLoadTypeReload && loadType != WebFrameLoadTypeSame
-            && ![[self dataSource] isLoading])
+            && ![[self dataSource] isLoading]
+            && [[[self dataSource] representation] isKindOfClass: [WebHTMLRepresentation class]])
         {
             if (![item pageCache]){
                 LOG(PageCache, "Saving page to back/forward cache, %s\n", [[[[self dataSource] URL] absoluteString] cString]);

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list