Index: chrome/browser/ui/browser.cc |
diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc |
index b4ef1c2bbf0e87f86d01122d49e8f88b50241170..68ffb799a7af530b488e95ef59c48f332dd85b09 100644 |
--- a/chrome/browser/ui/browser.cc |
+++ b/chrome/browser/ui/browser.cc |
@@ -59,6 +59,7 @@ |
#include "chrome/browser/file_select_helper.h" |
#include "chrome/browser/first_run/first_run.h" |
#include "chrome/browser/google/google_url_tracker.h" |
+#include "chrome/browser/history/top_sites.h" |
#include "chrome/browser/infobars/infobar_service.h" |
#include "chrome/browser/infobars/simple_alert_infobar_delegate.h" |
#include "chrome/browser/lifetime/application_lifetime.h" |
@@ -131,6 +132,7 @@ |
#include "chrome/browser/ui/tab_modal_confirm_dialog.h" |
#include "chrome/browser/ui/tabs/tab_menu_model.h" |
#include "chrome/browser/ui/tabs/tab_strip_model.h" |
+#include "chrome/browser/ui/tabs/tab_strip_model_utils.h" |
#include "chrome/browser/ui/toolbar/toolbar_model_impl.h" |
#include "chrome/browser/ui/unload_controller.h" |
#include "chrome/browser/ui/validation_message_bubble.h" |
@@ -773,12 +775,6 @@ void Browser::VisibleSSLStateChanged(content::WebContents* web_contents) { |
UpdateToolbar(false); |
} |
-void Browser::OnWebContentsInstantSupportDisabled( |
- const content::WebContents* web_contents) { |
- DCHECK(web_contents); |
- if (tab_strip_model_->GetActiveWebContents() == web_contents) |
- UpdateToolbar(false); |
-} |
/////////////////////////////////////////////////////////////////////////////// |
// Browser, Assorted browser commands: |
@@ -1754,6 +1750,47 @@ void Browser::ConfirmAddSearchProvider(TemplateURL* template_url, |
} |
/////////////////////////////////////////////////////////////////////////////// |
+// Browser, SearchTabHelperDelegate implementation: |
+ |
+void Browser::NavigateToURL(const GURL& url, |
+ WindowOpenDisposition disposition, |
+ content::WebContents* source_contents) { |
+ DCHECK(source_contents); |
+ chrome::NavigateParams params(this, url, |
+ content::PAGE_TRANSITION_AUTO_BOOKMARK); |
Peter Kasting
2014/04/08 20:47:52
What kinds of navigations are these? I want to be
kmadhusu
2014/04/08 21:11:36
When an user clicks on a most visited thumbnail, w
Peter Kasting
2014/04/08 21:45:46
You may want to encode that in the function name,
kmadhusu
2014/04/09 00:00:42
Renamed "NavigateToURL" to "NavigateOnClick" and a
Peter Kasting
2014/04/09 00:03:24
I don't think that's a great function name -- link
kmadhusu
2014/04/09 01:31:04
Renamed "NavigateOnClick" to "NavigateOnThumbnailC
|
+ params.referrer = content::Referrer(); |
+ params.source_contents = source_contents; |
+ params.disposition = disposition; |
+ params.is_renderer_initiated = false; |
+ params.initiating_profile = profile_; |
+ chrome::Navigate(¶ms); |
+} |
+ |
+void Browser::OnWebContentsInstantSupportDisabled( |
+ const content::WebContents* web_contents) { |
+ DCHECK(web_contents); |
+ if (tab_strip_model_->GetActiveWebContents() == web_contents) |
+ UpdateToolbar(false); |
+} |
+ |
+OmniboxView* Browser::GetOmniboxView() { |
+ LocationBar* location_bar = window_ ? window_->GetLocationBar() : NULL; |
+ return location_bar ? location_bar->GetOmniboxView() : NULL; |
Peter Kasting
2014/04/08 20:47:52
Can |window_| ever not have a location bar, e.g. f
kmadhusu
2014/04/08 21:11:36
Done. SearchTabHelper invokes this function. windo
Peter Kasting
2014/04/08 21:45:46
Also make sure to think through:
* Startup/shutdow
kmadhusu
2014/04/09 00:00:42
In the current code (https://code.google.com/p/chr
Peter Kasting
2014/04/09 00:03:24
If your code expects this to be non-NULL, then don
kmadhusu
2014/04/09 01:31:04
Done.
|
+} |
+ |
+std::set<std::string> Browser::GetOpenUrls() { |
+ history::TopSites* top_sites = profile_->GetTopSites(); |
+ if (!tab_strip_model_ || !top_sites) { |
+ NOTREACHED(); |
Peter Kasting
2014/04/08 20:47:52
Do not handle DCHECK failure.
Either just DCHECK
kmadhusu
2014/04/08 21:11:36
Done.
|
+ return std::set<std::string>(); |
+ } |
+ |
+ std::set<std::string> open_urls; |
+ chrome::GetOpenUrls(*tab_strip_model_, *top_sites, &open_urls); |
+ return open_urls; |
+} |
+ |
+/////////////////////////////////////////////////////////////////////////////// |
// Browser, web_modal::WebContentsModalDialogManagerDelegate implementation: |
void Browser::SetWebContentsBlocked(content::WebContents* web_contents, |
@@ -2136,6 +2173,7 @@ void Browser::SetAsDelegate(WebContents* web_contents, Browser* delegate) { |
SetDelegate(delegate); |
CoreTabHelper::FromWebContents(web_contents)->set_delegate(delegate); |
SearchEngineTabHelper::FromWebContents(web_contents)->set_delegate(delegate); |
+ SearchTabHelper::FromWebContents(web_contents)->set_delegate(delegate); |
ZoomController::FromWebContents(web_contents)->set_observer(delegate); |
TranslateTabHelper* translate_tab_helper = |
TranslateTabHelper::FromWebContents(web_contents); |