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

trey trey at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 08:48:50 UTC 2009


The following commit has been merged in the debian/unstable branch:
commit ce1bdcce507e03415ebbb637cbfd9d540c264da5
Author: trey <trey at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Jul 6 16:13:36 2004 +0000

    WebCore:
    
    	3716053 - www.theage.com.au has extra back/forward items due to ads
    
    	This turned out to be easily fixed by generalizing the fix to 3438441.  We prevent
    	addition to the b/f list not just during an onload event, but during any non-user
    	gesture, which includes top level script executing.
    
            Reviewed by Richard.
    
            * kwq/KWQKHTMLPart.mm:
            (KWQKHTMLPart::openURL):  Only real change - prevent adding to b/f list if not
    	a user gesture.
            (KWQKHTMLPart::openURLRequest):  Rename "onLoadEvent" to "userGesture", swap sense
            (KWQKHTMLPart::submitForm):  Ditto
            (KWQKHTMLPart::urlSelected): Ditto
            * kwq/KWQKHTMLPartBrowserExtension.mm:
            (KHTMLPartBrowserExtension::createNewWindow):  Ditto
            * kwq/WebCoreBridge.h:
    
    WebKit:
    
    	3716053 - www.theage.com.au has extra back/forward items due to ads
    
    	The real change was in WebKit.  Here was are just renaming a method and folding
    	all the WebFrameLoadTypeOnLoadEvent uses to be WebFrameLoadTypeInternal, since there
    	was never any difference anyway.
    
            Reviewed by Richard
    
            * WebCoreSupport.subproj/WebBridge.m:
            (-[WebBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]):  rename part of the method.
            * WebView.subproj/WebFrame.m:  Nuke WebFrameLoadTypeOnLoadEvent.
            (-[WebFrame _transitionToCommitted:]):
            (-[WebFrame _checkLoadCompleteForThisFrame]):
            (-[WebFrame _loadItem:withLoadType:]):
            (-[WebFrame _itemForRestoringDocState]):
            * WebView.subproj/WebFramePrivate.h:
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@6961 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index f6ad13c..28cbf86 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,23 @@
+2004-07-06  Trey Matteson  <trey at apple.com>
+
+	3716053 - www.theage.com.au has extra back/forward items due to ads
+
+	This turned out to be easily fixed by generalizing the fix to 3438441.  We prevent
+	addition to the b/f list not just during an onload event, but during any non-user
+	gesture, which includes top level script executing.
+
+        Reviewed by Richard.
+
+        * kwq/KWQKHTMLPart.mm:
+        (KWQKHTMLPart::openURL):  Only real change - prevent adding to b/f list if not
+	a user gesture.
+        (KWQKHTMLPart::openURLRequest):  Rename "onLoadEvent" to "userGesture", swap sense
+        (KWQKHTMLPart::submitForm):  Ditto
+        (KWQKHTMLPart::urlSelected): Ditto
+        * kwq/KWQKHTMLPartBrowserExtension.mm:
+        (KHTMLPartBrowserExtension::createNewWindow):  Ditto
+        * kwq/WebCoreBridge.h:
+
 2004-07-02  Darin Adler  <darin at apple.com>
 
         Reviewed by Dave.
diff --git a/WebCore/kwq/KWQKHTMLPart.mm b/WebCore/kwq/KWQKHTMLPart.mm
index 0e58613..0d8a1d3 100644
--- a/WebCore/kwq/KWQKHTMLPart.mm
+++ b/WebCore/kwq/KWQKHTMLPart.mm
@@ -258,18 +258,14 @@ bool KWQKHTMLPart::openURL(const KURL &url)
 {
     KWQ_BLOCK_EXCEPTIONS;
 
-    bool onLoad = false;
+    bool userGesture = true;
     
     if (jScript() && jScript()->interpreter()) {
         KHTMLPart *rootPart = this;
         while (rootPart->parentPart() != 0)
             rootPart = rootPart->parentPart();
         KJS::ScriptInterpreter *interpreter = static_cast<KJS::ScriptInterpreter *>(KJSProxy::proxy(rootPart)->interpreter());
-        DOM::Event *evt = interpreter->getCurrentEvent();
-        
-        if (evt) {
-            onLoad = (evt->type() == "load");
-        }
+        userGesture = interpreter->wasRunByUserGesture();
     }
 
     // FIXME: The lack of args here to get the reload flag from
@@ -278,7 +274,7 @@ bool KWQKHTMLPart::openURL(const KURL &url)
     [_bridge loadURL:url.getNSURL()
             referrer:[_bridge referrer]
               reload:NO
-              onLoadEvent:onLoad
+         userGesture:userGesture
               target:nil
      triggeringEvent:nil
                 form:nil
@@ -296,7 +292,7 @@ void KWQKHTMLPart::openURLRequest(const KURL &url, const URLArgs &args)
     [_bridge loadURL:url.getNSURL()
             referrer:[_bridge referrer]
               reload:args.reload
-              onLoadEvent:false
+         userGesture:true
               target:args.frameName.getNSString()
      triggeringEvent:nil
                 form:nil
@@ -657,7 +653,7 @@ void KWQKHTMLPart::submitForm(const KURL &url, const URLArgs &args)
         [_bridge loadURL:url.getNSURL()
 	        referrer:[_bridge referrer] 
                   reload:args.reload
-             onLoadEvent:false
+             userGesture:true
   	          target:args.frameName.getNSString()
          triggeringEvent:_currentEvent
                     form:_formAboutToBeSubmitted
@@ -722,7 +718,7 @@ void KWQKHTMLPart::urlSelected(const KURL &url, int button, int state, const URL
     [_bridge loadURL:url.getNSURL()
             referrer:[_bridge referrer]
               reload:args.reload
-         onLoadEvent:false
+         userGesture:true
               target:args.frameName.getNSString()
      triggeringEvent:_currentEvent
                 form:nil
diff --git a/WebCore/kwq/KWQKHTMLPartBrowserExtension.mm b/WebCore/kwq/KWQKHTMLPartBrowserExtension.mm
index e481284..3981691 100644
--- a/WebCore/kwq/KWQKHTMLPartBrowserExtension.mm
+++ b/WebCore/kwq/KWQKHTMLPartBrowserExtension.mm
@@ -78,7 +78,7 @@ void KHTMLPartBrowserExtension::createNewWindow(const KURL &url,
 	bridge = [_part->bridge() findFrameNamed:frameName];
 	if (bridge != nil) {
 	    if (!url.isEmpty()) {
-		[bridge loadURL:url.getNSURL() referrer:[_part->bridge() referrer] reload:urlArgs.reload onLoadEvent:false target:nil triggeringEvent:nil form:nil formValues:nil];
+		[bridge loadURL:url.getNSURL() referrer:[_part->bridge() referrer] reload:urlArgs.reload userGesture:true target:nil triggeringEvent:nil form:nil formValues:nil];
 	    }
 	    [bridge focusWindow];
 	    if (partResult) {
diff --git a/WebCore/kwq/WebCoreBridge.h b/WebCore/kwq/WebCoreBridge.h
index ef6af6e..6712aed 100644
--- a/WebCore/kwq/WebCoreBridge.h
+++ b/WebCore/kwq/WebCoreBridge.h
@@ -348,7 +348,7 @@ typedef enum {
 - (void)frameDetached;
 - (NSView *)documentView;
 
-- (void)loadURL:(NSURL *)URL referrer:(NSString *)referrer reload:(BOOL)reload onLoadEvent:(BOOL)onLoad target:(NSString *)target triggeringEvent:(NSEvent *)event form:(DOMElement *)form formValues:(NSDictionary *)values;
+- (void)loadURL:(NSURL *)URL referrer:(NSString *)referrer reload:(BOOL)reload userGesture:(BOOL)forUser target:(NSString *)target triggeringEvent:(NSEvent *)event form:(DOMElement *)form formValues:(NSDictionary *)values;
 - (void)postWithURL:(NSURL *)URL referrer:(NSString *)referrer target:(NSString *)target data:(NSData *)data contentType:(NSString *)contentType triggeringEvent:(NSEvent *)event form:(DOMElement *)form formValues:(NSDictionary *)values;
 
 - (WebCoreBridge *)createWindowWithURL:(NSURL *)URL frameName:(NSString *)name;
diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index 16e8c82..73a84bd 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,22 @@
+2004-07-06  Trey Matteson  <trey at apple.com>
+
+	3716053 - www.theage.com.au has extra back/forward items due to ads
+
+	The real change was in WebKit.  Here was are just renaming a method and folding
+	all the WebFrameLoadTypeOnLoadEvent uses to be WebFrameLoadTypeInternal, since there
+	was never any difference anyway.
+
+        Reviewed by Richard
+
+        * WebCoreSupport.subproj/WebBridge.m:
+        (-[WebBridge loadURL:referrer:reload:userGesture:target:triggeringEvent:form:formValues:]):  rename part of the method.
+        * WebView.subproj/WebFrame.m:  Nuke WebFrameLoadTypeOnLoadEvent.
+        (-[WebFrame _transitionToCommitted:]):
+        (-[WebFrame _checkLoadCompleteForThisFrame]):
+        (-[WebFrame _loadItem:withLoadType:]):
+        (-[WebFrame _itemForRestoringDocState]):
+        * WebView.subproj/WebFramePrivate.h:
+
 2004-07-06  Ken Kocienda  <kocienda at apple.com>
 
         Reviewed by Trey
diff --git a/WebKit/WebCoreSupport.subproj/WebBridge.m b/WebKit/WebCoreSupport.subproj/WebBridge.m
index 5d63e76..0f02aa6 100644
--- a/WebKit/WebCoreSupport.subproj/WebBridge.m
+++ b/WebKit/WebCoreSupport.subproj/WebBridge.m
@@ -591,7 +591,7 @@ NSString *WebPluginContainerKey =   @"WebPluginContainer";
     [[self dataSource] _setIconURL:URL withType:type];
 }
 
-- (void)loadURL:(NSURL *)URL referrer:(NSString *)referrer reload:(BOOL)reload onLoadEvent:(BOOL)onLoad target:(NSString *)target triggeringEvent:(NSEvent *)event form:(DOMElement *)form formValues:(NSDictionary *)values
+- (void)loadURL:(NSURL *)URL referrer:(NSString *)referrer reload:(BOOL)reload userGesture:(BOOL)forUser target:(NSString *)target triggeringEvent:(NSEvent *)event form:(DOMElement *)form formValues:(NSDictionary *)values
 {
     if ([target length] == 0) {
 	target = nil;
@@ -602,8 +602,8 @@ NSString *WebPluginContainerKey =   @"WebPluginContainer";
     
     if (reload)
         loadType = WebFrameLoadTypeReload;
-    else if (onLoad)
-        loadType = WebFrameLoadTypeOnLoadEvent;
+    else if (!forUser)
+        loadType = WebFrameLoadTypeInternal;
     else
         loadType = WebFrameLoadTypeStandard;
     [_frame _loadURL:URL referrer:referrer loadType:loadType target:target triggeringEvent:event form:form formValues:values];
diff --git a/WebKit/WebView.subproj/WebFrame.m b/WebKit/WebView.subproj/WebFrame.m
index d1fa9c0..dd10937 100644
--- a/WebKit/WebView.subproj/WebFrame.m
+++ b/WebKit/WebView.subproj/WebFrame.m
@@ -753,7 +753,6 @@ NSString *WebPageCacheDocumentViewKey = @"WebPageCacheDocumentViewKey";
                 [self _makeDocumentView];
                 break;
                 
-            case WebFrameLoadTypeOnLoadEvent:
             case WebFrameLoadTypeInternal:
                 // Add an item to the item tree for this frame
                 ASSERT(![ds _isClientRedirect]);
@@ -769,6 +768,7 @@ NSString *WebPageCacheDocumentViewKey = @"WebPageCacheDocumentViewKey";
                     // See 3556159.  It's not clear if it's valid to be in WebFrameLoadTypeOnLoadEvent
                     // for a top-level frame, but that was a likely explanation for those crashes,
                     // so let's guard against it.
+                    // ...and all WebFrameLoadTypeOnLoadEvent uses were folded to WebFrameLoadTypeInternal
                     ERROR("no parent frame in _transitionToCommitted:, loadType=%d", loadType);
                 }
                 [self _makeDocumentView];
@@ -1066,7 +1066,6 @@ static CFAbsoluteTime _timeOfLastCompletedLoad;
                         [self _restoreScrollPosition];
                         break;
 
-                    case WebFrameLoadTypeOnLoadEvent:
                     case WebFrameLoadTypeStandard:
                     case WebFrameLoadTypeInternal:
                     case WebFrameLoadTypeReloadAllowingStaleData:
@@ -1315,7 +1314,6 @@ static CFAbsoluteTime _timeOfLastCompletedLoad;
                             [request setCachePolicy:NSURLRequestReturnCacheDataElseLoad];
                         }
                         break;
-                    case WebFrameLoadTypeOnLoadEvent:
                     case WebFrameLoadTypeStandard:
                     case WebFrameLoadTypeInternal:
                         // no-op: leave as protocol default
@@ -2125,7 +2123,6 @@ static CFAbsoluteTime _timeOfLastCompletedLoad;
         case WebFrameLoadTypeForward:
         case WebFrameLoadTypeIndexedBackForward:
         case WebFrameLoadTypeInternal:
-        case WebFrameLoadTypeOnLoadEvent:
         case WebFrameLoadTypeStandard:
             return [_private currentItem];
     }
diff --git a/WebKit/WebView.subproj/WebFramePrivate.h b/WebKit/WebView.subproj/WebFramePrivate.h
index 17e8d4d..8329014 100644
--- a/WebKit/WebView.subproj/WebFramePrivate.h
+++ b/WebKit/WebView.subproj/WebFramePrivate.h
@@ -47,8 +47,7 @@ typedef enum {
     WebFrameLoadTypeReload,
     WebFrameLoadTypeReloadAllowingStaleData,
     WebFrameLoadTypeSame,		// user loads same URL again (but not reload button)
-    WebFrameLoadTypeInternal,
-    WebFrameLoadTypeOnLoadEvent
+    WebFrameLoadTypeInternal
 } WebFrameLoadType;
 
 #define WebFrameStateChangedNotification @"WebFrameStateChangedNotification"

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list