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/browser/views/tabs | |
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/browser/views/tabs')
-rw-r--r-- | chrome/browser/views/tabs/dragged_tab_controller.cc | 4 | ||||
-rw-r--r-- | chrome/browser/views/tabs/dragged_tab_controller.h | 1 | ||||
-rw-r--r-- | chrome/browser/views/tabs/tab_strip.cc | 5 |
3 files changed, 7 insertions, 3 deletions
diff --git a/chrome/browser/views/tabs/dragged_tab_controller.cc b/chrome/browser/views/tabs/dragged_tab_controller.cc index c5bf55a..cf768a7 100644 --- a/chrome/browser/views/tabs/dragged_tab_controller.cc +++ b/chrome/browser/views/tabs/dragged_tab_controller.cc @@ -143,13 +143,15 @@ bool DraggedTabController::IsDragSourceTab(Tab* tab) const { void DraggedTabController::OpenURLFromTab(TabContents* source, const GURL& url, + const GURL& referrer, WindowOpenDisposition disposition, PageTransition::Type transition) { if (original_delegate_) { if (disposition == CURRENT_TAB) disposition = NEW_WINDOW; - original_delegate_->OpenURLFromTab(source, url, disposition, transition); + original_delegate_->OpenURLFromTab(source, url, referrer, + disposition, transition); } } diff --git a/chrome/browser/views/tabs/dragged_tab_controller.h b/chrome/browser/views/tabs/dragged_tab_controller.h index 041d2337..fb367c3 100644 --- a/chrome/browser/views/tabs/dragged_tab_controller.h +++ b/chrome/browser/views/tabs/dragged_tab_controller.h @@ -80,6 +80,7 @@ class DraggedTabController : public TabContentsDelegate, // Overridden from TabContentsDelegate: virtual void OpenURLFromTab(TabContents* source, const GURL& url, + const GURL& referrer, WindowOpenDisposition disposition, PageTransition::Type transition); virtual void NavigationStateChanged(const TabContents* source, diff --git a/chrome/browser/views/tabs/tab_strip.cc b/chrome/browser/views/tabs/tab_strip.cc index a1e1e41..55c4a908 100644 --- a/chrome/browser/views/tabs/tab_strip.cc +++ b/chrome/browser/views/tabs/tab_strip.cc @@ -709,14 +709,15 @@ int TabStrip::OnPerformDrop(const DropTargetEvent& event) { // Insert a new tab. TabContents* contents = model_->delegate()->CreateTabContentsForURL( - url, model_->profile(), PageTransition::TYPED, false, NULL); + url, GURL(), model_->profile(), PageTransition::TYPED, false, + NULL); model_->AddTabContents(contents, drop_index, PageTransition::GENERATED, true); } else { UserMetrics::RecordAction(L"Tab_DropURLOnTab", model_->profile()); model_->GetTabContentsAt(drop_index)->controller()-> - LoadURL(url, PageTransition::GENERATED); + LoadURL(url, GURL(), PageTransition::GENERATED); model_->SelectTabContentsAt(drop_index, true); } |