[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