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

darin darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 07:44:26 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit 27efbccbe66c236278ead61c576928a472ec52c6
Author: darin <darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Sun Jun 8 00:51:01 2003 +0000

            Rolled out Chris's fix for 3156169 because it was causing a lot of crashes
            and problems with basic behavior. We can try again later.
    
            One of the problems was that Back wasn't working. Another was that you could
            not follow the link at the top of the page at kbb.com. More testing seemed to
            reveal still more problems.
    
            * WebView.subproj/WebFramePrivate.h: Rolled back to previous version.
            * WebView.subproj/WebFramePrivate.m: Ditto.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@4496 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index 38d39fd..732d10f 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,15 @@
+2003-06-07  Darin Adler  <darin at apple.com>
+
+        Rolled out Chris's fix for 3156169 because it was causing a lot of crashes
+        and problems with basic behavior. We can try again later.
+        
+        One of the problems was that Back wasn't working. Another was that you could
+        not follow the link at the top of the page at kbb.com. More testing seemed to
+        reveal still more problems.
+        
+        * WebView.subproj/WebFramePrivate.h: Rolled back to previous version.
+        * WebView.subproj/WebFramePrivate.m: Ditto.
+
 2003-06-06  Richard Williamson  <rjw at apple.com>
 
 	Fixed 3283236.  Remove use of forward declarations in public header because
diff --git a/WebKit/WebView.subproj/WebFramePrivate.h b/WebKit/WebView.subproj/WebFramePrivate.h
index bb6cfd0..53cb543 100644
--- a/WebKit/WebView.subproj/WebFramePrivate.h
+++ b/WebKit/WebView.subproj/WebFramePrivate.h
@@ -82,8 +82,6 @@ extern NSString *WebCorePageCacheStateKey;
     id policyTarget;
     SEL policySelector;
     WebFormState *policyFormState;
-    WebDataSource *policyDataSource;
-    WebFrameLoadType policyLoadType;
 
     BOOL justOpenedForTargetedLink;
     BOOL quickRedirectComing;
diff --git a/WebKit/WebView.subproj/WebFramePrivate.m b/WebKit/WebView.subproj/WebFramePrivate.m
index bb8196b..14de4c2 100644
--- a/WebKit/WebView.subproj/WebFramePrivate.m
+++ b/WebKit/WebView.subproj/WebFramePrivate.m
@@ -182,7 +182,6 @@ NSString *WebCorePageCacheStateKey = @"WebCorePageCacheState";
     ASSERT(policyFrameName == nil);
     ASSERT(policyTarget == nil);
     ASSERT(policyFormState == nil);
-    ASSERT(policyDataSource == nil);
 
     [super dealloc];
 }
@@ -219,8 +218,7 @@ NSString *WebCorePageCacheStateKey = @"WebCorePageCacheState";
 
 - (WebDataSource *)provisionalDataSource { return provisionalDataSource; }
 - (void)setProvisionalDataSource: (WebDataSource *)d
-{
-    ASSERT(!d || !provisionalDataSource);
+{ 
     [d retain];
     [provisionalDataSource release];
     provisionalDataSource = d;
@@ -925,8 +923,8 @@ static CFAbsoluteTime _timeOfLastCompletedLoad;
                     LOG(Loading, "%@:  checking complete in WebFrameStateProvisional, load done", [self name]);
 
                     [[[self webView] _frameLoadDelegateForwarder] webView:_private->webView
-                                          didFailProvisionalLoadWithError:[pd _mainDocumentError]
-                                                                 forFrame:self];
+                                               didFailProvisionalLoadWithError:[pd _mainDocumentError]
+                                                                      forFrame:self];
 
                     // We know the provisional data source didn't cut the muster, release it.
                     [self _setProvisionalDataSource:nil];
@@ -1424,14 +1422,12 @@ static CFAbsoluteTime _timeOfLastCompletedLoad;
     id target = _private->policyTarget;
     SEL selector = _private->policySelector;
     WebFormState *formState = _private->policyFormState;
-    WebDataSource *dataSource = _private->policyDataSource;
 
     _private->policyRequest = nil;
     _private->policyFrameName = nil;
     _private->policyTarget = nil;
     _private->policySelector = nil;
     _private->policyFormState = nil;
-    _private->policyDataSource = nil;
 
     if (call) {
 	if (frameName) {
@@ -1445,7 +1441,6 @@ static CFAbsoluteTime _timeOfLastCompletedLoad;
     [frameName release];
     [target release];
     [formState release];
-    [dataSource release];
 }
 
 - (void)_checkNewWindowPolicyForRequest:(NSURLRequest *)request action:(NSDictionary *)action frameName:(NSString *)frameName formState:(WebFormState *)formState andCall:(id)target withSelector:(SEL)selector
@@ -1461,11 +1456,10 @@ static CFAbsoluteTime _timeOfLastCompletedLoad;
     _private->policyFormState = [formState retain];
 
     WebView *wv = [self webView];
-    [[wv _policyDelegateForwarder] webView:wv
-            decidePolicyForNewWindowAction:action
-                                   request:request
-                              newFrameName:frameName
-                          decisionListener:listener];
+    [[wv _policyDelegateForwarder] webView:wv decidePolicyForNewWindowAction:action
+                                                                   request:request
+                                                              newFrameName:frameName
+                                                          decisionListener:listener];
     
     [listener release];
 }
@@ -1501,11 +1495,7 @@ static CFAbsoluteTime _timeOfLastCompletedLoad;
 }
 
 
-- (void)_checkNavigationPolicyForRequest:(NSURLRequest *)request
-                              dataSource:(WebDataSource *)dataSource
-                               formState:(WebFormState *)formState
-                                 andCall:(id)target
-                            withSelector:(SEL)selector
+- (void)_checkNavigationPolicyForRequest:(NSURLRequest *)request dataSource:(WebDataSource *)dataSource formState:(WebFormState *)formState andCall:(id)target withSelector:(SEL)selector
 {
     NSDictionary *action = [dataSource _triggeringAction];
     if (action == nil) {
@@ -1528,22 +1518,20 @@ static CFAbsoluteTime _timeOfLastCompletedLoad;
 
     [dataSource _setLastCheckedRequest:request];
 
-    WebPolicyDecisionListener *listener;
-    listener = [[WebPolicyDecisionListener alloc] _initWithTarget:self action:@selector(_continueAfterNavigationPolicy:)];
-    
+    WebPolicyDecisionListener *listener = [[WebPolicyDecisionListener alloc]
+        _initWithTarget:self action:@selector(_continueAfterNavigationPolicy:)];
+
     _private->policyRequest = [request retain];
     _private->policyTarget = [target retain];
     _private->policySelector = selector;
     _private->listener = [listener retain];
     _private->policyFormState = [formState retain];
-    _private->policyDataSource = [dataSource retain];
 
     WebView *wv = [self webView];
-    [[wv _policyDelegateForwarder] webView:wv
-           decidePolicyForNavigationAction:action
-                                   request:request
-                                     frame:self
-                          decisionListener:listener];
+    [[wv _policyDelegateForwarder] webView:wv decidePolicyForNavigationAction:action
+                                                                    request:request
+                                                                      frame:self
+                                                           decisionListener:listener];
     
     [listener release];
 }
@@ -1554,9 +1542,7 @@ static CFAbsoluteTime _timeOfLastCompletedLoad;
     id target = [[_private->policyTarget retain] autorelease];
     SEL selector = _private->policySelector;
     WebFormState *formState = [[_private->policyFormState retain] autorelease];
-    WebDataSource *dataSource = [[_private->policyDataSource retain] autorelease];
-    WebFrameLoadType loadType = _private->policyLoadType;
-    
+
     // will release _private->policy* objects, hence the above retains
     [self _invalidatePendingPolicyDecisionCallingDefaultAction:NO];
 
@@ -1573,9 +1559,6 @@ static CFAbsoluteTime _timeOfLastCompletedLoad;
         if (![WebView _canHandleRequest:request]) {
             [self _handleUnimplementablePolicyWithErrorCode:WebKitErrorCannotShowURL forURL:[request URL]];
         } else {
-            [self stopLoading];
-            [self _setLoadType:loadType];
-            [self _setProvisionalDataSource:dataSource];
             shouldContinue = YES;
         }
         break;
@@ -1725,11 +1708,7 @@ static CFAbsoluteTime _timeOfLastCompletedLoad;
 
         [oldDataSource _setTriggeringAction:action];
         [self _invalidatePendingPolicyDecisionCallingDefaultAction:YES];
-        [self _checkNavigationPolicyForRequest:request
-                                    dataSource:oldDataSource
-                                     formState:formState
-                                       andCall:self
-                                  withSelector:@selector(_continueFragmentScrollAfterNavigationPolicy:formState:)];
+        [self _checkNavigationPolicyForRequest:request dataSource:oldDataSource formState:formState andCall:self withSelector:@selector(_continueFragmentScrollAfterNavigationPolicy:formState:)];
     } else {
         [self _loadRequest:request triggeringAction:action loadType:loadType formState:formState];
         if (_private->quickRedirectComing) {
@@ -2056,6 +2035,9 @@ static CFAbsoluteTime _timeOfLastCompletedLoad;
 -(void)_continueLoadRequestAfterNavigationPolicy:(NSURLRequest *)request formState:(WebFormState *)formState
 {
     if (!request) {
+        [self _resetBackForwardListToCurrent];
+        [self _setLoadType: WebFrameLoadTypeStandard];
+        [self _setProvisionalDataSource:nil];
         return;
     }
     
@@ -2102,7 +2084,9 @@ static CFAbsoluteTime _timeOfLastCompletedLoad;
 
     ASSERT([self frameView] != nil);
 
-    _private->policyLoadType = loadType;
+    [self stopLoading];
+
+    [self _setLoadType:loadType];
 
     WebFrame *parentFrame = [self parentFrame];
     if (parentFrame) {
@@ -2112,11 +2096,11 @@ static CFAbsoluteTime _timeOfLastCompletedLoad;
     [newDataSource _setJustOpenedForTargetedLink:_private->justOpenedForTargetedLink];
     _private->justOpenedForTargetedLink = NO;
 
-    [self _checkNavigationPolicyForRequest:[newDataSource request]
-                                dataSource:newDataSource
-                                 formState:formState
-                                   andCall:self
-                              withSelector:@selector(_continueLoadRequestAfterNavigationPolicy:formState:)];
+    [self _setProvisionalDataSource:newDataSource];
+    
+    ASSERT([newDataSource webFrame] == self);
+
+    [self _checkNavigationPolicyForRequest:[newDataSource request] dataSource:newDataSource formState:formState andCall:self withSelector:@selector(_continueLoadRequestAfterNavigationPolicy:formState:)];
 }
 
 - (void)_setJustOpenedForTargetedLink:(BOOL)justOpened

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list