Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(18)

Side by Side Diff: chrome/browser/ui/browser.cc

Issue 9015022: Replace most of Browser::GetSelectedTabContents calls into Browser::GetSelectedWebContents. I've ... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 8 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/browser/ui/browser.h ('k') | chrome/browser/ui/browser_browsertest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 // OS_WIN 10 #endif // OS_WIN
(...skipping 955 matching lines...) Expand 10 before | Expand all | Expand 10 after
966 } 966 }
967 967
968 SkBitmap Browser::GetCurrentPageIcon() const { 968 SkBitmap Browser::GetCurrentPageIcon() const {
969 TabContentsWrapper* contents = GetSelectedTabContentsWrapper(); 969 TabContentsWrapper* contents = GetSelectedTabContentsWrapper();
970 // |contents| can be NULL since GetCurrentPageIcon() is called by the window 970 // |contents| can be NULL since GetCurrentPageIcon() is called by the window
971 // during the window's creation (before tabs have been added). 971 // during the window's creation (before tabs have been added).
972 return contents ? contents->favicon_tab_helper()->GetFavicon() : SkBitmap(); 972 return contents ? contents->favicon_tab_helper()->GetFavicon() : SkBitmap();
973 } 973 }
974 974
975 string16 Browser::GetWindowTitleForCurrentTab() const { 975 string16 Browser::GetWindowTitleForCurrentTab() const {
976 TabContents* contents = GetSelectedTabContents(); 976 WebContents* contents = GetSelectedWebContents();
977 string16 title; 977 string16 title;
978 978
979 // |contents| can be NULL because GetWindowTitleForCurrentTab is called by the 979 // |contents| can be NULL because GetWindowTitleForCurrentTab is called by the
980 // window during the window's creation (before tabs have been added). 980 // window during the window's creation (before tabs have been added).
981 if (contents) { 981 if (contents) {
982 title = contents->GetTitle(); 982 title = contents->GetTitle();
983 FormatTitleForDisplay(&title); 983 FormatTitleForDisplay(&title);
984 } 984 }
985 if (title.empty()) 985 if (title.empty())
986 title = CoreTabHelper::GetDefaultTitle(); 986 title = CoreTabHelper::GetDefaultTitle();
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
1073 chrome::NOTIFICATION_BROWSER_CLOSING, 1073 chrome::NOTIFICATION_BROWSER_CLOSING,
1074 content::Source<Browser>(this), 1074 content::Source<Browser>(this),
1075 content::Details<bool>(&exiting)); 1075 content::Details<bool>(&exiting));
1076 1076
1077 CloseAllTabs(); 1077 CloseAllTabs();
1078 } 1078 }
1079 1079
1080 void Browser::OnWindowActivated() { 1080 void Browser::OnWindowActivated() {
1081 // On some platforms we want to automatically reload tabs that are 1081 // On some platforms we want to automatically reload tabs that are
1082 // killed when the user selects them. 1082 // killed when the user selects them.
1083 TabContents* contents = GetSelectedTabContents(); 1083 WebContents* contents = GetSelectedWebContents();
1084 if (contents && contents->GetCrashedStatus() == 1084 if (contents && contents->GetCrashedStatus() ==
1085 base::TERMINATION_STATUS_PROCESS_WAS_KILLED) { 1085 base::TERMINATION_STATUS_PROCESS_WAS_KILLED) {
1086 if (CommandLine::ForCurrentProcess()->HasSwitch( 1086 if (CommandLine::ForCurrentProcess()->HasSwitch(
1087 switches::kReloadKilledTabs)) { 1087 switches::kReloadKilledTabs)) {
1088 Reload(CURRENT_TAB); 1088 Reload(CURRENT_TAB);
1089 } 1089 }
1090 } 1090 }
1091 } 1091 }
1092 1092
1093 //////////////////////////////////////////////////////////////////////////////// 1093 ////////////////////////////////////////////////////////////////////////////////
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
1180 1180
1181 int Browser::GetIndexOfController( 1181 int Browser::GetIndexOfController(
1182 const NavigationController* controller) const { 1182 const NavigationController* controller) const {
1183 return tab_handler_->GetTabStripModel()->GetIndexOfController(controller); 1183 return tab_handler_->GetTabStripModel()->GetIndexOfController(controller);
1184 } 1184 }
1185 1185
1186 TabContentsWrapper* Browser::GetSelectedTabContentsWrapper() const { 1186 TabContentsWrapper* Browser::GetSelectedTabContentsWrapper() const {
1187 return tabstrip_model()->GetActiveTabContents(); 1187 return tabstrip_model()->GetActiveTabContents();
1188 } 1188 }
1189 1189
1190 WebContents* Browser::GetSelectedWebContents() const {
1191 TabContentsWrapper* wrapper = GetSelectedTabContentsWrapper();
1192 return wrapper ? wrapper->web_contents() : NULL;
1193 }
1194
1190 TabContentsWrapper* Browser::GetTabContentsWrapperAt(int index) const { 1195 TabContentsWrapper* Browser::GetTabContentsWrapperAt(int index) const {
1191 return tabstrip_model()->GetTabContentsAt(index); 1196 return tabstrip_model()->GetTabContentsAt(index);
1192 } 1197 }
1193 1198
1194 TabContents* Browser::GetSelectedTabContents() const { 1199 TabContents* Browser::GetSelectedTabContents() const {
1195 TabContentsWrapper* wrapper = GetSelectedTabContentsWrapper(); 1200 TabContentsWrapper* wrapper = GetSelectedTabContentsWrapper();
1196 if (wrapper) 1201 if (wrapper)
1197 return wrapper->tab_contents(); 1202 return wrapper->tab_contents();
1198 return NULL; 1203 return NULL;
1199 } 1204 }
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after
1400 1405
1401 void Browser::ShowSingletonTabRespectRef(const GURL& url) { 1406 void Browser::ShowSingletonTabRespectRef(const GURL& url) {
1402 browser::NavigateParams params(GetSingletonTabNavigateParams(url)); 1407 browser::NavigateParams params(GetSingletonTabNavigateParams(url));
1403 params.ref_behavior = browser::NavigateParams::RESPECT_REF; 1408 params.ref_behavior = browser::NavigateParams::RESPECT_REF;
1404 browser::Navigate(&params); 1409 browser::Navigate(&params);
1405 } 1410 }
1406 1411
1407 void Browser::ShowSingletonTabOverwritingNTP( 1412 void Browser::ShowSingletonTabOverwritingNTP(
1408 const browser::NavigateParams& params) { 1413 const browser::NavigateParams& params) {
1409 browser::NavigateParams local_params(params); 1414 browser::NavigateParams local_params(params);
1410 TabContents* contents = GetSelectedTabContents(); 1415 WebContents* contents = GetSelectedWebContents();
1411 if (contents) { 1416 if (contents) {
1412 const GURL& contents_url = contents->GetURL(); 1417 const GURL& contents_url = contents->GetURL();
1413 if ((contents_url == GURL(chrome::kChromeUINewTabURL) || 1418 if ((contents_url == GURL(chrome::kChromeUINewTabURL) ||
1414 contents_url == GURL(chrome::kAboutBlankURL)) && 1419 contents_url == GURL(chrome::kAboutBlankURL)) &&
1415 browser::GetIndexOfSingletonTab(&local_params) < 0) { 1420 browser::GetIndexOfSingletonTab(&local_params) < 0) {
1416 local_params.disposition = CURRENT_TAB; 1421 local_params.disposition = CURRENT_TAB;
1417 } 1422 }
1418 } 1423 }
1419 1424
1420 browser::Navigate(&local_params); 1425 browser::Navigate(&local_params);
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
1540 } 1545 }
1541 1546
1542 void Browser::ReloadIgnoringCache(WindowOpenDisposition disposition) { 1547 void Browser::ReloadIgnoringCache(WindowOpenDisposition disposition) {
1543 content::RecordAction(UserMetricsAction("ReloadIgnoringCache")); 1548 content::RecordAction(UserMetricsAction("ReloadIgnoringCache"));
1544 ReloadInternal(disposition, true); 1549 ReloadInternal(disposition, true);
1545 } 1550 }
1546 1551
1547 void Browser::ReloadInternal(WindowOpenDisposition disposition, 1552 void Browser::ReloadInternal(WindowOpenDisposition disposition,
1548 bool ignore_cache) { 1553 bool ignore_cache) {
1549 // If we are showing an interstitial, treat this as an OpenURL. 1554 // If we are showing an interstitial, treat this as an OpenURL.
1550 TabContents* current_tab = GetSelectedTabContents(); 1555 WebContents* current_tab = GetSelectedWebContents();
1551 if (current_tab && current_tab->ShowingInterstitialPage()) { 1556 if (current_tab && current_tab->ShowingInterstitialPage()) {
1552 NavigationEntry* entry = current_tab->GetController().GetActiveEntry(); 1557 NavigationEntry* entry = current_tab->GetController().GetActiveEntry();
1553 DCHECK(entry); // Should exist if interstitial is showing. 1558 DCHECK(entry); // Should exist if interstitial is showing.
1554 OpenURL(OpenURLParams( 1559 OpenURL(OpenURLParams(
1555 entry->GetURL(), Referrer(), disposition, 1560 entry->GetURL(), Referrer(), disposition,
1556 content::PAGE_TRANSITION_RELOAD, false)); 1561 content::PAGE_TRANSITION_RELOAD, false));
1557 return; 1562 return;
1558 } 1563 }
1559 1564
1560 // As this is caused by a user action, give the focus to the page. 1565 // As this is caused by a user action, give the focus to the page.
(...skipping 24 matching lines...) Expand all
1585 1590
1586 WindowOpenDisposition open_disposition = 1591 WindowOpenDisposition open_disposition =
1587 location_bar->GetWindowOpenDisposition(); 1592 location_bar->GetWindowOpenDisposition();
1588 if (OpenInstant(open_disposition)) 1593 if (OpenInstant(open_disposition))
1589 return; 1594 return;
1590 1595
1591 GURL url(location_bar->GetInputString()); 1596 GURL url(location_bar->GetInputString());
1592 1597
1593 if (open_disposition == CURRENT_TAB && TabFinder::IsEnabled()) { 1598 if (open_disposition == CURRENT_TAB && TabFinder::IsEnabled()) {
1594 Browser* existing_browser = NULL; 1599 Browser* existing_browser = NULL;
1595 TabContents* existing_tab = TabFinder::GetInstance()->FindTab( 1600 WebContents* existing_tab = TabFinder::GetInstance()->FindTab(
1596 this, url, &existing_browser); 1601 this, url, &existing_browser);
1597 if (existing_tab) { 1602 if (existing_tab) {
1598 existing_browser->ActivateContents(existing_tab); 1603 existing_browser->ActivateContents(existing_tab);
1599 return; 1604 return;
1600 } 1605 }
1601 } 1606 }
1602 1607
1603 browser::NavigateParams params(this, url, location_bar->GetPageTransition()); 1608 browser::NavigateParams params(this, url, location_bar->GetPageTransition());
1604 params.disposition = open_disposition; 1609 params.disposition = open_disposition;
1605 // Use ADD_INHERIT_OPENER so that all pages opened by the omnibox at least 1610 // Use ADD_INHERIT_OPENER so that all pages opened by the omnibox at least
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
1740 return; 1745 return;
1741 1746
1742 service->RestoreMostRecentEntry(tab_restore_service_delegate()); 1747 service->RestoreMostRecentEntry(tab_restore_service_delegate());
1743 } 1748 }
1744 1749
1745 void Browser::WriteCurrentURLToClipboard() { 1750 void Browser::WriteCurrentURLToClipboard() {
1746 // TODO(ericu): There isn't currently a metric for this. Should there be? 1751 // TODO(ericu): There isn't currently a metric for this. Should there be?
1747 // We don't appear to track the action when it comes from the 1752 // We don't appear to track the action when it comes from the
1748 // RenderContextViewMenu. 1753 // RenderContextViewMenu.
1749 1754
1750 TabContents* contents = GetSelectedTabContents(); 1755 WebContents* contents = GetSelectedWebContents();
1751 if (!toolbar_model_.ShouldDisplayURL()) 1756 if (!toolbar_model_.ShouldDisplayURL())
1752 return; 1757 return;
1753 1758
1754 chrome_browser_net::WriteURLToClipboard( 1759 chrome_browser_net::WriteURLToClipboard(
1755 contents->GetURL(), 1760 contents->GetURL(),
1756 profile_->GetPrefs()->GetString(prefs::kAcceptLanguages), 1761 profile_->GetPrefs()->GetString(prefs::kAcceptLanguages),
1757 g_browser_process->clipboard()); 1762 g_browser_process->clipboard());
1758 } 1763 }
1759 1764
1760 void Browser::ConvertPopupToTabbedBrowser() { 1765 void Browser::ConvertPopupToTabbedBrowser() {
(...skipping 23 matching lines...) Expand all
1784 if (window_->IsFullscreen()) { 1789 if (window_->IsFullscreen()) {
1785 ToggleFullscreenMode(false); 1790 ToggleFullscreenMode(false);
1786 // ToggleFullscreenMode is asynchronous, so we don't have omnibox 1791 // ToggleFullscreenMode is asynchronous, so we don't have omnibox
1787 // visible at this point. Wait for next event cycle which toggles 1792 // visible at this point. Wait for next event cycle which toggles
1788 // the visibility of omnibox before creating new tab. 1793 // the visibility of omnibox before creating new tab.
1789 MessageLoop::current()->PostTask( 1794 MessageLoop::current()->PostTask(
1790 FROM_HERE, base::Bind(&Browser::Search, weak_factory_.GetWeakPtr())); 1795 FROM_HERE, base::Bind(&Browser::Search, weak_factory_.GetWeakPtr()));
1791 return; 1796 return;
1792 } 1797 }
1793 1798
1794 const GURL& url = GetSelectedTabContents()->GetURL(); 1799 const GURL& url = GetSelectedWebContents()->GetURL();
1795 if (url.SchemeIs(chrome::kChromeUIScheme) && 1800 if (url.SchemeIs(chrome::kChromeUIScheme) &&
1796 url.host() == chrome::kChromeUINewTabHost) { 1801 url.host() == chrome::kChromeUINewTabHost) {
1797 // If the NTP is showing, focus the omnibox. 1802 // If the NTP is showing, focus the omnibox.
1798 window_->SetFocusToLocationBar(true); 1803 window_->SetFocusToLocationBar(true);
1799 } else { 1804 } else {
1800 // Otherwise, open the NTP. 1805 // Otherwise, open the NTP.
1801 NewTab(); 1806 NewTab();
1802 } 1807 }
1803 } 1808 }
1804 1809
(...skipping 29 matching lines...) Expand all
1834 // bookmark isn't created if the url is invalid. 1839 // bookmark isn't created if the url is invalid.
1835 if (window_->IsActive() && model->IsBookmarked(url)) { 1840 if (window_->IsActive() && model->IsBookmarked(url)) {
1836 // Only show the bubble if the window is active, otherwise we may get into 1841 // Only show the bubble if the window is active, otherwise we may get into
1837 // weird situations were the bubble is deleted as soon as it is shown. 1842 // weird situations were the bubble is deleted as soon as it is shown.
1838 window_->ShowBookmarkBubble(url, was_bookmarked); 1843 window_->ShowBookmarkBubble(url, was_bookmarked);
1839 } 1844 }
1840 } 1845 }
1841 1846
1842 void Browser::SavePage() { 1847 void Browser::SavePage() {
1843 content::RecordAction(UserMetricsAction("SavePage")); 1848 content::RecordAction(UserMetricsAction("SavePage"));
1844 TabContents* current_tab = GetSelectedTabContents(); 1849 WebContents* current_tab = GetSelectedWebContents();
1845 if (current_tab && current_tab->GetContentsMimeType() == "application/pdf") 1850 if (current_tab && current_tab->GetContentsMimeType() == "application/pdf")
1846 content::RecordAction(UserMetricsAction("PDF.SavePage")); 1851 content::RecordAction(UserMetricsAction("PDF.SavePage"));
1847 GetSelectedTabContents()->OnSavePage(); 1852 GetSelectedWebContents()->OnSavePage();
1848 } 1853 }
1849 1854
1850 void Browser::ViewSelectedSource() { 1855 void Browser::ViewSelectedSource() {
1851 ViewSource(GetSelectedTabContentsWrapper()); 1856 ViewSource(GetSelectedTabContentsWrapper());
1852 } 1857 }
1853 1858
1854 void Browser::ShowFindBar() { 1859 void Browser::ShowFindBar() {
1855 GetFindBarController()->Show(); 1860 GetFindBarController()->Show();
1856 } 1861 }
1857 1862
1858 bool Browser::SupportsWindowFeature(WindowFeature feature) const { 1863 bool Browser::SupportsWindowFeature(WindowFeature feature) const {
1859 return SupportsWindowFeatureImpl(feature, true); 1864 return SupportsWindowFeatureImpl(feature, true);
1860 } 1865 }
1861 1866
1862 bool Browser::CanSupportWindowFeature(WindowFeature feature) const { 1867 bool Browser::CanSupportWindowFeature(WindowFeature feature) const {
1863 return SupportsWindowFeatureImpl(feature, false); 1868 return SupportsWindowFeatureImpl(feature, false);
1864 } 1869 }
1865 1870
1866 void Browser::EmailPageLocation() { 1871 void Browser::EmailPageLocation() {
1867 content::RecordAction(UserMetricsAction("EmailPageLocation")); 1872 content::RecordAction(UserMetricsAction("EmailPageLocation"));
1868 TabContents* tc = GetSelectedTabContents(); 1873 WebContents* wc = GetSelectedWebContents();
1869 DCHECK(tc); 1874 DCHECK(wc);
1870 1875
1871 std::string title = net::EscapeQueryParamValue( 1876 std::string title = net::EscapeQueryParamValue(
1872 UTF16ToUTF8(tc->GetTitle()), false); 1877 UTF16ToUTF8(wc->GetTitle()), false);
1873 std::string page_url = net::EscapeQueryParamValue(tc->GetURL().spec(), false); 1878 std::string page_url = net::EscapeQueryParamValue(wc->GetURL().spec(), false);
1874 std::string mailto = std::string("mailto:?subject=Fwd:%20") + 1879 std::string mailto = std::string("mailto:?subject=Fwd:%20") +
1875 title + "&body=%0A%0A" + page_url; 1880 title + "&body=%0A%0A" + page_url;
1876 platform_util::OpenExternal(GURL(mailto)); 1881 platform_util::OpenExternal(GURL(mailto));
1877 } 1882 }
1878 1883
1879 void Browser::Print() { 1884 void Browser::Print() {
1880 if (switches::IsPrintPreviewEnabled()) 1885 if (switches::IsPrintPreviewEnabled())
1881 GetSelectedTabContentsWrapper()->print_view_manager()->PrintPreviewNow(); 1886 GetSelectedTabContentsWrapper()->print_view_manager()->PrintPreviewNow();
1882 else 1887 else
1883 GetSelectedTabContentsWrapper()->print_view_manager()->PrintNow(); 1888 GetSelectedTabContentsWrapper()->print_view_manager()->PrintNow();
1884 } 1889 }
1885 1890
1886 void Browser::AdvancedPrint() { 1891 void Browser::AdvancedPrint() {
1887 GetSelectedTabContentsWrapper()->print_view_manager()->AdvancedPrintNow(); 1892 GetSelectedTabContentsWrapper()->print_view_manager()->AdvancedPrintNow();
1888 } 1893 }
1889 1894
1890 void Browser::ToggleEncodingAutoDetect() { 1895 void Browser::ToggleEncodingAutoDetect() {
1891 content::RecordAction(UserMetricsAction("AutoDetectChange")); 1896 content::RecordAction(UserMetricsAction("AutoDetectChange"));
1892 encoding_auto_detect_.SetValue(!encoding_auto_detect_.GetValue()); 1897 encoding_auto_detect_.SetValue(!encoding_auto_detect_.GetValue());
1893 // If "auto detect" is turned on, then any current override encoding 1898 // If "auto detect" is turned on, then any current override encoding
1894 // is cleared. This also implicitly performs a reload. 1899 // is cleared. This also implicitly performs a reload.
1895 // OTOH, if "auto detect" is turned off, we don't change the currently 1900 // OTOH, if "auto detect" is turned off, we don't change the currently
1896 // active encoding. 1901 // active encoding.
1897 if (encoding_auto_detect_.GetValue()) { 1902 if (encoding_auto_detect_.GetValue()) {
1898 TabContents* contents = GetSelectedTabContents(); 1903 WebContents* contents = GetSelectedWebContents();
1899 if (contents) 1904 if (contents)
1900 contents->ResetOverrideEncoding(); 1905 contents->ResetOverrideEncoding();
1901 } 1906 }
1902 } 1907 }
1903 1908
1904 void Browser::OverrideEncoding(int encoding_id) { 1909 void Browser::OverrideEncoding(int encoding_id) {
1905 content::RecordAction(UserMetricsAction("OverrideEncoding")); 1910 content::RecordAction(UserMetricsAction("OverrideEncoding"));
1906 const std::string selected_encoding = 1911 const std::string selected_encoding =
1907 CharacterEncoding::GetCanonicalEncodingNameByCommandId(encoding_id); 1912 CharacterEncoding::GetCanonicalEncodingNameByCommandId(encoding_id);
1908 TabContents* contents = GetSelectedTabContents(); 1913 WebContents* contents = GetSelectedWebContents();
1909 if (!selected_encoding.empty() && contents) 1914 if (!selected_encoding.empty() && contents)
1910 contents->SetOverrideEncoding(selected_encoding); 1915 contents->SetOverrideEncoding(selected_encoding);
1911 // Update the list of recently selected encodings. 1916 // Update the list of recently selected encodings.
1912 std::string new_selected_encoding_list; 1917 std::string new_selected_encoding_list;
1913 if (CharacterEncoding::UpdateRecentlySelectedEncoding( 1918 if (CharacterEncoding::UpdateRecentlySelectedEncoding(
1914 profile_->GetPrefs()->GetString(prefs::kRecentlySelectedEncoding), 1919 profile_->GetPrefs()->GetString(prefs::kRecentlySelectedEncoding),
1915 encoding_id, 1920 encoding_id,
1916 &new_selected_encoding_list)) { 1921 &new_selected_encoding_list)) {
1917 profile_->GetPrefs()->SetString(prefs::kRecentlySelectedEncoding, 1922 profile_->GetPrefs()->SetString(prefs::kRecentlySelectedEncoding,
1918 new_selected_encoding_list); 1923 new_selected_encoding_list);
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
1954 return; 1959 return;
1955 1960
1956 RenderViewHost* host = 1961 RenderViewHost* host =
1957 GetSelectedTabContentsWrapper()->tab_contents()->GetRenderViewHost(); 1962 GetSelectedTabContentsWrapper()->tab_contents()->GetRenderViewHost();
1958 if (zoom == content::PAGE_ZOOM_RESET) { 1963 if (zoom == content::PAGE_ZOOM_RESET) {
1959 host->SetZoomLevel(0); 1964 host->SetZoomLevel(0);
1960 content::RecordAction(UserMetricsAction("ZoomNormal")); 1965 content::RecordAction(UserMetricsAction("ZoomNormal"));
1961 return; 1966 return;
1962 } 1967 }
1963 1968
1964 double current_zoom_level = GetSelectedTabContents()->GetZoomLevel(); 1969 double current_zoom_level = GetSelectedWebContents()->GetZoomLevel();
1965 double default_zoom_level = 1970 double default_zoom_level =
1966 profile_->GetPrefs()->GetDouble(prefs::kDefaultZoomLevel); 1971 profile_->GetPrefs()->GetDouble(prefs::kDefaultZoomLevel);
1967 1972
1968 // Generate a vector of zoom levels from an array of known presets along with 1973 // Generate a vector of zoom levels from an array of known presets along with
1969 // the default level added if necessary. 1974 // the default level added if necessary.
1970 std::vector<double> zoom_levels = 1975 std::vector<double> zoom_levels =
1971 chrome_page_zoom::PresetZoomLevels(default_zoom_level); 1976 chrome_page_zoom::PresetZoomLevels(default_zoom_level);
1972 1977
1973 if (zoom == content::PAGE_ZOOM_OUT) { 1978 if (zoom == content::PAGE_ZOOM_OUT) {
1974 // Iterate through the zoom levels in reverse order to find the next 1979 // Iterate through the zoom levels in reverse order to find the next
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
2049 if (!select_file_dialog_.get()) 2054 if (!select_file_dialog_.get())
2050 select_file_dialog_ = SelectFileDialog::Create(this); 2055 select_file_dialog_ = SelectFileDialog::Create(this);
2051 2056
2052 const FilePath directory = profile_->last_selected_directory(); 2057 const FilePath directory = profile_->last_selected_directory();
2053 2058
2054 // TODO(beng): figure out how to juggle this. 2059 // TODO(beng): figure out how to juggle this.
2055 gfx::NativeWindow parent_window = window_->GetNativeHandle(); 2060 gfx::NativeWindow parent_window = window_->GetNativeHandle();
2056 select_file_dialog_->SelectFile(SelectFileDialog::SELECT_OPEN_FILE, 2061 select_file_dialog_->SelectFile(SelectFileDialog::SELECT_OPEN_FILE,
2057 string16(), directory, 2062 string16(), directory,
2058 NULL, 0, FILE_PATH_LITERAL(""), 2063 NULL, 0, FILE_PATH_LITERAL(""),
2059 GetSelectedTabContents(), 2064 GetSelectedWebContents(),
2060 parent_window, NULL); 2065 parent_window, NULL);
2061 } 2066 }
2062 2067
2063 void Browser::OpenCreateShortcutsDialog() { 2068 void Browser::OpenCreateShortcutsDialog() {
2064 content::RecordAction(UserMetricsAction("CreateShortcut")); 2069 content::RecordAction(UserMetricsAction("CreateShortcut"));
2065 #if !defined(OS_MACOSX) 2070 #if !defined(OS_MACOSX)
2066 TabContentsWrapper* current_tab = GetSelectedTabContentsWrapper(); 2071 TabContentsWrapper* current_tab = GetSelectedTabContentsWrapper();
2067 DCHECK(current_tab && 2072 DCHECK(current_tab &&
2068 web_app::IsValidUrl(current_tab->tab_contents()->GetURL())) << 2073 web_app::IsValidUrl(current_tab->tab_contents()->GetURL())) <<
2069 "Menu item should be disabled."; 2074 "Menu item should be disabled.";
(...skipping 1458 matching lines...) Expand 10 before | Expand all | Expand 10 after
3528 3533
3529 void Browser::DeactivateContents(WebContents* contents) { 3534 void Browser::DeactivateContents(WebContents* contents) {
3530 window_->Deactivate(); 3535 window_->Deactivate();
3531 } 3536 }
3532 3537
3533 void Browser::LoadingStateChanged(WebContents* source) { 3538 void Browser::LoadingStateChanged(WebContents* source) {
3534 window_->UpdateLoadingAnimations( 3539 window_->UpdateLoadingAnimations(
3535 tab_handler_->GetTabStripModel()->TabsAreLoading()); 3540 tab_handler_->GetTabStripModel()->TabsAreLoading());
3536 window_->UpdateTitleBar(); 3541 window_->UpdateTitleBar();
3537 3542
3538 WebContents* selected_contents = GetSelectedTabContents(); 3543 WebContents* selected_contents = GetSelectedWebContents();
3539 if (source == selected_contents) { 3544 if (source == selected_contents) {
3540 bool is_loading = source->IsLoading(); 3545 bool is_loading = source->IsLoading();
3541 UpdateReloadStopState(is_loading, false); 3546 UpdateReloadStopState(is_loading, false);
3542 if (GetStatusBubble()) { 3547 if (GetStatusBubble()) {
3543 GetStatusBubble()->SetStatus( 3548 GetStatusBubble()->SetStatus(
3544 GetSelectedTabContentsWrapper()->core_tab_helper()->GetStatusText()); 3549 GetSelectedTabContentsWrapper()->core_tab_helper()->GetStatusText());
3545 } 3550 }
3546 3551
3547 if (!is_loading && pending_web_app_action_ == UPDATE_SHORTCUT) { 3552 if (!is_loading && pending_web_app_action_ == UPDATE_SHORTCUT) {
3548 // Schedule a shortcut update when web application info is available if 3553 // Schedule a shortcut update when web application info is available if
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
3597 bool Browser::IsPopupOrPanel(const WebContents* source) const { 3602 bool Browser::IsPopupOrPanel(const WebContents* source) const {
3598 // A non-tabbed BROWSER is an unconstrained popup. 3603 // A non-tabbed BROWSER is an unconstrained popup.
3599 return is_type_popup() || is_type_panel(); 3604 return is_type_popup() || is_type_panel();
3600 } 3605 }
3601 3606
3602 void Browser::ContentsMouseEvent( 3607 void Browser::ContentsMouseEvent(
3603 WebContents* source, const gfx::Point& location, bool motion) { 3608 WebContents* source, const gfx::Point& location, bool motion) {
3604 if (!GetStatusBubble()) 3609 if (!GetStatusBubble())
3605 return; 3610 return;
3606 3611
3607 if (source == GetSelectedTabContents()) { 3612 if (source == GetSelectedWebContents()) {
3608 GetStatusBubble()->MouseMoved(location, !motion); 3613 GetStatusBubble()->MouseMoved(location, !motion);
3609 if (!motion) 3614 if (!motion)
3610 GetStatusBubble()->SetURL(GURL(), std::string()); 3615 GetStatusBubble()->SetURL(GURL(), std::string());
3611 } 3616 }
3612 } 3617 }
3613 3618
3614 void Browser::UpdateTargetURL(WebContents* source, int32 page_id, 3619 void Browser::UpdateTargetURL(WebContents* source, int32 page_id,
3615 const GURL& url) { 3620 const GURL& url) {
3616 Browser::UpdateTargetURLHelper(source, page_id, url); 3621 Browser::UpdateTargetURLHelper(source, page_id, url);
3617 3622
3618 if (!GetStatusBubble()) 3623 if (!GetStatusBubble())
3619 return; 3624 return;
3620 3625
3621 if (source == GetSelectedTabContents()) { 3626 if (source == GetSelectedWebContents()) {
3622 PrefService* prefs = profile_->GetPrefs(); 3627 PrefService* prefs = profile_->GetPrefs();
3623 GetStatusBubble()->SetURL(url, prefs->GetString(prefs::kAcceptLanguages)); 3628 GetStatusBubble()->SetURL(url, prefs->GetString(prefs::kAcceptLanguages));
3624 } 3629 }
3625 } 3630 }
3626 3631
3627 void Browser::UpdateDownloadShelfVisibility(bool visible) { 3632 void Browser::UpdateDownloadShelfVisibility(bool visible) {
3628 if (GetStatusBubble()) 3633 if (GetStatusBubble())
3629 GetStatusBubble()->UpdateDownloadShelfVisibility(visible); 3634 GetStatusBubble()->UpdateDownloadShelfVisibility(visible);
3630 } 3635 }
3631 3636
(...skipping 243 matching lines...) Expand 10 before | Expand all | Expand 10 after
3875 TabContentsWrapper::GetCurrentWrapperForContents(source); 3880 TabContentsWrapper::GetCurrentWrapperForContents(source);
3876 InfoBarTabHelper* infobar_helper = wrapper->infobar_tab_helper(); 3881 InfoBarTabHelper* infobar_helper = wrapper->infobar_tab_helper();
3877 infobar_helper->AddInfoBar(new SimpleAlertInfoBarDelegate( 3882 infobar_helper->AddInfoBar(new SimpleAlertInfoBarDelegate(
3878 infobar_helper, 3883 infobar_helper,
3879 NULL, 3884 NULL,
3880 l10n_util::GetStringUTF16(IDS_WEBWORKER_CRASHED_PROMPT), 3885 l10n_util::GetStringUTF16(IDS_WEBWORKER_CRASHED_PROMPT),
3881 true)); 3886 true));
3882 } 3887 }
3883 3888
3884 void Browser::DidNavigateMainFramePostCommit(WebContents* tab) { 3889 void Browser::DidNavigateMainFramePostCommit(WebContents* tab) {
3885 if (tab == GetSelectedTabContents()) 3890 if (tab == GetSelectedWebContents())
3886 UpdateBookmarkBarState(BOOKMARK_BAR_STATE_CHANGE_TAB_STATE); 3891 UpdateBookmarkBarState(BOOKMARK_BAR_STATE_CHANGE_TAB_STATE);
3887 } 3892 }
3888 3893
3889 void Browser::DidNavigateToPendingEntry(WebContents* tab) { 3894 void Browser::DidNavigateToPendingEntry(WebContents* tab) {
3890 if (tab == GetSelectedTabContents()) 3895 if (tab == GetSelectedWebContents())
3891 UpdateBookmarkBarState(BOOKMARK_BAR_STATE_CHANGE_TAB_STATE); 3896 UpdateBookmarkBarState(BOOKMARK_BAR_STATE_CHANGE_TAB_STATE);
3892 } 3897 }
3893 3898
3894 content::JavaScriptDialogCreator* Browser::GetJavaScriptDialogCreator() { 3899 content::JavaScriptDialogCreator* Browser::GetJavaScriptDialogCreator() {
3895 return GetJavaScriptDialogCreatorInstance(); 3900 return GetJavaScriptDialogCreatorInstance();
3896 } 3901 }
3897 3902
3898 void Browser::RunFileChooser(WebContents* tab, 3903 void Browser::RunFileChooser(WebContents* tab,
3899 const content::FileChooserParams& params) { 3904 const content::FileChooserParams& params) {
3900 RunFileChooserHelper(tab, params); 3905 RunFileChooserHelper(tab, params);
(...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after
4102 } 4107 }
4103 break; 4108 break;
4104 4109
4105 case content::NOTIFICATION_SSL_VISIBLE_STATE_CHANGED: 4110 case content::NOTIFICATION_SSL_VISIBLE_STATE_CHANGED:
4106 // When the current tab's SSL state changes, we need to update the URL 4111 // When the current tab's SSL state changes, we need to update the URL
4107 // bar to reflect the new state. Note that it's possible for the selected 4112 // bar to reflect the new state. Note that it's possible for the selected
4108 // tab contents to be NULL. This is because we listen for all sources 4113 // tab contents to be NULL. This is because we listen for all sources
4109 // (NavigationControllers) for convenience, so the notification could 4114 // (NavigationControllers) for convenience, so the notification could
4110 // actually be for a different window while we're doing asynchronous 4115 // actually be for a different window while we're doing asynchronous
4111 // closing of this one. 4116 // closing of this one.
4112 if (GetSelectedTabContents() && 4117 if (GetSelectedWebContents() &&
4113 &GetSelectedTabContents()->GetController() == 4118 &GetSelectedWebContents()->GetController() ==
4114 content::Source<NavigationController>(source).ptr()) 4119 content::Source<NavigationController>(source).ptr())
4115 UpdateToolbar(false); 4120 UpdateToolbar(false);
4116 break; 4121 break;
4117 4122
4118 case chrome::NOTIFICATION_EXTENSION_UPDATE_DISABLED: { 4123 case chrome::NOTIFICATION_EXTENSION_UPDATE_DISABLED: {
4119 // Show the UI if the extension was disabled for escalated permissions. 4124 // Show the UI if the extension was disabled for escalated permissions.
4120 Profile* profile = content::Source<Profile>(source).ptr(); 4125 Profile* profile = content::Source<Profile>(source).ptr();
4121 if (profile_->IsSameProfile(profile)) { 4126 if (profile_->IsSameProfile(profile)) {
4122 ExtensionService* service = profile->GetExtensionService(); 4127 ExtensionService* service = profile->GetExtensionService();
4123 DCHECK(service); 4128 DCHECK(service);
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
4215 UpdateSaveAsState(GetContentRestrictionsForSelectedTab()); 4220 UpdateSaveAsState(GetContentRestrictionsForSelectedTab());
4216 UpdateOpenFileState(); 4221 UpdateOpenFileState();
4217 } else { 4222 } else {
4218 NOTREACHED(); 4223 NOTREACHED();
4219 } 4224 }
4220 break; 4225 break;
4221 } 4226 }
4222 4227
4223 case chrome::NOTIFICATION_WEB_CONTENT_SETTINGS_CHANGED: { 4228 case chrome::NOTIFICATION_WEB_CONTENT_SETTINGS_CHANGED: {
4224 WebContents* web_contents = content::Source<WebContents>(source).ptr(); 4229 WebContents* web_contents = content::Source<WebContents>(source).ptr();
4225 if (web_contents == GetSelectedTabContents()) { 4230 if (web_contents == GetSelectedWebContents()) {
4226 LocationBar* location_bar = window()->GetLocationBar(); 4231 LocationBar* location_bar = window()->GetLocationBar();
4227 if (location_bar) 4232 if (location_bar)
4228 location_bar->UpdateContentSettingsIcons(); 4233 location_bar->UpdateContentSettingsIcons();
4229 } 4234 }
4230 break; 4235 break;
4231 } 4236 }
4232 4237
4233 case content::NOTIFICATION_INTERSTITIAL_ATTACHED: 4238 case content::NOTIFICATION_INTERSTITIAL_ATTACHED:
4234 UpdateBookmarkBarState(BOOKMARK_BAR_STATE_CHANGE_TAB_STATE); 4239 UpdateBookmarkBarState(BOOKMARK_BAR_STATE_CHANGE_TAB_STATE);
4235 UpdateCommandsForTabState(); 4240 UpdateCommandsForTabState();
(...skipping 20 matching lines...) Expand all
4256 show_main_ui && profile_->GetOriginalProfile()->IsSyncAccessible()); 4261 show_main_ui && profile_->GetOriginalProfile()->IsSyncAccessible());
4257 } 4262 }
4258 4263
4259 /////////////////////////////////////////////////////////////////////////////// 4264 ///////////////////////////////////////////////////////////////////////////////
4260 // Browser, InstantDelegate implementation: 4265 // Browser, InstantDelegate implementation:
4261 4266
4262 void Browser::ShowInstant(TabContentsWrapper* preview_contents) { 4267 void Browser::ShowInstant(TabContentsWrapper* preview_contents) {
4263 DCHECK(instant_->tab_contents() == GetSelectedTabContentsWrapper()); 4268 DCHECK(instant_->tab_contents() == GetSelectedTabContentsWrapper());
4264 window_->ShowInstant(preview_contents); 4269 window_->ShowInstant(preview_contents);
4265 4270
4266 GetSelectedTabContents()->HideContents(); 4271 GetSelectedWebContents()->HideContents();
4267 preview_contents->tab_contents()->ShowContents(); 4272 preview_contents->web_contents()->ShowContents();
4268 } 4273 }
4269 4274
4270 void Browser::HideInstant() { 4275 void Browser::HideInstant() {
4271 window_->HideInstant(); 4276 window_->HideInstant();
4272 if (GetSelectedTabContents()) 4277 if (GetSelectedWebContents())
4273 GetSelectedTabContents()->ShowContents(); 4278 GetSelectedWebContents()->ShowContents();
4274 if (instant_->GetPreviewContents()) 4279 if (instant_->GetPreviewContents())
4275 instant_->GetPreviewContents()->tab_contents()->HideContents(); 4280 instant_->GetPreviewContents()->web_contents()->HideContents();
4276 } 4281 }
4277 4282
4278 void Browser::CommitInstant(TabContentsWrapper* preview_contents) { 4283 void Browser::CommitInstant(TabContentsWrapper* preview_contents) {
4279 TabContentsWrapper* tab_contents = instant_->tab_contents(); 4284 TabContentsWrapper* tab_contents = instant_->tab_contents();
4280 int index = 4285 int index =
4281 tab_handler_->GetTabStripModel()->GetIndexOfTabContents(tab_contents); 4286 tab_handler_->GetTabStripModel()->GetIndexOfTabContents(tab_contents);
4282 DCHECK_NE(TabStripModel::kNoTab, index); 4287 DCHECK_NE(TabStripModel::kNoTab, index);
4283 // TabStripModel takes ownership of preview_contents. 4288 // TabStripModel takes ownership of preview_contents.
4284 tab_handler_->GetTabStripModel()->ReplaceTabContentsAt( 4289 tab_handler_->GetTabStripModel()->ReplaceTabContentsAt(
4285 index, preview_contents); 4290 index, preview_contents);
(...skipping 299 matching lines...) Expand 10 before | Expand all | Expand 10 after
4585 command_updater_.UpdateCommandEnabled(IDC_SHOW_AVATAR_MENU, 4590 command_updater_.UpdateCommandEnabled(IDC_SHOW_AVATAR_MENU,
4586 show_main_ui && !profile()->IsOffTheRecord()); 4591 show_main_ui && !profile()->IsOffTheRecord());
4587 #if defined (ENABLE_PROFILING) && !defined(NO_TCMALLOC) 4592 #if defined (ENABLE_PROFILING) && !defined(NO_TCMALLOC)
4588 command_updater_.UpdateCommandEnabled(IDC_PROFILING_ENABLED, show_main_ui); 4593 command_updater_.UpdateCommandEnabled(IDC_PROFILING_ENABLED, show_main_ui);
4589 #endif 4594 #endif
4590 4595
4591 UpdateCommandsForBookmarkBar(); 4596 UpdateCommandsForBookmarkBar();
4592 } 4597 }
4593 4598
4594 void Browser::UpdateCommandsForTabState() { 4599 void Browser::UpdateCommandsForTabState() {
4595 TabContents* current_tab = GetSelectedTabContents(); 4600 WebContents* current_tab = GetSelectedWebContents();
4596 TabContentsWrapper* current_tab_wrapper = GetSelectedTabContentsWrapper(); 4601 TabContentsWrapper* current_tab_wrapper = GetSelectedTabContentsWrapper();
4597 if (!current_tab || !current_tab_wrapper) // May be NULL during tab restore. 4602 if (!current_tab || !current_tab_wrapper) // May be NULL during tab restore.
4598 return; 4603 return;
4599 4604
4600 // Navigation commands 4605 // Navigation commands
4601 NavigationController& nc = current_tab->GetController(); 4606 NavigationController& nc = current_tab->GetController();
4602 command_updater_.UpdateCommandEnabled(IDC_BACK, nc.CanGoBack()); 4607 command_updater_.UpdateCommandEnabled(IDC_BACK, nc.CanGoBack());
4603 command_updater_.UpdateCommandEnabled(IDC_FORWARD, nc.CanGoForward()); 4608 command_updater_.UpdateCommandEnabled(IDC_FORWARD, nc.CanGoForward());
4604 command_updater_.UpdateCommandEnabled(IDC_RELOAD, 4609 command_updater_.UpdateCommandEnabled(IDC_RELOAD,
4605 CanReloadContents(current_tab)); 4610 CanReloadContents(current_tab));
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
4749 window_->UpdateToolbar(GetSelectedTabContentsWrapper(), should_restore_state); 4754 window_->UpdateToolbar(GetSelectedTabContentsWrapper(), should_restore_state);
4750 } 4755 }
4751 4756
4752 void Browser::ScheduleUIUpdate(const WebContents* source, 4757 void Browser::ScheduleUIUpdate(const WebContents* source,
4753 unsigned changed_flags) { 4758 unsigned changed_flags) {
4754 if (!source) 4759 if (!source)
4755 return; 4760 return;
4756 4761
4757 // Do some synchronous updates. 4762 // Do some synchronous updates.
4758 if (changed_flags & TabContents::INVALIDATE_URL && 4763 if (changed_flags & TabContents::INVALIDATE_URL &&
4759 source == GetSelectedTabContents()) { 4764 source == GetSelectedWebContents()) {
4760 // Only update the URL for the current tab. Note that we do not update 4765 // Only update the URL for the current tab. Note that we do not update
4761 // the navigation commands since those would have already been updated 4766 // the navigation commands since those would have already been updated
4762 // synchronously by NavigationStateChanged. 4767 // synchronously by NavigationStateChanged.
4763 UpdateToolbar(false); 4768 UpdateToolbar(false);
4764 changed_flags &= ~TabContents::INVALIDATE_URL; 4769 changed_flags &= ~TabContents::INVALIDATE_URL;
4765 } 4770 }
4766 if (changed_flags & TabContents::INVALIDATE_LOAD) { 4771 if (changed_flags & TabContents::INVALIDATE_LOAD) {
4767 // Update the loading state synchronously. This is so the throbber will 4772 // Update the loading state synchronously. This is so the throbber will
4768 // immediately start/stop, which gives a more snappy feel. We want to do 4773 // immediately start/stop, which gives a more snappy feel. We want to do
4769 // this for any tab so they start & stop quickly. 4774 // this for any tab so they start & stop quickly.
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
4823 #endif 4828 #endif
4824 4829
4825 chrome_updater_factory_.InvalidateWeakPtrs(); 4830 chrome_updater_factory_.InvalidateWeakPtrs();
4826 4831
4827 for (UpdateMap::const_iterator i = scheduled_updates_.begin(); 4832 for (UpdateMap::const_iterator i = scheduled_updates_.begin();
4828 i != scheduled_updates_.end(); ++i) { 4833 i != scheduled_updates_.end(); ++i) {
4829 // Do not dereference |contents|, it may be out-of-date! 4834 // Do not dereference |contents|, it may be out-of-date!
4830 const WebContents* contents = i->first; 4835 const WebContents* contents = i->first;
4831 unsigned flags = i->second; 4836 unsigned flags = i->second;
4832 4837
4833 if (contents == GetSelectedTabContents()) { 4838 if (contents == GetSelectedWebContents()) {
4834 // Updates that only matter when the tab is selected go here. 4839 // Updates that only matter when the tab is selected go here.
4835 4840
4836 if (flags & TabContents::INVALIDATE_PAGE_ACTIONS) { 4841 if (flags & TabContents::INVALIDATE_PAGE_ACTIONS) {
4837 LocationBar* location_bar = window()->GetLocationBar(); 4842 LocationBar* location_bar = window()->GetLocationBar();
4838 if (location_bar) 4843 if (location_bar)
4839 location_bar->UpdatePageActions(); 4844 location_bar->UpdatePageActions();
4840 } 4845 }
4841 // Updating the URL happens synchronously in ScheduleUIUpdate. 4846 // Updating the URL happens synchronously in ScheduleUIUpdate.
4842 if (flags & TabContents::INVALIDATE_LOAD && GetStatusBubble()) { 4847 if (flags & TabContents::INVALIDATE_LOAD && GetStatusBubble()) {
4843 GetStatusBubble()->SetStatus( 4848 GetStatusBubble()->SetStatus(
(...skipping 439 matching lines...) Expand 10 before | Expand all | Expand 10 after
5283 } 5288 }
5284 5289
5285 SessionService* session_service = 5290 SessionService* session_service =
5286 SessionServiceFactory::GetForProfileIfExisting(profile_); 5291 SessionServiceFactory::GetForProfileIfExisting(profile_);
5287 if (session_service) 5292 if (session_service)
5288 session_service->TabRestored(view_source_contents, false); 5293 session_service->TabRestored(view_source_contents, false);
5289 } 5294 }
5290 5295
5291 int Browser::GetContentRestrictionsForSelectedTab() { 5296 int Browser::GetContentRestrictionsForSelectedTab() {
5292 int content_restrictions = 0; 5297 int content_restrictions = 0;
5293 TabContents* current_tab = GetSelectedTabContents(); 5298 WebContents* current_tab = GetSelectedWebContents();
5294 if (current_tab) { 5299 if (current_tab) {
5295 content_restrictions = current_tab->GetContentRestrictions(); 5300 content_restrictions = current_tab->GetContentRestrictions();
5296 NavigationEntry* active_entry = 5301 NavigationEntry* active_entry =
5297 current_tab->GetController().GetActiveEntry(); 5302 current_tab->GetController().GetActiveEntry();
5298 // See comment in UpdateCommandsForTabState about why we call url(). 5303 // See comment in UpdateCommandsForTabState about why we call url().
5299 if (!SavePackage::IsSavableURL( 5304 if (!SavePackage::IsSavableURL(
5300 active_entry ? active_entry->GetURL() : GURL()) 5305 active_entry ? active_entry->GetURL() : GURL())
5301 || current_tab->ShowingInterstitialPage()) 5306 || current_tab->ShowingInterstitialPage())
5302 content_restrictions |= content::CONTENT_RESTRICTION_SAVE; 5307 content_restrictions |= content::CONTENT_RESTRICTION_SAVE;
5303 if (current_tab->ShowingInterstitialPage()) 5308 if (current_tab->ShowingInterstitialPage())
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
5359 void Browser::OnWindowDidShow() { 5364 void Browser::OnWindowDidShow() {
5360 if (window_has_shown_) 5365 if (window_has_shown_)
5361 return; 5366 return;
5362 window_has_shown_ = true; 5367 window_has_shown_ = true;
5363 5368
5364 // Nothing to do for non-tabbed windows. 5369 // Nothing to do for non-tabbed windows.
5365 if (!is_type_tabbed()) 5370 if (!is_type_tabbed())
5366 return; 5371 return;
5367 5372
5368 // Suppress the first run bubble if we're showing the sync promo. 5373 // Suppress the first run bubble if we're showing the sync promo.
5369 TabContents* contents = GetSelectedTabContents(); 5374 WebContents* contents = GetSelectedWebContents();
5370 bool is_showing_promo = contents && 5375 bool is_showing_promo = contents &&
5371 contents->GetURL().SchemeIs(chrome::kChromeUIScheme) && 5376 contents->GetURL().SchemeIs(chrome::kChromeUIScheme) &&
5372 contents->GetURL().host() == chrome::kChromeUISyncPromoHost; 5377 contents->GetURL().host() == chrome::kChromeUISyncPromoHost;
5373 5378
5374 // Show the First Run information bubble if we've been told to. 5379 // Show the First Run information bubble if we've been told to.
5375 PrefService* local_state = g_browser_process->local_state(); 5380 PrefService* local_state = g_browser_process->local_state();
5376 if (!is_showing_promo && local_state && 5381 if (!is_showing_promo && local_state &&
5377 local_state->GetBoolean(prefs::kShouldShowFirstRunBubble)) { 5382 local_state->GetBoolean(prefs::kShouldShowFirstRunBubble)) {
5378 FirstRun::BubbleType bubble_type = FirstRun::MINIMAL_BUBBLE; 5383 FirstRun::BubbleType bubble_type = FirstRun::MINIMAL_BUBBLE;
5379 if (local_state-> 5384 if (local_state->
(...skipping 11 matching lines...) Expand all
5391 window_->GetLocationBar()->ShowFirstRunBubble(bubble_type); 5396 window_->GetLocationBar()->ShowFirstRunBubble(bubble_type);
5392 } else { 5397 } else {
5393 GlobalErrorService* service = 5398 GlobalErrorService* service =
5394 GlobalErrorServiceFactory::GetForProfile(profile()); 5399 GlobalErrorServiceFactory::GetForProfile(profile());
5395 GlobalError* error = service->GetFirstGlobalErrorWithBubbleView(); 5400 GlobalError* error = service->GetFirstGlobalErrorWithBubbleView();
5396 if (error) { 5401 if (error) {
5397 error->ShowBubbleView(this); 5402 error->ShowBubbleView(this);
5398 } 5403 }
5399 } 5404 }
5400 } 5405 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/browser.h ('k') | chrome/browser/ui/browser_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698