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

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

Issue 6399001: Revert 72624 (due to crashes) - Implement pref policy for disabling incognito... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 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_init.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 <shellapi.h> 8 #include <shellapi.h>
9 #include <windows.h> 9 #include <windows.h>
10 #endif // OS_WIN 10 #endif // OS_WIN
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after
216 216
217 // Need to know when to alert the user of theme install delay. 217 // Need to know when to alert the user of theme install delay.
218 registrar_.Add(this, NotificationType::EXTENSION_READY_FOR_INSTALL, 218 registrar_.Add(this, NotificationType::EXTENSION_READY_FOR_INSTALL,
219 NotificationService::AllSources()); 219 NotificationService::AllSources());
220 220
221 PrefService* local_state = g_browser_process->local_state(); 221 PrefService* local_state = g_browser_process->local_state();
222 if (local_state) 222 if (local_state)
223 printing_enabled_.Init(prefs::kPrintingEnabled, local_state, this); 223 printing_enabled_.Init(prefs::kPrintingEnabled, local_state, this);
224 dev_tools_disabled_.Init(prefs::kDevToolsDisabled, 224 dev_tools_disabled_.Init(prefs::kDevToolsDisabled,
225 profile_->GetPrefs(), this); 225 profile_->GetPrefs(), this);
226 incognito_mode_allowed_.Init(prefs::kIncognitoEnabled,
227 profile_->GetPrefs(), this);
228 226
229 InitCommandState(); 227 InitCommandState();
230 BrowserList::AddBrowser(this); 228 BrowserList::AddBrowser(this);
231 229
232 encoding_auto_detect_.Init(prefs::kWebKitUsesUniversalDetector, 230 encoding_auto_detect_.Init(prefs::kWebKitUsesUniversalDetector,
233 profile_->GetPrefs(), NULL); 231 profile_->GetPrefs(), NULL);
234 use_vertical_tabs_.Init(prefs::kUseVerticalTabs, profile_->GetPrefs(), this); 232 use_vertical_tabs_.Init(prefs::kUseVerticalTabs, profile_->GetPrefs(), this);
235 instant_enabled_.Init(prefs::kInstantEnabled, profile_->GetPrefs(), this); 233 instant_enabled_.Init(prefs::kInstantEnabled, profile_->GetPrefs(), this);
236 if (!TabMenuModel::AreVerticalTabsEnabled()) { 234 if (!TabMenuModel::AreVerticalTabsEnabled()) {
237 // If vertical tabs aren't enabled, explicitly turn them off. Otherwise we 235 // If vertical tabs aren't enabled, explicitly turn them off. Otherwise we
(...skipping 1062 matching lines...) Expand 10 before | Expand all | Expand 10 after
1300 browser::Navigate(&params); 1298 browser::Navigate(&params);
1301 } 1299 }
1302 1300
1303 void Browser::Stop() { 1301 void Browser::Stop() {
1304 UserMetrics::RecordAction(UserMetricsAction("Stop"), profile_); 1302 UserMetrics::RecordAction(UserMetricsAction("Stop"), profile_);
1305 GetSelectedTabContentsWrapper()->tab_contents()->Stop(); 1303 GetSelectedTabContentsWrapper()->tab_contents()->Stop();
1306 } 1304 }
1307 1305
1308 void Browser::NewWindow() { 1306 void Browser::NewWindow() {
1309 if (browser_defaults::kAlwaysOpenIncognitoWindow && 1307 if (browser_defaults::kAlwaysOpenIncognitoWindow &&
1310 CommandLine::ForCurrentProcess()->HasSwitch(switches::kIncognito) && 1308 CommandLine::ForCurrentProcess()->HasSwitch(switches::kIncognito)) {
1311 incognito_mode_allowed_.GetValue()) {
1312 NewIncognitoWindow(); 1309 NewIncognitoWindow();
1313 return; 1310 return;
1314 } 1311 }
1315 UserMetrics::RecordAction(UserMetricsAction("NewWindow"), profile_); 1312 UserMetrics::RecordAction(UserMetricsAction("NewWindow"), profile_);
1316 SessionService* session_service = 1313 SessionService* session_service =
1317 profile_->GetOriginalProfile()->GetSessionService(); 1314 profile_->GetOriginalProfile()->GetSessionService();
1318 if (!session_service || 1315 if (!session_service ||
1319 !session_service->RestoreIfNecessary(std::vector<GURL>())) { 1316 !session_service->RestoreIfNecessary(std::vector<GURL>())) {
1320 Browser::OpenEmptyWindow(profile_->GetOriginalProfile()); 1317 Browser::OpenEmptyWindow(profile_->GetOriginalProfile());
1321 } 1318 }
1322 } 1319 }
1323 1320
1324 void Browser::NewIncognitoWindow() { 1321 void Browser::NewIncognitoWindow() {
1325 if (!incognito_mode_allowed_.GetValue()) {
1326 NewWindow();
1327 return;
1328 }
1329
1330 UserMetrics::RecordAction(UserMetricsAction("NewIncognitoWindow"), profile_); 1322 UserMetrics::RecordAction(UserMetricsAction("NewIncognitoWindow"), profile_);
1331 Browser::OpenEmptyWindow(profile_->GetOffTheRecordProfile()); 1323 Browser::OpenEmptyWindow(profile_->GetOffTheRecordProfile());
1332 } 1324 }
1333 1325
1334 void Browser::CloseWindow() { 1326 void Browser::CloseWindow() {
1335 UserMetrics::RecordAction(UserMetricsAction("CloseWindow"), profile_); 1327 UserMetrics::RecordAction(UserMetricsAction("CloseWindow"), profile_);
1336 window_->Close(); 1328 window_->Close();
1337 } 1329 }
1338 1330
1339 void Browser::NewTab() { 1331 void Browser::NewTab() {
(...skipping 603 matching lines...) Expand 10 before | Expand all | Expand 10 after
1943 } 1935 }
1944 } 1936 }
1945 1937
1946 void Browser::OpenLanguageOptionsDialog() { 1938 void Browser::OpenLanguageOptionsDialog() {
1947 UserMetrics::RecordAction(UserMetricsAction("OpenLanguageOptionsDialog"), 1939 UserMetrics::RecordAction(UserMetricsAction("OpenLanguageOptionsDialog"),
1948 profile_); 1940 profile_);
1949 if (!CommandLine::ForCurrentProcess()->HasSwitch( 1941 if (!CommandLine::ForCurrentProcess()->HasSwitch(
1950 switches::kDisableTabbedOptions)) { 1942 switches::kDisableTabbedOptions)) {
1951 ShowOptionsTab(chrome::kLanguageOptionsSubPage); 1943 ShowOptionsTab(chrome::kLanguageOptionsSubPage);
1952 } else { 1944 } else {
1953 // Language options dialog has been replaced by DOMUI. 1945 // Language options dialog has been replaced by DOMUI.
1954 } 1946 }
1955 } 1947 }
1956 1948
1957 void Browser::OpenSystemTabAndActivate() { 1949 void Browser::OpenSystemTabAndActivate() {
1958 OpenURL(GURL(chrome::kChromeUISystemInfoURL), GURL(), 1950 OpenURL(GURL(chrome::kChromeUISystemInfoURL), GURL(),
1959 NEW_FOREGROUND_TAB, PageTransition::LINK); 1951 NEW_FOREGROUND_TAB, PageTransition::LINK);
1960 window_->Activate(); 1952 window_->Activate();
1961 } 1953 }
1962 1954
1963 void Browser::OpenMobilePlanTabAndActivate() { 1955 void Browser::OpenMobilePlanTabAndActivate() {
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
2039 prefs->RegisterBooleanPref(prefs::kCheckDefaultBrowser, true); 2031 prefs->RegisterBooleanPref(prefs::kCheckDefaultBrowser, true);
2040 prefs->RegisterBooleanPref(prefs::kShowOmniboxSearchHint, true); 2032 prefs->RegisterBooleanPref(prefs::kShowOmniboxSearchHint, true);
2041 prefs->RegisterBooleanPref(prefs::kWebAppCreateOnDesktop, true); 2033 prefs->RegisterBooleanPref(prefs::kWebAppCreateOnDesktop, true);
2042 prefs->RegisterBooleanPref(prefs::kWebAppCreateInAppsMenu, true); 2034 prefs->RegisterBooleanPref(prefs::kWebAppCreateInAppsMenu, true);
2043 prefs->RegisterBooleanPref(prefs::kWebAppCreateInQuickLaunchBar, true); 2035 prefs->RegisterBooleanPref(prefs::kWebAppCreateInQuickLaunchBar, true);
2044 prefs->RegisterBooleanPref(prefs::kUseVerticalTabs, false); 2036 prefs->RegisterBooleanPref(prefs::kUseVerticalTabs, false);
2045 prefs->RegisterBooleanPref(prefs::kEnableTranslate, true); 2037 prefs->RegisterBooleanPref(prefs::kEnableTranslate, true);
2046 prefs->RegisterBooleanPref(prefs::kRemotingHasSetupCompleted, false); 2038 prefs->RegisterBooleanPref(prefs::kRemotingHasSetupCompleted, false);
2047 prefs->RegisterStringPref(prefs::kCloudPrintEmail, std::string()); 2039 prefs->RegisterStringPref(prefs::kCloudPrintEmail, std::string());
2048 prefs->RegisterBooleanPref(prefs::kDevToolsDisabled, false); 2040 prefs->RegisterBooleanPref(prefs::kDevToolsDisabled, false);
2049 prefs->RegisterBooleanPref(prefs::kIncognitoEnabled, true);
2050 prefs->RegisterRealPref(prefs::kDefaultZoomLevel, 0.0); 2041 prefs->RegisterRealPref(prefs::kDefaultZoomLevel, 0.0);
2051 prefs->RegisterIntegerPref(prefs::kMultipleProfilePrefMigration, 0); 2042 prefs->RegisterIntegerPref(prefs::kMultipleProfilePrefMigration, 0);
2052 // We need to register the type of this preference in order to query 2043 // We need to register the type of this preference in order to query
2053 // it even though it's only typically controlled via policy. 2044 // it even though it's only typically controlled via policy.
2054 prefs->RegisterBooleanPref(prefs::kDisable3DAPIs, false); 2045 prefs->RegisterBooleanPref(prefs::kDisable3DAPIs, false);
2055 } 2046 }
2056 2047
2057 // static 2048 // static
2058 bool Browser::RunUnloadEventsHelper(TabContents* contents) { 2049 bool Browser::RunUnloadEventsHelper(TabContents* contents) {
2059 // If the TabContents is not connected yet, then there's no unload 2050 // If the TabContents is not connected yet, then there's no unload
(...skipping 1383 matching lines...) Expand 10 before | Expand all | Expand 10 after
3443 // All browser commands whose state isn't set automagically some other way 3434 // All browser commands whose state isn't set automagically some other way
3444 // (like Back & Forward with initial page load) must have their state 3435 // (like Back & Forward with initial page load) must have their state
3445 // initialized here, otherwise they will be forever disabled. 3436 // initialized here, otherwise they will be forever disabled.
3446 3437
3447 // Navigation commands 3438 // Navigation commands
3448 command_updater_.UpdateCommandEnabled(IDC_RELOAD, true); 3439 command_updater_.UpdateCommandEnabled(IDC_RELOAD, true);
3449 command_updater_.UpdateCommandEnabled(IDC_RELOAD_IGNORING_CACHE, true); 3440 command_updater_.UpdateCommandEnabled(IDC_RELOAD_IGNORING_CACHE, true);
3450 3441
3451 // Window management commands 3442 // Window management commands
3452 command_updater_.UpdateCommandEnabled(IDC_NEW_WINDOW, true); 3443 command_updater_.UpdateCommandEnabled(IDC_NEW_WINDOW, true);
3453 command_updater_.UpdateCommandEnabled(IDC_NEW_INCOGNITO_WINDOW, 3444 command_updater_.UpdateCommandEnabled(IDC_NEW_INCOGNITO_WINDOW, true);
3454 incognito_mode_allowed_.GetValue());
3455 command_updater_.UpdateCommandEnabled(IDC_CLOSE_WINDOW, true); 3445 command_updater_.UpdateCommandEnabled(IDC_CLOSE_WINDOW, true);
3456 command_updater_.UpdateCommandEnabled(IDC_NEW_TAB, true); 3446 command_updater_.UpdateCommandEnabled(IDC_NEW_TAB, true);
3457 command_updater_.UpdateCommandEnabled(IDC_CLOSE_TAB, true); 3447 command_updater_.UpdateCommandEnabled(IDC_CLOSE_TAB, true);
3458 command_updater_.UpdateCommandEnabled(IDC_DUPLICATE_TAB, true); 3448 command_updater_.UpdateCommandEnabled(IDC_DUPLICATE_TAB, true);
3459 command_updater_.UpdateCommandEnabled(IDC_RESTORE_TAB, false); 3449 command_updater_.UpdateCommandEnabled(IDC_RESTORE_TAB, false);
3460 command_updater_.UpdateCommandEnabled(IDC_EXIT, true); 3450 command_updater_.UpdateCommandEnabled(IDC_EXIT, true);
3461 command_updater_.UpdateCommandEnabled(IDC_TOGGLE_VERTICAL_TABS, true); 3451 command_updater_.UpdateCommandEnabled(IDC_TOGGLE_VERTICAL_TABS, true);
3462 3452
3463 // Page-related commands 3453 // Page-related commands
3464 command_updater_.UpdateCommandEnabled(IDC_EMAIL_PAGE_LOCATION, true); 3454 command_updater_.UpdateCommandEnabled(IDC_EMAIL_PAGE_LOCATION, true);
(...skipping 820 matching lines...) Expand 10 before | Expand all | Expand 10 after
4285 // The page transition below is only for the purpose of inserting the tab. 4275 // The page transition below is only for the purpose of inserting the tab.
4286 browser->AddTab(view_source_contents, PageTransition::LINK); 4276 browser->AddTab(view_source_contents, PageTransition::LINK);
4287 } 4277 }
4288 4278
4289 if (profile_->HasSessionService()) { 4279 if (profile_->HasSessionService()) {
4290 SessionService* session_service = profile_->GetSessionService(); 4280 SessionService* session_service = profile_->GetSessionService();
4291 if (session_service) 4281 if (session_service)
4292 session_service->TabRestored(&view_source_contents->controller(), false); 4282 session_service->TabRestored(&view_source_contents->controller(), false);
4293 } 4283 }
4294 } 4284 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/browser.h ('k') | chrome/browser/ui/browser_init.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698