[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