diff options
author | ericroman@google.com <ericroman@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-10-27 23:01:50 +0000 |
---|---|---|
committer | ericroman@google.com <ericroman@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-10-27 23:01:50 +0000 |
commit | c058805b99cce98cbc352c499f3e69fd355a84c2 (patch) | |
tree | 93fb4ffdf5daf4d8ae0e3291919a074a8b9e58a7 /chrome/common | |
parent | f07cc2ebf950cb22c5c386f95a1be0292de4db3b (diff) | |
download | chromium_src-c058805b99cce98cbc352c499f3e69fd355a84c2.zip chromium_src-c058805b99cce98cbc352c499f3e69fd355a84c2.tar.gz chromium_src-c058805b99cce98cbc352c499f3e69fd355a84c2.tar.bz2 |
Plumb the referrer throughout the OpenURL APIs.
http://code.google.com/p/chromium/issues/detail?id=3224
Caveats:
* Did not update TabNavigation yet. Hence session restore will continue to load the tabs with empty referrer.
* Did not plumb referrer into incognito url open. (Not sure what the right thing to do is here with respect to privacy vs compatibility.)
* Did not plumb referrer throughout the automation controller. No functional impact here, but it makes the code inconsistent with the non-automation version.
Review URL: http://codereview.chromium.org/8186
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4036 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/common')
-rw-r--r-- | chrome/common/render_messages.h | 6 | ||||
-rw-r--r-- | chrome/common/render_messages_internal.h | 3 |
2 files changed, 8 insertions, 1 deletions
diff --git a/chrome/common/render_messages.h b/chrome/common/render_messages.h index 46373c5..aaa44f7 100644 --- a/chrome/common/render_messages.h +++ b/chrome/common/render_messages.h @@ -41,6 +41,10 @@ struct ViewMsg_Navigate_Params { // The URL to load. GURL url; + // The URL to send in the "Referer" header field. Can be empty if there is + // no referrer. + GURL referrer; + // The type of transition. PageTransition::Type transition; @@ -749,6 +753,7 @@ struct ParamTraits<ViewMsg_Navigate_Params> { static void Write(Message* m, const param_type& p) { WriteParam(m, p.page_id); WriteParam(m, p.url); + WriteParam(m, p.referrer); WriteParam(m, p.transition); WriteParam(m, p.state); WriteParam(m, p.reload); @@ -757,6 +762,7 @@ struct ParamTraits<ViewMsg_Navigate_Params> { return ReadParam(m, iter, &p->page_id) && ReadParam(m, iter, &p->url) && + ReadParam(m, iter, &p->referrer) && ReadParam(m, iter, &p->transition) && ReadParam(m, iter, &p->state) && ReadParam(m, iter, &p->reload); diff --git a/chrome/common/render_messages_internal.h b/chrome/common/render_messages_internal.h index a998b49..b191d41 100644 --- a/chrome/common/render_messages_internal.h +++ b/chrome/common/render_messages_internal.h @@ -735,8 +735,9 @@ IPC_BEGIN_MESSAGES(ViewHost, 2) IPC_MESSAGE_ROUTED1(ViewHostMsg_ContextMenu, ViewHostMsg_ContextMenu_Params) // Request that the given URL be opened in the specified manner. - IPC_MESSAGE_ROUTED2(ViewHostMsg_OpenURL, + IPC_MESSAGE_ROUTED3(ViewHostMsg_OpenURL, GURL /* url */, + GURL /* referrer */, WindowOpenDisposition /* disposition */) // Following message is used to communicate the values received by the |