| Index: chrome/browser/external_tab_container_win.cc
|
| diff --git a/chrome/browser/external_tab_container_win.cc b/chrome/browser/external_tab_container_win.cc
|
| index 5e5d6f1ea28ae898a7966bdc28ba3195990a02ff..e08b3b96932c50fd999c5fa79ab18fd852a82d5c 100644
|
| --- a/chrome/browser/external_tab_container_win.cc
|
| +++ b/chrome/browser/external_tab_container_win.cc
|
| @@ -51,6 +51,10 @@
|
| #include "content/public/common/page_zoom.h"
|
| #include "grit/generated_resources.h"
|
| #include "grit/locale_settings.h"
|
| +#include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebCString.h"
|
| +#include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebString.h"
|
| +#include "third_party/WebKit/Source/WebKit/chromium/public/WebReferrerPolicy.h"
|
| +#include "third_party/WebKit/Source/WebKit/chromium/public/WebSecurityPolicy.h"
|
| #include "ui/base/l10n/l10n_util.h"
|
| #include "ui/base/models/menu_model.h"
|
| #include "ui/base/resource/resource_bundle.h"
|
| @@ -59,6 +63,10 @@
|
|
|
| using content::BrowserThread;
|
| using ui::ViewProp;
|
| +using WebKit::WebCString;
|
| +using WebKit::WebString;
|
| +using WebKit::WebReferrerPolicy;
|
| +using WebKit::WebSecurityPolicy;
|
|
|
| static const char kWindowObjectKey[] = "ChromeWindowObject";
|
|
|
| @@ -347,18 +355,21 @@ TabContents* ExternalTabContainer::OpenURLFromTab(TabContents* source,
|
| case NEW_WINDOW:
|
| case SAVE_TO_DISK:
|
| if (automation_) {
|
| + GURL referrer = GURL(WebSecurityPolicy::generateReferrerHeader(
|
| + params.referrer.policy,
|
| + params.url,
|
| + WebString::fromUTF8(params.referrer.url.spec())).utf8());
|
| automation_->Send(new AutomationMsg_OpenURL(tab_handle_,
|
| params.url,
|
| - params.referrer,
|
| + referrer,
|
| params.disposition));
|
| // TODO(ananta)
|
| // We should populate other fields in the
|
| // ViewHostMsg_FrameNavigate_Params structure. Another option could be
|
| // to refactor the UpdateHistoryForNavigation function in TabContents.
|
| content::FrameNavigateParams nav_params;
|
| - nav_params.referrer = content::Referrer(
|
| - params.referrer,
|
| - WebKit::WebReferrerPolicyDefault);
|
| + nav_params.referrer = content::Referrer(referrer,
|
| + params.referrer.policy);
|
| nav_params.url = params.url;
|
| nav_params.page_id = -1;
|
| nav_params.transition = content::PAGE_TRANSITION_LINK;
|
|
|