OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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/browser.h" | 5 #include "chrome/browser/browser.h" |
6 | 6 |
7 #if defined(OS_WIN) | 7 #if defined(OS_WIN) |
8 #include <shellapi.h> | 8 #include <shellapi.h> |
9 #include <windows.h> | 9 #include <windows.h> |
10 #endif // OS_WIN | 10 #endif // OS_WIN |
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
104 #include "chrome/browser/user_data_manager.h" | 104 #include "chrome/browser/user_data_manager.h" |
105 #include "chrome/browser/view_ids.h" | 105 #include "chrome/browser/view_ids.h" |
106 #include "chrome/browser/views/app_launcher.h" | 106 #include "chrome/browser/views/app_launcher.h" |
107 #include "chrome/browser/views/location_bar/location_bar_view.h" | 107 #include "chrome/browser/views/location_bar/location_bar_view.h" |
108 #endif // OS_WIN | 108 #endif // OS_WIN |
109 | 109 |
110 #if defined(OS_MACOSX) | 110 #if defined(OS_MACOSX) |
111 #include "chrome/browser/cocoa/find_pasteboard.h" | 111 #include "chrome/browser/cocoa/find_pasteboard.h" |
112 #endif | 112 #endif |
113 | 113 |
| 114 #if defined(OS_CHROMEOS) |
| 115 #include "chrome/browser/views/app_launcher.h" |
| 116 #endif |
| 117 |
114 using base::TimeDelta; | 118 using base::TimeDelta; |
115 | 119 |
116 // How long we wait before updating the browser chrome while loading a page. | 120 // How long we wait before updating the browser chrome while loading a page. |
117 static const int kUIUpdateCoalescingTimeMS = 200; | 121 static const int kUIUpdateCoalescingTimeMS = 200; |
118 | 122 |
119 // The URL to be loaded to display Help. | 123 // The URL to be loaded to display Help. |
120 static const char* const kHelpContentUrl = | 124 static const char* const kHelpContentUrl = |
121 "http://www.google.com/support/chrome/"; | 125 "http://www.google.com/support/chrome/"; |
122 | 126 |
123 // The URL to be loaded to display the "Report a broken page" form. | 127 // The URL to be loaded to display the "Report a broken page" form. |
(...skipping 914 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1038 command_updater_.UpdateCommandEnabled( | 1042 command_updater_.UpdateCommandEnabled( |
1039 IDC_SYNC_BOOKMARKS, show_main_ui && ProfileSyncService::IsSyncEnabled()); | 1043 IDC_SYNC_BOOKMARKS, show_main_ui && ProfileSyncService::IsSyncEnabled()); |
1040 command_updater_.UpdateCommandEnabled(IDC_OPTIONS, show_main_ui); | 1044 command_updater_.UpdateCommandEnabled(IDC_OPTIONS, show_main_ui); |
1041 command_updater_.UpdateCommandEnabled(IDC_EDIT_SEARCH_ENGINES, show_main_ui); | 1045 command_updater_.UpdateCommandEnabled(IDC_EDIT_SEARCH_ENGINES, show_main_ui); |
1042 command_updater_.UpdateCommandEnabled(IDC_VIEW_PASSWORDS, show_main_ui); | 1046 command_updater_.UpdateCommandEnabled(IDC_VIEW_PASSWORDS, show_main_ui); |
1043 command_updater_.UpdateCommandEnabled(IDC_ABOUT, show_main_ui); | 1047 command_updater_.UpdateCommandEnabled(IDC_ABOUT, show_main_ui); |
1044 command_updater_.UpdateCommandEnabled(IDC_SHOW_APP_MENU, show_main_ui); | 1048 command_updater_.UpdateCommandEnabled(IDC_SHOW_APP_MENU, show_main_ui); |
1045 command_updater_.UpdateCommandEnabled(IDC_SHOW_PAGE_MENU, show_main_ui); | 1049 command_updater_.UpdateCommandEnabled(IDC_SHOW_PAGE_MENU, show_main_ui); |
1046 } | 1050 } |
1047 | 1051 |
| 1052 bool Browser::OpenAppsPanelAsNewTab() { |
| 1053 #if defined(OS_CHROMEOS) || defined(OS_WIN) |
| 1054 CommandLine* command_line = CommandLine::ForCurrentProcess(); |
| 1055 if (command_line->HasSwitch(switches::kDisableAppsPanel) || |
| 1056 (!browser_defaults::kShowAppsPanelForNewTab && |
| 1057 !command_line->HasSwitch(switches::kAppsPanel))) { |
| 1058 return false; |
| 1059 } |
| 1060 AppLauncher::ShowForNewTab(this, std::string()); |
| 1061 return true; |
| 1062 #endif // OS_CHROMEOS || OS_WIN |
| 1063 |
| 1064 return false; |
| 1065 } |
| 1066 |
1048 /////////////////////////////////////////////////////////////////////////////// | 1067 /////////////////////////////////////////////////////////////////////////////// |
1049 // Browser, Assorted browser commands: | 1068 // Browser, Assorted browser commands: |
1050 | 1069 |
1051 bool Browser::ShouldOpenNewTabForWindowDisposition( | 1070 bool Browser::ShouldOpenNewTabForWindowDisposition( |
1052 WindowOpenDisposition disposition) { | 1071 WindowOpenDisposition disposition) { |
1053 return (disposition == NEW_FOREGROUND_TAB || | 1072 return (disposition == NEW_FOREGROUND_TAB || |
1054 disposition == NEW_BACKGROUND_TAB); | 1073 disposition == NEW_BACKGROUND_TAB); |
1055 } | 1074 } |
1056 | 1075 |
1057 NavigationController& Browser::GetOrCloneNavigationControllerForDisposition( | 1076 NavigationController& Browser::GetOrCloneNavigationControllerForDisposition( |
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1241 #endif | 1260 #endif |
1242 } | 1261 } |
1243 | 1262 |
1244 void Browser::CloseWindow() { | 1263 void Browser::CloseWindow() { |
1245 UserMetrics::RecordAction(UserMetricsAction("CloseWindow"), profile_); | 1264 UserMetrics::RecordAction(UserMetricsAction("CloseWindow"), profile_); |
1246 window_->Close(); | 1265 window_->Close(); |
1247 } | 1266 } |
1248 | 1267 |
1249 void Browser::NewTab() { | 1268 void Browser::NewTab() { |
1250 UserMetrics::RecordAction(UserMetricsAction("NewTab"), profile_); | 1269 UserMetrics::RecordAction(UserMetricsAction("NewTab"), profile_); |
1251 #if defined(OS_WIN) | 1270 |
1252 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kAppsPanel)) { | 1271 if (OpenAppsPanelAsNewTab()) |
1253 AppLauncher::ShowForNewTab(this, std::string()); | |
1254 return; | 1272 return; |
1255 } | 1273 |
1256 #endif | |
1257 if (type() == TYPE_NORMAL) { | 1274 if (type() == TYPE_NORMAL) { |
1258 AddBlankTab(true); | 1275 AddBlankTab(true); |
1259 } else { | 1276 } else { |
1260 Browser* b = GetOrCreateTabbedBrowser(profile_); | 1277 Browser* b = GetOrCreateTabbedBrowser(profile_); |
1261 b->AddBlankTab(true); | 1278 b->AddBlankTab(true); |
1262 b->window()->Show(); | 1279 b->window()->Show(); |
1263 // The call to AddBlankTab above did not set the focus to the tab as its | 1280 // The call to AddBlankTab above did not set the focus to the tab as its |
1264 // window was not active, so we have to do it explicitly. | 1281 // window was not active, so we have to do it explicitly. |
1265 // See http://crbug.com/6380. | 1282 // See http://crbug.com/6380. |
1266 b->GetSelectedTabContents()->view()->RestoreFocus(); | 1283 b->GetSelectedTabContents()->view()->RestoreFocus(); |
(...skipping 2571 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3838 if (TabHasUnloadListener(contents)) { | 3855 if (TabHasUnloadListener(contents)) { |
3839 // If the page has unload listeners, then we tell the renderer to fire | 3856 // If the page has unload listeners, then we tell the renderer to fire |
3840 // them. Once they have fired, we'll get a message back saying whether | 3857 // them. Once they have fired, we'll get a message back saying whether |
3841 // to proceed closing the page or not, which sends us back to this method | 3858 // to proceed closing the page or not, which sends us back to this method |
3842 // with the HasUnloadListener bit cleared. | 3859 // with the HasUnloadListener bit cleared. |
3843 contents->render_view_host()->FirePageBeforeUnload(false); | 3860 contents->render_view_host()->FirePageBeforeUnload(false); |
3844 return true; | 3861 return true; |
3845 } | 3862 } |
3846 return false; | 3863 return false; |
3847 } | 3864 } |
OLD | NEW |