OLD | NEW |
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 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
55 #include "chrome/browser/first_run/first_run.h" | 55 #include "chrome/browser/first_run/first_run.h" |
56 #include "chrome/browser/google/google_url_tracker.h" | 56 #include "chrome/browser/google/google_url_tracker.h" |
57 #include "chrome/browser/google/google_util.h" | 57 #include "chrome/browser/google/google_util.h" |
58 #include "chrome/browser/host_zoom_map.h" | 58 #include "chrome/browser/host_zoom_map.h" |
59 #include "chrome/browser/instant/instant_controller.h" | 59 #include "chrome/browser/instant/instant_controller.h" |
60 #include "chrome/browser/instant/instant_unload_handler.h" | 60 #include "chrome/browser/instant/instant_unload_handler.h" |
61 #include "chrome/browser/metrics/user_metrics.h" | 61 #include "chrome/browser/metrics/user_metrics.h" |
62 #include "chrome/browser/net/browser_url_util.h" | 62 #include "chrome/browser/net/browser_url_util.h" |
63 #include "chrome/browser/net/url_fixer_upper.h" | 63 #include "chrome/browser/net/url_fixer_upper.h" |
64 #include "chrome/browser/platform_util.h" | 64 #include "chrome/browser/platform_util.h" |
| 65 #include "chrome/browser/prefs/browser_prefs.h" |
65 #include "chrome/browser/prefs/pref_service.h" | 66 #include "chrome/browser/prefs/pref_service.h" |
66 #include "chrome/browser/printing/cloud_print/cloud_print_setup_flow.h" | 67 #include "chrome/browser/printing/cloud_print/cloud_print_setup_flow.h" |
67 #include "chrome/browser/profiles/profile.h" | 68 #include "chrome/browser/profiles/profile.h" |
| 69 #include "chrome/browser/profiles/profile_manager.h" |
68 #include "chrome/browser/renderer_host/render_view_host.h" | 70 #include "chrome/browser/renderer_host/render_view_host.h" |
69 #include "chrome/browser/renderer_host/site_instance.h" | 71 #include "chrome/browser/renderer_host/site_instance.h" |
70 #include "chrome/browser/sessions/session_service.h" | 72 #include "chrome/browser/sessions/session_service.h" |
71 #include "chrome/browser/sessions/session_types.h" | 73 #include "chrome/browser/sessions/session_types.h" |
72 #include "chrome/browser/sessions/tab_restore_service.h" | 74 #include "chrome/browser/sessions/tab_restore_service.h" |
73 #include "chrome/browser/sync/profile_sync_service.h" | 75 #include "chrome/browser/sync/profile_sync_service.h" |
74 #include "chrome/browser/sync/sync_ui_util.h" | 76 #include "chrome/browser/sync/sync_ui_util.h" |
75 #include "chrome/browser/tab_closeable_state_watcher.h" | 77 #include "chrome/browser/tab_closeable_state_watcher.h" |
76 #include "chrome/browser/tab_contents/interstitial_page.h" | 78 #include "chrome/browser/tab_contents/interstitial_page.h" |
77 #include "chrome/browser/tab_contents/navigation_controller.h" | 79 #include "chrome/browser/tab_contents/navigation_controller.h" |
(...skipping 1885 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1963 const PrefService::Preference* home_page_is_new_tab_page_pref = | 1965 const PrefService::Preference* home_page_is_new_tab_page_pref = |
1964 prefs->FindPreference(prefs::kHomePageIsNewTabPage); | 1966 prefs->FindPreference(prefs::kHomePageIsNewTabPage); |
1965 if (home_page_is_new_tab_page_pref && | 1967 if (home_page_is_new_tab_page_pref && |
1966 !home_page_is_new_tab_page_pref->IsManaged() && | 1968 !home_page_is_new_tab_page_pref->IsManaged() && |
1967 !prefs->HasPrefPath(prefs::kHomePageIsNewTabPage)) | 1969 !prefs->HasPrefPath(prefs::kHomePageIsNewTabPage)) |
1968 prefs->SetBoolean(prefs::kHomePageIsNewTabPage, false); | 1970 prefs->SetBoolean(prefs::kHomePageIsNewTabPage, false); |
1969 } | 1971 } |
1970 | 1972 |
1971 // static | 1973 // static |
1972 void Browser::RegisterPrefs(PrefService* prefs) { | 1974 void Browser::RegisterPrefs(PrefService* prefs) { |
1973 prefs->RegisterDictionaryPref(prefs::kBrowserWindowPlacement); | |
1974 prefs->RegisterIntegerPref(prefs::kOptionsWindowLastTabIndex, 0); | 1975 prefs->RegisterIntegerPref(prefs::kOptionsWindowLastTabIndex, 0); |
1975 prefs->RegisterIntegerPref(prefs::kDevToolsSplitLocation, -1); | |
1976 prefs->RegisterDictionaryPref(prefs::kPreferencesWindowPlacement); | 1976 prefs->RegisterDictionaryPref(prefs::kPreferencesWindowPlacement); |
1977 prefs->RegisterIntegerPref(prefs::kExtensionSidebarWidth, -1); | 1977 prefs->RegisterIntegerPref(prefs::kExtensionSidebarWidth, -1); |
1978 // Educated guess: Chrome has a bundled Flash version supporting | 1978 // Educated guess: Chrome has a bundled Flash version supporting |
1979 // clearing LSO data, Chromium hasn't. | 1979 // clearing LSO data, Chromium hasn't. |
1980 #if defined(GOOGLE_CHROME_BUILD) | 1980 #if defined(GOOGLE_CHROME_BUILD) |
1981 prefs->RegisterBooleanPref(prefs::kClearPluginLSODataEnabled, true); | 1981 prefs->RegisterBooleanPref(prefs::kClearPluginLSODataEnabled, true); |
1982 #else | 1982 #else |
1983 prefs->RegisterBooleanPref(prefs::kClearPluginLSODataEnabled, false); | 1983 prefs->RegisterBooleanPref(prefs::kClearPluginLSODataEnabled, false); |
1984 #endif | 1984 #endif |
1985 } | 1985 } |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2017 prefs->RegisterBooleanPref(prefs::kShowOmniboxSearchHint, true); | 2017 prefs->RegisterBooleanPref(prefs::kShowOmniboxSearchHint, true); |
2018 prefs->RegisterBooleanPref(prefs::kWebAppCreateOnDesktop, true); | 2018 prefs->RegisterBooleanPref(prefs::kWebAppCreateOnDesktop, true); |
2019 prefs->RegisterBooleanPref(prefs::kWebAppCreateInAppsMenu, true); | 2019 prefs->RegisterBooleanPref(prefs::kWebAppCreateInAppsMenu, true); |
2020 prefs->RegisterBooleanPref(prefs::kWebAppCreateInQuickLaunchBar, true); | 2020 prefs->RegisterBooleanPref(prefs::kWebAppCreateInQuickLaunchBar, true); |
2021 prefs->RegisterBooleanPref(prefs::kUseVerticalTabs, false); | 2021 prefs->RegisterBooleanPref(prefs::kUseVerticalTabs, false); |
2022 prefs->RegisterBooleanPref(prefs::kEnableTranslate, true); | 2022 prefs->RegisterBooleanPref(prefs::kEnableTranslate, true); |
2023 prefs->RegisterBooleanPref(prefs::kRemotingHasSetupCompleted, false); | 2023 prefs->RegisterBooleanPref(prefs::kRemotingHasSetupCompleted, false); |
2024 prefs->RegisterStringPref(prefs::kCloudPrintEmail, std::string()); | 2024 prefs->RegisterStringPref(prefs::kCloudPrintEmail, std::string()); |
2025 prefs->RegisterBooleanPref(prefs::kDevToolsDisabled, false); | 2025 prefs->RegisterBooleanPref(prefs::kDevToolsDisabled, false); |
2026 prefs->RegisterRealPref(prefs::kDefaultZoomLevel, 0.0); | 2026 prefs->RegisterRealPref(prefs::kDefaultZoomLevel, 0.0); |
| 2027 prefs->RegisterIntegerPref(prefs::kDevToolsSplitLocation, -1); |
| 2028 prefs->RegisterDictionaryPref(prefs::kBrowserWindowPlacement); |
2027 prefs->RegisterIntegerPref(prefs::kMultipleProfilePrefMigration, 0); | 2029 prefs->RegisterIntegerPref(prefs::kMultipleProfilePrefMigration, 0); |
2028 // We need to register the type of this preference in order to query | 2030 // We need to register the type of this preference in order to query |
2029 // it even though it's only typically controlled via policy. | 2031 // it even though it's only typically controlled via policy. |
2030 prefs->RegisterBooleanPref(prefs::kDisable3DAPIs, false); | 2032 prefs->RegisterBooleanPref(prefs::kDisable3DAPIs, false); |
2031 } | 2033 } |
2032 | 2034 |
2033 // static | 2035 // static |
2034 bool Browser::RunUnloadEventsHelper(TabContents* contents) { | 2036 bool Browser::RunUnloadEventsHelper(TabContents* contents) { |
2035 // If the TabContents is not connected yet, then there's no unload | 2037 // If the TabContents is not connected yet, then there's no unload |
2036 // handler we can fire even if the TabContents has an unload listener. | 2038 // handler we can fire even if the TabContents has an unload listener. |
(...skipping 2065 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4102 | 4104 |
4103 // Only register once for each app name. | 4105 // Only register once for each app name. |
4104 if (g_app_names->find(app_name) != g_app_names->end()) | 4106 if (g_app_names->find(app_name) != g_app_names->end()) |
4105 return; | 4107 return; |
4106 g_app_names->insert(app_name); | 4108 g_app_names->insert(app_name); |
4107 | 4109 |
4108 // We need to register the window position pref. | 4110 // We need to register the window position pref. |
4109 std::string window_pref(prefs::kBrowserWindowPlacement); | 4111 std::string window_pref(prefs::kBrowserWindowPlacement); |
4110 window_pref.append("_"); | 4112 window_pref.append("_"); |
4111 window_pref.append(app_name); | 4113 window_pref.append(app_name); |
4112 PrefService* prefs = g_browser_process->local_state(); | 4114 ProfileManager* profile_manager = g_browser_process->profile_manager(); |
4113 DCHECK(prefs); | 4115 if (profile_manager) { |
4114 | 4116 profile_manager->GetDefaultProfile()->GetPrefs()->RegisterDictionaryPref( |
4115 prefs->RegisterDictionaryPref(window_pref.c_str()); | 4117 window_pref.c_str()); |
| 4118 } else { |
| 4119 NOTREACHED() << "browser process does not have a ProfileManager."; |
| 4120 } |
4116 } | 4121 } |
4117 | 4122 |
4118 void Browser::TabRestoreServiceChanged(TabRestoreService* service) { | 4123 void Browser::TabRestoreServiceChanged(TabRestoreService* service) { |
4119 command_updater_.UpdateCommandEnabled(IDC_RESTORE_TAB, | 4124 command_updater_.UpdateCommandEnabled(IDC_RESTORE_TAB, |
4120 !service->entries().empty()); | 4125 !service->entries().empty()); |
4121 } | 4126 } |
4122 | 4127 |
4123 void Browser::TabRestoreServiceDestroyed(TabRestoreService* service) { | 4128 void Browser::TabRestoreServiceDestroyed(TabRestoreService* service) { |
4124 if (!tab_restore_service_) | 4129 if (!tab_restore_service_) |
4125 return; | 4130 return; |
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4237 // The page transition below is only for the purpose of inserting the tab. | 4242 // The page transition below is only for the purpose of inserting the tab. |
4238 browser->AddTab(view_source_contents, PageTransition::LINK); | 4243 browser->AddTab(view_source_contents, PageTransition::LINK); |
4239 } | 4244 } |
4240 | 4245 |
4241 if (profile_->HasSessionService()) { | 4246 if (profile_->HasSessionService()) { |
4242 SessionService* session_service = profile_->GetSessionService(); | 4247 SessionService* session_service = profile_->GetSessionService(); |
4243 if (session_service) | 4248 if (session_service) |
4244 session_service->TabRestored(&view_source_contents->controller(), false); | 4249 session_service->TabRestored(&view_source_contents->controller(), false); |
4245 } | 4250 } |
4246 } | 4251 } |
OLD | NEW |