| OLD | NEW |
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/ui/browser.h" | 5 #include "chrome/browser/ui/browser.h" |
| 6 | 6 |
| 7 #if defined(OS_WIN) | 7 #if defined(OS_WIN) |
| 8 #include <windows.h> | 8 #include <windows.h> |
| 9 #include <shellapi.h> | 9 #include <shellapi.h> |
| 10 #endif // defined(OS_WIN) | 10 #endif // defined(OS_WIN) |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 52 #include "chrome/browser/download/download_service.h" | 52 #include "chrome/browser/download/download_service.h" |
| 53 #include "chrome/browser/download/download_service_factory.h" | 53 #include "chrome/browser/download/download_service_factory.h" |
| 54 #include "chrome/browser/download/download_shelf.h" | 54 #include "chrome/browser/download/download_shelf.h" |
| 55 #include "chrome/browser/extensions/browser_extension_window_controller.h" | 55 #include "chrome/browser/extensions/browser_extension_window_controller.h" |
| 56 #include "chrome/browser/extensions/extension_service.h" | 56 #include "chrome/browser/extensions/extension_service.h" |
| 57 #include "chrome/browser/extensions/tab_helper.h" | 57 #include "chrome/browser/extensions/tab_helper.h" |
| 58 #include "chrome/browser/favicon/favicon_tab_helper.h" | 58 #include "chrome/browser/favicon/favicon_tab_helper.h" |
| 59 #include "chrome/browser/file_select_helper.h" | 59 #include "chrome/browser/file_select_helper.h" |
| 60 #include "chrome/browser/first_run/first_run.h" | 60 #include "chrome/browser/first_run/first_run.h" |
| 61 #include "chrome/browser/google/google_url_tracker.h" | 61 #include "chrome/browser/google/google_url_tracker.h" |
| 62 #include "chrome/browser/history/most_visited_tiles_experiment.h" |
| 63 #include "chrome/browser/history/top_sites.h" |
| 62 #include "chrome/browser/infobars/infobar_service.h" | 64 #include "chrome/browser/infobars/infobar_service.h" |
| 63 #include "chrome/browser/infobars/simple_alert_infobar_delegate.h" | 65 #include "chrome/browser/infobars/simple_alert_infobar_delegate.h" |
| 64 #include "chrome/browser/lifetime/application_lifetime.h" | 66 #include "chrome/browser/lifetime/application_lifetime.h" |
| 65 #include "chrome/browser/notifications/notification_ui_manager.h" | 67 #include "chrome/browser/notifications/notification_ui_manager.h" |
| 66 #include "chrome/browser/pepper_broker_infobar_delegate.h" | 68 #include "chrome/browser/pepper_broker_infobar_delegate.h" |
| 67 #include "chrome/browser/prefs/incognito_mode_prefs.h" | 69 #include "chrome/browser/prefs/incognito_mode_prefs.h" |
| 68 #include "chrome/browser/profiles/profile.h" | 70 #include "chrome/browser/profiles/profile.h" |
| 69 #include "chrome/browser/profiles/profile_destroyer.h" | 71 #include "chrome/browser/profiles/profile_destroyer.h" |
| 70 #include "chrome/browser/profiles/profile_manager.h" | 72 #include "chrome/browser/profiles/profile_manager.h" |
| 71 #include "chrome/browser/profiles/profile_metrics.h" | 73 #include "chrome/browser/profiles/profile_metrics.h" |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 124 #include "chrome/browser/ui/search/search_tab_helper.h" | 126 #include "chrome/browser/ui/search/search_tab_helper.h" |
| 125 #include "chrome/browser/ui/search_engines/search_engine_tab_helper.h" | 127 #include "chrome/browser/ui/search_engines/search_engine_tab_helper.h" |
| 126 #include "chrome/browser/ui/singleton_tabs.h" | 128 #include "chrome/browser/ui/singleton_tabs.h" |
| 127 #include "chrome/browser/ui/status_bubble.h" | 129 #include "chrome/browser/ui/status_bubble.h" |
| 128 #include "chrome/browser/ui/sync/browser_synced_window_delegate.h" | 130 #include "chrome/browser/ui/sync/browser_synced_window_delegate.h" |
| 129 #include "chrome/browser/ui/tab_contents/core_tab_helper.h" | 131 #include "chrome/browser/ui/tab_contents/core_tab_helper.h" |
| 130 #include "chrome/browser/ui/tab_helpers.h" | 132 #include "chrome/browser/ui/tab_helpers.h" |
| 131 #include "chrome/browser/ui/tab_modal_confirm_dialog.h" | 133 #include "chrome/browser/ui/tab_modal_confirm_dialog.h" |
| 132 #include "chrome/browser/ui/tabs/tab_menu_model.h" | 134 #include "chrome/browser/ui/tabs/tab_menu_model.h" |
| 133 #include "chrome/browser/ui/tabs/tab_strip_model.h" | 135 #include "chrome/browser/ui/tabs/tab_strip_model.h" |
| 136 #include "chrome/browser/ui/tabs/tab_strip_model_utils.h" |
| 134 #include "chrome/browser/ui/toolbar/toolbar_model_impl.h" | 137 #include "chrome/browser/ui/toolbar/toolbar_model_impl.h" |
| 135 #include "chrome/browser/ui/unload_controller.h" | 138 #include "chrome/browser/ui/unload_controller.h" |
| 136 #include "chrome/browser/ui/validation_message_bubble.h" | 139 #include "chrome/browser/ui/validation_message_bubble.h" |
| 137 #include "chrome/browser/ui/website_settings/permission_bubble_manager.h" | 140 #include "chrome/browser/ui/website_settings/permission_bubble_manager.h" |
| 138 #include "chrome/browser/ui/webui/signin/login_ui_service.h" | 141 #include "chrome/browser/ui/webui/signin/login_ui_service.h" |
| 139 #include "chrome/browser/ui/webui/signin/login_ui_service_factory.h" | 142 #include "chrome/browser/ui/webui/signin/login_ui_service_factory.h" |
| 140 #include "chrome/browser/ui/window_sizer/window_sizer.h" | 143 #include "chrome/browser/ui/window_sizer/window_sizer.h" |
| 141 #include "chrome/browser/ui/zoom/zoom_controller.h" | 144 #include "chrome/browser/ui/zoom/zoom_controller.h" |
| 142 #include "chrome/browser/upgrade_detector.h" | 145 #include "chrome/browser/upgrade_detector.h" |
| 143 #include "chrome/browser/web_applications/web_app.h" | 146 #include "chrome/browser/web_applications/web_app.h" |
| (...skipping 622 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 766 } | 769 } |
| 767 | 770 |
| 768 void Browser::VisibleSSLStateChanged(content::WebContents* web_contents) { | 771 void Browser::VisibleSSLStateChanged(content::WebContents* web_contents) { |
| 769 // When the current tab's SSL state changes, we need to update the URL | 772 // When the current tab's SSL state changes, we need to update the URL |
| 770 // bar to reflect the new state. | 773 // bar to reflect the new state. |
| 771 DCHECK(web_contents); | 774 DCHECK(web_contents); |
| 772 if (tab_strip_model_->GetActiveWebContents() == web_contents) | 775 if (tab_strip_model_->GetActiveWebContents() == web_contents) |
| 773 UpdateToolbar(false); | 776 UpdateToolbar(false); |
| 774 } | 777 } |
| 775 | 778 |
| 776 void Browser::OnWebContentsInstantSupportDisabled( | |
| 777 const content::WebContents* web_contents) { | |
| 778 DCHECK(web_contents); | |
| 779 if (tab_strip_model_->GetActiveWebContents() == web_contents) | |
| 780 UpdateToolbar(false); | |
| 781 } | |
| 782 | 779 |
| 783 /////////////////////////////////////////////////////////////////////////////// | 780 /////////////////////////////////////////////////////////////////////////////// |
| 784 // Browser, Assorted browser commands: | 781 // Browser, Assorted browser commands: |
| 785 | 782 |
| 786 void Browser::ToggleFullscreenModeWithExtension(const GURL& extension_url) { | 783 void Browser::ToggleFullscreenModeWithExtension(const GURL& extension_url) { |
| 787 fullscreen_controller_-> | 784 fullscreen_controller_-> |
| 788 ToggleBrowserFullscreenModeWithExtension(extension_url); | 785 ToggleBrowserFullscreenModeWithExtension(extension_url); |
| 789 } | 786 } |
| 790 | 787 |
| 791 bool Browser::SupportsWindowFeature(WindowFeature feature) const { | 788 bool Browser::SupportsWindowFeature(WindowFeature feature) const { |
| (...skipping 955 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1747 | 1744 |
| 1748 /////////////////////////////////////////////////////////////////////////////// | 1745 /////////////////////////////////////////////////////////////////////////////// |
| 1749 // Browser, SearchEngineTabHelperDelegate implementation: | 1746 // Browser, SearchEngineTabHelperDelegate implementation: |
| 1750 | 1747 |
| 1751 void Browser::ConfirmAddSearchProvider(TemplateURL* template_url, | 1748 void Browser::ConfirmAddSearchProvider(TemplateURL* template_url, |
| 1752 Profile* profile) { | 1749 Profile* profile) { |
| 1753 window()->ConfirmAddSearchProvider(template_url, profile); | 1750 window()->ConfirmAddSearchProvider(template_url, profile); |
| 1754 } | 1751 } |
| 1755 | 1752 |
| 1756 /////////////////////////////////////////////////////////////////////////////// | 1753 /////////////////////////////////////////////////////////////////////////////// |
| 1754 // Browser, SearchTabHelperDelegate implementation: |
| 1755 |
| 1756 void Browser::NavigateToURL(const GURL& url, |
| 1757 WindowOpenDisposition disposition, |
| 1758 content::WebContents* source_contents) { |
| 1759 DCHECK(source_contents); |
| 1760 chrome::NavigateParams params(this, url, |
| 1761 content::PAGE_TRANSITION_AUTO_BOOKMARK); |
| 1762 params.referrer = content::Referrer(); |
| 1763 params.source_contents = source_contents; |
| 1764 params.disposition = disposition; |
| 1765 params.is_renderer_initiated = false; |
| 1766 params.initiating_profile = profile_; |
| 1767 chrome::Navigate(¶ms); |
| 1768 } |
| 1769 |
| 1770 void Browser::OnWebContentsInstantSupportDisabled( |
| 1771 const content::WebContents* web_contents) { |
| 1772 DCHECK(web_contents); |
| 1773 if (tab_strip_model_->GetActiveWebContents() == web_contents) |
| 1774 UpdateToolbar(false); |
| 1775 } |
| 1776 |
| 1777 void Browser::RemoveMostVisitedItemsMatchingOpenTabs( |
| 1778 std::vector<InstantMostVisitedItem>* items) { |
| 1779 DCHECK(items); |
| 1780 if (!history::MostVisitedTilesExperiment::IsDontShowOpenURLsEnabled()) |
| 1781 return; |
| 1782 |
| 1783 history::TopSites* top_sites = profile_->GetTopSites(); |
| 1784 if (!tab_strip_model_ || !top_sites) { |
| 1785 NOTREACHED(); |
| 1786 return; |
| 1787 } |
| 1788 |
| 1789 std::set<std::string> open_urls; |
| 1790 chrome::GetOpenUrls(*tab_strip_model_, *top_sites, &open_urls); |
| 1791 history::MostVisitedTilesExperiment::RemoveItemsMatchingOpenTabs(open_urls, |
| 1792 items); |
| 1793 } |
| 1794 |
| 1795 OmniboxView* Browser::GetOmniboxView() { |
| 1796 LocationBar* location_bar = window_ ? window_->GetLocationBar() : NULL; |
| 1797 return location_bar ? location_bar->GetOmniboxView() : NULL; |
| 1798 } |
| 1799 |
| 1800 /////////////////////////////////////////////////////////////////////////////// |
| 1757 // Browser, web_modal::WebContentsModalDialogManagerDelegate implementation: | 1801 // Browser, web_modal::WebContentsModalDialogManagerDelegate implementation: |
| 1758 | 1802 |
| 1759 void Browser::SetWebContentsBlocked(content::WebContents* web_contents, | 1803 void Browser::SetWebContentsBlocked(content::WebContents* web_contents, |
| 1760 bool blocked) { | 1804 bool blocked) { |
| 1761 int index = tab_strip_model_->GetIndexOfWebContents(web_contents); | 1805 int index = tab_strip_model_->GetIndexOfWebContents(web_contents); |
| 1762 if (index == TabStripModel::kNoTab) { | 1806 if (index == TabStripModel::kNoTab) { |
| 1763 NOTREACHED(); | 1807 NOTREACHED(); |
| 1764 return; | 1808 return; |
| 1765 } | 1809 } |
| 1766 tab_strip_model_->SetTabBlocked(index, blocked); | 1810 tab_strip_model_->SetTabBlocked(index, blocked); |
| (...skipping 362 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2129 void Browser::SetAsDelegate(WebContents* web_contents, Browser* delegate) { | 2173 void Browser::SetAsDelegate(WebContents* web_contents, Browser* delegate) { |
| 2130 // WebContents... | 2174 // WebContents... |
| 2131 web_contents->SetDelegate(delegate); | 2175 web_contents->SetDelegate(delegate); |
| 2132 | 2176 |
| 2133 // ...and all the helpers. | 2177 // ...and all the helpers. |
| 2134 BookmarkTabHelper::FromWebContents(web_contents)->set_delegate(delegate); | 2178 BookmarkTabHelper::FromWebContents(web_contents)->set_delegate(delegate); |
| 2135 WebContentsModalDialogManager::FromWebContents(web_contents)-> | 2179 WebContentsModalDialogManager::FromWebContents(web_contents)-> |
| 2136 SetDelegate(delegate); | 2180 SetDelegate(delegate); |
| 2137 CoreTabHelper::FromWebContents(web_contents)->set_delegate(delegate); | 2181 CoreTabHelper::FromWebContents(web_contents)->set_delegate(delegate); |
| 2138 SearchEngineTabHelper::FromWebContents(web_contents)->set_delegate(delegate); | 2182 SearchEngineTabHelper::FromWebContents(web_contents)->set_delegate(delegate); |
| 2183 SearchTabHelper::FromWebContents(web_contents)->set_delegate(delegate); |
| 2139 ZoomController::FromWebContents(web_contents)->set_observer(delegate); | 2184 ZoomController::FromWebContents(web_contents)->set_observer(delegate); |
| 2140 TranslateTabHelper* translate_tab_helper = | 2185 TranslateTabHelper* translate_tab_helper = |
| 2141 TranslateTabHelper::FromWebContents(web_contents); | 2186 TranslateTabHelper::FromWebContents(web_contents); |
| 2142 translate_tab_helper->translate_driver().set_observer( | 2187 translate_tab_helper->translate_driver().set_observer( |
| 2143 delegate ? delegate->translate_driver_observer_.get() : NULL); | 2188 delegate ? delegate->translate_driver_observer_.get() : NULL); |
| 2144 } | 2189 } |
| 2145 | 2190 |
| 2146 void Browser::CloseFrame() { | 2191 void Browser::CloseFrame() { |
| 2147 window_->Close(); | 2192 window_->Close(); |
| 2148 } | 2193 } |
| (...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2360 if (contents && !allow_js_access) { | 2405 if (contents && !allow_js_access) { |
| 2361 contents->web_contents()->GetController().LoadURL( | 2406 contents->web_contents()->GetController().LoadURL( |
| 2362 target_url, | 2407 target_url, |
| 2363 content::Referrer(), | 2408 content::Referrer(), |
| 2364 content::PAGE_TRANSITION_LINK, | 2409 content::PAGE_TRANSITION_LINK, |
| 2365 std::string()); // No extra headers. | 2410 std::string()); // No extra headers. |
| 2366 } | 2411 } |
| 2367 | 2412 |
| 2368 return contents != NULL; | 2413 return contents != NULL; |
| 2369 } | 2414 } |
| OLD | NEW |