Index: chrome/browser/gtk/tabs/tab_strip_gtk.cc |
diff --git a/chrome/browser/gtk/tabs/tab_strip_gtk.cc b/chrome/browser/gtk/tabs/tab_strip_gtk.cc |
index 054781546e5be01867fa69f0cf684af4c30856c2..5b0996c679c68f7fee9f4d198ee4e0c861bb934c 100644 |
--- a/chrome/browser/gtk/tabs/tab_strip_gtk.cc |
+++ b/chrome/browser/gtk/tabs/tab_strip_gtk.cc |
@@ -12,6 +12,7 @@ |
#include "base/i18n/rtl.h" |
#include "base/string_util.h" |
#include "chrome/browser/autocomplete/autocomplete.h" |
+#include "chrome/browser/browser.h" |
#include "chrome/browser/gtk/browser_window_gtk.h" |
#include "chrome/browser/gtk/custom_button.h" |
#include "chrome/browser/gtk/gtk_theme_provider.h" |
@@ -21,6 +22,7 @@ |
#include "chrome/browser/tab_contents/tab_contents.h" |
#include "chrome/browser/tabs/tab_strip_model_delegate.h" |
#include "chrome/browser/themes/browser_theme_provider.h" |
+#include "chrome/browser/ui/browser_navigator.h" |
#include "chrome/common/notification_service.h" |
#include "chrome/common/notification_type.h" |
#include "gfx/gtk_util.h" |
@@ -1612,20 +1614,19 @@ bool TabStripGtk::CompleteDrop(guchar* data) { |
if (!url.is_valid()) |
return false; |
+ browser::NavigateParams params(window()->browser(), url, |
+ PageTransition::LINK); |
+ params.tabstrip_index = drop_index; |
+ |
if (drop_before) { |
- // Insert a new tab. |
- TabContents* contents = |
- model_->delegate()->CreateTabContentsForURL( |
- url, GURL(), model_->profile(), PageTransition::TYPED, false, |
- NULL); |
- model_->AddTabContents(contents, drop_index, PageTransition::GENERATED, |
- TabStripModel::ADD_SELECTED); |
+ params.disposition = NEW_FOREGROUND_TAB; |
} else { |
- model_->GetTabContentsAt(drop_index)->controller().LoadURL( |
- url, GURL(), PageTransition::GENERATED); |
- model_->SelectTabContentsAt(drop_index, true); |
+ params.disposition = CURRENT_TAB; |
+ params.source_contents = model_->GetTabContentsAt(drop_index); |
} |
+ browser::Navigate(¶ms); |
+ |
return true; |
} |
@@ -1974,19 +1975,9 @@ void TabStripGtk::OnNewTabClicked(GtkWidget* widget) { |
if (!gtk_util::URLFromPrimarySelection(model_->profile(), &url)) |
return; |
- TabContents* contents = |
- model_->delegate()->CreateTabContentsForURL( |
- url, |
- GURL(), // referrer |
- model_->profile(), |
- PageTransition::TYPED, |
- false, // defer_load |
- NULL); // instance |
- model_->AddTabContents( |
- contents, |
- -1, // index |
- PageTransition::TYPED, |
- TabStripModel::ADD_SELECTED); |
+ Browser* browser = window_->browser(); |
+ DCHECK(browser); |
+ browser->AddSelectedTabWithURL(url, PageTransition::TYPED); |
break; |
} |
default: |