[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677
mjs
mjs at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 07:26:39 UTC 2009
The following commit has been merged in the debian/unstable branch:
commit 438133662de4b295ad2e7010a7a42bf1c9abd186
Author: mjs <mjs at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Sat Mar 1 02:45:59 2003 +0000
WebCore:
Reviewed by Trey.
- fixed 3180170 - filepile.com does not work correctly
I fixed this by making referrer work correctly for targetted
cross-frame and cross-window links. It is still not working right
for JavaScript window.open though.
* khtml/ecma/kjs_window.cpp:
(WindowFunc::tryCall): Add some FIXMEs about not handling referrer right.
* kwq/KWQKHTMLPart.mm:
(KWQKHTMLPart::openURL): Pass referrer.
(KWQKHTMLPart::openURLRequest): Pass referrer.
(KWQKHTMLPart::submitForm): Pass referrer.
(KWQKHTMLPart::urlSelected): Pass referrer.
* kwq/KWQKHTMLPartBrowserExtension.mm:
(KHTMLPartBrowserExtension::createNewWindow): Pass referrer.
* kwq/WebCoreBridge.h: Ad referrer argument to loadURL:
WebKit:
Reviewed by Trey.
- fixed 3180170 - filepile.com does not work correctly
I fixed this by making referrer work correctly for targetted
cross-frame and cross-window links. It is still not working right
for JavaScript window.open though.
* WebCoreSupport.subproj/WebBridge.m:
(-[WebBridge createWindowWithURL:frameName:]): Set referrer.
(-[WebBridge loadURL:referrer:reload:triggeringEvent:formValues:]): Pass referrer
along to frame.
(-[WebBridge postWithURL:referrer:data:contentType:triggeringEvent:formValues:]):
Likewise.
* WebView.subproj/WebFramePrivate.h:
* WebView.subproj/WebFramePrivate.m:
(-[WebFrame _loadItem:fromItem:withLoadType:]): Pass referrer.
(-[WebFrame
_loadURL:referrer:loadType:triggeringEvent:formValues:]): Use
passed-in referrer (link could have been clicked in another
frame).
(-[WebFrame _loadURL:intoChild:]): Pass referrer.
(-[WebFrame
_postWithURL:referrer:data:contentType:triggeringEvent:formValues:]):
Use passed-in referrer.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3720 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index 1208688..ceb8f8a 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,3 +1,24 @@
+2003-02-28 Maciej Stachowiak <mjs at apple.com>
+
+ Reviewed by Trey.
+
+ - fixed 3180170 - filepile.com does not work correctly
+
+ I fixed this by making referrer work correctly for targetted
+ cross-frame and cross-window links. It is still not working right
+ for JavaScript window.open though.
+
+ * khtml/ecma/kjs_window.cpp:
+ (WindowFunc::tryCall): Add some FIXMEs about not handling referrer right.
+ * kwq/KWQKHTMLPart.mm:
+ (KWQKHTMLPart::openURL): Pass referrer.
+ (KWQKHTMLPart::openURLRequest): Pass referrer.
+ (KWQKHTMLPart::submitForm): Pass referrer.
+ (KWQKHTMLPart::urlSelected): Pass referrer.
+ * kwq/KWQKHTMLPartBrowserExtension.mm:
+ (KHTMLPartBrowserExtension::createNewWindow): Pass referrer.
+ * kwq/WebCoreBridge.h: Ad referrer argument to loadURL:
+
2003-02-28 David Hyatt <hyatt at apple.com>
Exclude <BR>s from the text-dec check. Really fixes 3185121.
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 1208688..ceb8f8a 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,3 +1,24 @@
+2003-02-28 Maciej Stachowiak <mjs at apple.com>
+
+ Reviewed by Trey.
+
+ - fixed 3180170 - filepile.com does not work correctly
+
+ I fixed this by making referrer work correctly for targetted
+ cross-frame and cross-window links. It is still not working right
+ for JavaScript window.open though.
+
+ * khtml/ecma/kjs_window.cpp:
+ (WindowFunc::tryCall): Add some FIXMEs about not handling referrer right.
+ * kwq/KWQKHTMLPart.mm:
+ (KWQKHTMLPart::openURL): Pass referrer.
+ (KWQKHTMLPart::openURLRequest): Pass referrer.
+ (KWQKHTMLPart::submitForm): Pass referrer.
+ (KWQKHTMLPart::urlSelected): Pass referrer.
+ * kwq/KWQKHTMLPartBrowserExtension.mm:
+ (KHTMLPartBrowserExtension::createNewWindow): Pass referrer.
+ * kwq/WebCoreBridge.h: Ad referrer argument to loadURL:
+
2003-02-28 David Hyatt <hyatt at apple.com>
Exclude <BR>s from the text-dec check. Really fixes 3185121.
diff --git a/WebCore/khtml/ecma/kjs_window.cpp b/WebCore/khtml/ecma/kjs_window.cpp
index c578e14..c077ff3 100644
--- a/WebCore/khtml/ecma/kjs_window.cpp
+++ b/WebCore/khtml/ecma/kjs_window.cpp
@@ -1224,6 +1224,7 @@ Value WindowFunc::tryCall(ExecState *exec, Object &thisObj, const List &args)
: QString("_blank");
if ( uargs.frameName == "_top" )
{
+ // FIXME: referrer?
while ( part->parentPart() )
part = part->parentPart();
part->scheduleRedirection(0, url.url(), false/*don't lock history*/);
@@ -1231,6 +1232,7 @@ Value WindowFunc::tryCall(ExecState *exec, Object &thisObj, const List &args)
}
if ( uargs.frameName == "_parent" )
{
+ // FIXME: referrer?
if ( part->parentPart() )
part = part->parentPart();
part->scheduleRedirection(0, url.url(), false/*don't lock history*/);
@@ -1260,6 +1262,7 @@ Value WindowFunc::tryCall(ExecState *exec, Object &thisObj, const List &args)
if (uargs.frameName == "_blank")
uargs.frameName = QString::null;
if (!url.isEmpty())
+ // FIXME: need to pass referrer here
emit khtmlpart->browserExtension()->openURLRequest(url,uargs);
return Window::retrieve(khtmlpart); // global object
} else
diff --git a/WebCore/kwq/KWQKHTMLPart.mm b/WebCore/kwq/KWQKHTMLPart.mm
index 575923f..91fa12a 100644
--- a/WebCore/kwq/KWQKHTMLPart.mm
+++ b/WebCore/kwq/KWQKHTMLPart.mm
@@ -179,13 +179,13 @@ bool KWQKHTMLPart::openURL(const KURL &url)
// FIXME: The lack of args here to get the reload flag from
// indicates a problem in how we use KHTMLPart::processObjectRequest,
// where we are opening the URL before the args are set up.
- [_bridge loadURL:url.url().getNSString() reload:NO triggeringEvent:nil formValues:nil];
+ [_bridge loadURL:url.url().getNSString() referrer:[_bridge referrer] reload:NO triggeringEvent:nil formValues:nil];
return true;
}
void KWQKHTMLPart::openURLRequest(const KURL &url, const URLArgs &args)
{
- [bridgeForFrameName(args.frameName) loadURL:url.url().getNSString() reload:args.reload triggeringEvent:nil formValues:nil];
+ [bridgeForFrameName(args.frameName) loadURL:url.url().getNSString() referrer:[_bridge referrer] reload:args.reload triggeringEvent:nil formValues:nil];
}
void KWQKHTMLPart::didNotOpenURL(const QString &URL)
@@ -238,6 +238,7 @@ void KWQKHTMLPart::submitForm(const KURL &url, const URLArgs &args)
if (!args.doPost()) {
[target loadURL:URLString.getNSString()
+ referrer:[_bridge referrer]
reload:args.reload
triggeringEvent:_currentEvent
formValues:_formValues];
@@ -245,6 +246,7 @@ void KWQKHTMLPart::submitForm(const KURL &url, const URLArgs &args)
QString contentType = args.contentType();
ASSERT(contentType.startsWith("Content-Type: "));
[target postWithURL:URLString.getNSString()
+ referrer:[_bridge referrer]
data:[NSData dataWithBytes:args.postData.data() length:args.postData.size()]
contentType:contentType.mid(14).getNSString()
triggeringEvent:_currentEvent
@@ -273,7 +275,7 @@ void KWQKHTMLPart::slotData(NSString *encoding, bool forceEncoding, const char *
void KWQKHTMLPart::urlSelected(const KURL &url, int button, int state, const URLArgs &args)
{
- [bridgeForFrameName(args.frameName) loadURL:url.url().getNSString() reload:args.reload triggeringEvent:_currentEvent formValues:nil];
+ [bridgeForFrameName(args.frameName) loadURL:url.url().getNSString() referrer:[_bridge referrer] reload:args.reload triggeringEvent:_currentEvent formValues:nil];
}
class KWQPluginPart : public ReadOnlyPart
diff --git a/WebCore/kwq/KWQKHTMLPartBrowserExtension.mm b/WebCore/kwq/KWQKHTMLPartBrowserExtension.mm
index e113493..039afa5 100644
--- a/WebCore/kwq/KWQKHTMLPartBrowserExtension.mm
+++ b/WebCore/kwq/KWQKHTMLPartBrowserExtension.mm
@@ -86,7 +86,7 @@ void KHTMLPartBrowserExtension::createNewWindow(const KURL &url,
bridge = [_part->bridge() findFramedNamed:frameName];
if (bridge != nil) {
if (!url.isEmpty()) {
- [bridge loadURL:url.url().getNSString() reload:urlArgs.reload triggeringEvent:nil formValues:nil];
+ [bridge loadURL:url.url().getNSString() referrer:[_part->bridge() referrer] reload:urlArgs.reload triggeringEvent:nil formValues:nil];
}
*partResult = [bridge part];
return;
diff --git a/WebCore/kwq/WebCoreBridge.h b/WebCore/kwq/WebCoreBridge.h
index 187ff48..748564e 100644
--- a/WebCore/kwq/WebCoreBridge.h
+++ b/WebCore/kwq/WebCoreBridge.h
@@ -210,8 +210,8 @@ enum FrameBorderStyle {
/* Creates a name for an frame unnamed in the HTML. It should produce repeatable results for loads of the same frameset. */
- (NSString *)generateFrameName;
-- (void)loadURL:(NSString *)URL reload:(BOOL)reload triggeringEvent:(NSEvent *)event formValues:(NSDictionary *)values;
-- (void)postWithURL:(NSString *)URL data:(NSData *)data contentType:(NSString *)contentType triggeringEvent:(NSEvent *)event formValues:(NSDictionary *)values;
+- (void)loadURL:(NSString *)URL referrer:(NSString *)referrer reload:(BOOL)reload triggeringEvent:(NSEvent *)event formValues:(NSDictionary *)values;
+- (void)postWithURL:(NSString *)URL referrer:(NSString *)referrer data:(NSData *)data contentType:(NSString *)contentType triggeringEvent:(NSEvent *)event formValues:(NSDictionary *)values;
- (WebCoreBridge *)createWindowWithURL:(NSString *)URL frameName:(NSString *)name;
- (void)showWindow;
diff --git a/WebKit/ChangeLog b/WebKit/ChangeLog
index ac951f1..9213e76 100644
--- a/WebKit/ChangeLog
+++ b/WebKit/ChangeLog
@@ -1,3 +1,31 @@
+2003-02-28 Maciej Stachowiak <mjs at apple.com>
+
+ Reviewed by Trey.
+
+ - fixed 3180170 - filepile.com does not work correctly
+
+ I fixed this by making referrer work correctly for targetted
+ cross-frame and cross-window links. It is still not working right
+ for JavaScript window.open though.
+
+ * WebCoreSupport.subproj/WebBridge.m:
+ (-[WebBridge createWindowWithURL:frameName:]): Set referrer.
+ (-[WebBridge loadURL:referrer:reload:triggeringEvent:formValues:]): Pass referrer
+ along to frame.
+ (-[WebBridge postWithURL:referrer:data:contentType:triggeringEvent:formValues:]):
+ Likewise.
+ * WebView.subproj/WebFramePrivate.h:
+ * WebView.subproj/WebFramePrivate.m:
+ (-[WebFrame _loadItem:fromItem:withLoadType:]): Pass referrer.
+ (-[WebFrame
+ _loadURL:referrer:loadType:triggeringEvent:formValues:]): Use
+ passed-in referrer (link could have been clicked in another
+ frame).
+ (-[WebFrame _loadURL:intoChild:]): Pass referrer.
+ (-[WebFrame
+ _postWithURL:referrer:data:contentType:triggeringEvent:formValues:]):
+ Use passed-in referrer.
+
2003-02-28 Darin Adler <darin at apple.com>
Reviewed by Trey.
diff --git a/WebKit/WebCoreSupport.subproj/WebBridge.m b/WebKit/WebCoreSupport.subproj/WebBridge.m
index 8a65c2c..a3782b5 100644
--- a/WebKit/WebCoreSupport.subproj/WebBridge.m
+++ b/WebKit/WebCoreSupport.subproj/WebBridge.m
@@ -108,6 +108,7 @@
if (URL != nil && [URL length] > 0) {
request = [WebRequest requestWithURL:[NSURL _web_URLWithString:URL]];
+ [request setReferrer:[self referrer]];
}
WebController *newController = [[[frame controller] windowOperationsDelegate] createWindowWithRequest:request];
@@ -281,14 +282,14 @@
[[self dataSource] _setIconURL:[NSURL _web_URLWithString:URL] withType:type];
}
-- (void)loadURL:(NSString *)URL reload:(BOOL)reload triggeringEvent:(NSEvent *)event formValues:(NSDictionary *)values
+- (void)loadURL:(NSString *)URL referrer:(NSString *)referrer reload:(BOOL)reload triggeringEvent:(NSEvent *)event formValues:(NSDictionary *)values
{
- [frame _loadURL:[NSURL _web_URLWithString:URL] loadType:(reload ? WebFrameLoadTypeReload : WebFrameLoadTypeStandard) triggeringEvent:event formValues:values];
+ [frame _loadURL:[NSURL _web_URLWithString:URL] referrer:referrer loadType:(reload ? WebFrameLoadTypeReload : WebFrameLoadTypeStandard) triggeringEvent:event formValues:values];
}
-- (void)postWithURL:(NSString *)URL data:(NSData *)data contentType:(NSString *)contentType triggeringEvent:(NSEvent *)event formValues:(NSDictionary *)values
+- (void)postWithURL:(NSString *)URL referrer:(NSString *)referrer data:(NSData *)data contentType:(NSString *)contentType triggeringEvent:(NSEvent *)event formValues:(NSDictionary *)values
{
- [frame _postWithURL:[NSURL _web_URLWithString:URL] data:data contentType:contentType triggeringEvent:event formValues:values];
+ [frame _postWithURL:[NSURL _web_URLWithString:URL] referrer:(NSString *)referrer data:data contentType:contentType triggeringEvent:event formValues:values];
}
- (NSString *)generateFrameName
diff --git a/WebKit/WebView.subproj/WebFramePrivate.h b/WebKit/WebView.subproj/WebFramePrivate.h
index c87d8a6..742c485 100644
--- a/WebKit/WebView.subproj/WebFramePrivate.h
+++ b/WebKit/WebView.subproj/WebFramePrivate.h
@@ -122,9 +122,9 @@ typedef enum {
- (void)_invalidatePendingPolicyDecisionCallingDefaultAction:(BOOL)call;
- (void)_goToItem: (WebHistoryItem *)item withLoadType: (WebFrameLoadType)type;
-- (void)_loadURL:(NSURL *)URL loadType:(WebFrameLoadType)loadType triggeringEvent:(NSEvent *)event formValues:(NSDictionary *)values;
+- (void)_loadURL:(NSURL *)URL referrer:(NSString *)referrer loadType:(WebFrameLoadType)loadType triggeringEvent:(NSEvent *)event formValues:(NSDictionary *)values;
- (void)_loadURL:(NSURL *)URL intoChild:(WebFrame *)childFrame;
-- (void)_postWithURL:(NSURL *)URL data:(NSData *)data contentType:(NSString *)contentType triggeringEvent:(NSEvent *)event formValues:(NSDictionary *)values;
+- (void)_postWithURL:(NSURL *)URL referrer:(NSString *)referrer data:(NSData *)data contentType:(NSString *)contentType triggeringEvent:(NSEvent *)event formValues:(NSDictionary *)values;
- (void)_clientRedirectedTo:(NSURL *)URL delay:(NSTimeInterval)seconds fireDate:(NSDate *)date lockHistory:(BOOL)lockHistory;
- (void)_clientRedirectCancelled;
diff --git a/WebKit/WebView.subproj/WebFramePrivate.m b/WebKit/WebView.subproj/WebFramePrivate.m
index a3da505..fdb179c 100644
--- a/WebKit/WebView.subproj/WebFramePrivate.m
+++ b/WebKit/WebView.subproj/WebFramePrivate.m
@@ -993,7 +993,7 @@ static CFAbsoluteTime _timeOfLastCompletedLoad;
// check for all that as an additional optimization.
// We also do not do anchor-style navigation if we're posting a form.
- // FIXME: These checks don't match the ones in _loadURL:loadType:triggeringEvent:isFormSubmission:
+ // FIXME: These checks don't match the ones in _loadURL:referrer:loadType:triggeringEvent:isFormSubmission:
// Perhaps they should.
if (!formData
@@ -1400,11 +1400,11 @@ static CFAbsoluteTime _timeOfLastCompletedLoad;
}
// main funnel for navigating via callback from WebCore (e.g., clicking a link, redirect)
-- (void)_loadURL:(NSURL *)URL loadType:(WebFrameLoadType)loadType triggeringEvent:(NSEvent *)event formValues:(NSDictionary *)values
+- (void)_loadURL:(NSURL *)URL referrer:(NSString *)referrer loadType:(WebFrameLoadType)loadType triggeringEvent:(NSEvent *)event formValues:(NSDictionary *)values
{
BOOL isFormSubmission = (values != nil);
WebRequest *request = [[WebRequest alloc] initWithURL:URL];
- [request setReferrer:[_private->bridge referrer]];
+ [request setReferrer:referrer];
[self _addExtraFieldsToRequest:request alwaysFromRequest: (event != nil || isFormSubmission)];
if (loadType == WebFrameLoadTypeReload) {
[request setRequestCachePolicy:WebRequestCachePolicyLoadFromOrigin];
@@ -1503,10 +1503,11 @@ static CFAbsoluteTime _timeOfLastCompletedLoad;
}
}
- [childFrame _loadURL:URL loadType:childLoadType triggeringEvent:nil formValues:nil];
+ // FIXME: is this the right referrer?
+ [childFrame _loadURL:URL referrer:[[self _bridge] referrer] loadType:childLoadType triggeringEvent:nil formValues:nil];
}
-- (void)_postWithURL:(NSURL *)URL data:(NSData *)data contentType:(NSString *)contentType triggeringEvent:(NSEvent *)event formValues:(NSDictionary *)values
+- (void)_postWithURL:(NSURL *)URL referrer:(NSString *)referrer data:(NSData *)data contentType:(NSString *)contentType triggeringEvent:(NSEvent *)event formValues:(NSDictionary *)values
{
// When posting, use the WebResourceHandleFlagLoadFromOrigin load flag.
// This prevents a potential bug which may cause a page with a form that uses itself
@@ -1517,7 +1518,7 @@ static CFAbsoluteTime _timeOfLastCompletedLoad;
[request setRequestMethod:@"POST"];
[request setRequestData:data];
[request setContentType:contentType];
- [request setReferrer:[_private->bridge referrer]];
+ [request setReferrer:referrer];
NSDictionary *action = [self _actionInformationForLoadType:WebFrameLoadTypeStandard isFormSubmission:YES event:event originalURL:URL];
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list