| 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 |