| 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 2071 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2082 #if defined(GOOGLE_CHROME_BUILD) | 2082 #if defined(GOOGLE_CHROME_BUILD) |
| 2083 prefs->RegisterBooleanPref(prefs::kClearPluginLSODataEnabled, true); | 2083 prefs->RegisterBooleanPref(prefs::kClearPluginLSODataEnabled, true); |
| 2084 #else | 2084 #else |
| 2085 prefs->RegisterBooleanPref(prefs::kClearPluginLSODataEnabled, false); | 2085 prefs->RegisterBooleanPref(prefs::kClearPluginLSODataEnabled, false); |
| 2086 #endif | 2086 #endif |
| 2087 } | 2087 } |
| 2088 | 2088 |
| 2089 // static | 2089 // static |
| 2090 void Browser::RegisterUserPrefs(PrefService* prefs) { | 2090 void Browser::RegisterUserPrefs(PrefService* prefs) { |
| 2091 prefs->RegisterStringPref(prefs::kHomePage, | 2091 prefs->RegisterStringPref(prefs::kHomePage, |
| 2092 chrome::kChromeUINewTabURL); | 2092 chrome::kChromeUINewTabURL, |
| 2093 prefs->RegisterBooleanPref(prefs::kHomePageIsNewTabPage, true); | 2093 PrefService::SYNCABLE_PREF); |
| 2094 prefs->RegisterBooleanPref(prefs::kShowHomeButton, false); | 2094 prefs->RegisterBooleanPref(prefs::kHomePageIsNewTabPage, |
| 2095 true, |
| 2096 PrefService::SYNCABLE_PREF); |
| 2097 prefs->RegisterBooleanPref(prefs::kShowHomeButton, |
| 2098 false, |
| 2099 PrefService::SYNCABLE_PREF); |
| 2095 #if defined(OS_MACOSX) | 2100 #if defined(OS_MACOSX) |
| 2096 // This really belongs in platform code, but there's no good place to | 2101 // This really belongs in platform code, but there's no good place to |
| 2097 // initialize it between the time when the AppController is created | 2102 // initialize it between the time when the AppController is created |
| 2098 // (where there's no profile) and the time the controller gets another | 2103 // (where there's no profile) and the time the controller gets another |
| 2099 // crack at the start of the main event loop. By that time, BrowserInit | 2104 // crack at the start of the main event loop. By that time, BrowserInit |
| 2100 // has already created the browser window, and it's too late: we need the | 2105 // has already created the browser window, and it's too late: we need the |
| 2101 // pref to be already initialized. Doing it here also saves us from having | 2106 // pref to be already initialized. Doing it here also saves us from having |
| 2102 // to hard-code pref registration in the several unit tests that use | 2107 // to hard-code pref registration in the several unit tests that use |
| 2103 // this preference. | 2108 // this preference. |
| 2104 prefs->RegisterBooleanPref(prefs::kConfirmToQuitEnabled, false); | 2109 prefs->RegisterBooleanPref(prefs::kConfirmToQuitEnabled, |
| 2105 prefs->RegisterBooleanPref(prefs::kShowUpdatePromotionInfoBar, true); | 2110 false, |
| 2111 PrefService::SYNCABLE_PREF); |
| 2112 prefs->RegisterBooleanPref(prefs::kShowUpdatePromotionInfoBar, |
| 2113 true, |
| 2114 PrefService::UNSYNCABLE_PREF); |
| 2106 #endif | 2115 #endif |
| 2107 prefs->RegisterBooleanPref(prefs::kDeleteBrowsingHistory, true); | 2116 prefs->RegisterBooleanPref(prefs::kDeleteBrowsingHistory, |
| 2108 prefs->RegisterBooleanPref(prefs::kDeleteDownloadHistory, true); | 2117 true, |
| 2109 prefs->RegisterBooleanPref(prefs::kDeleteCache, true); | 2118 PrefService::SYNCABLE_PREF); |
| 2110 prefs->RegisterBooleanPref(prefs::kDeleteCookies, true); | 2119 prefs->RegisterBooleanPref(prefs::kDeleteDownloadHistory, |
| 2111 prefs->RegisterBooleanPref(prefs::kDeletePasswords, false); | 2120 true, |
| 2112 prefs->RegisterBooleanPref(prefs::kDeleteFormData, false); | 2121 PrefService::SYNCABLE_PREF); |
| 2113 prefs->RegisterIntegerPref(prefs::kDeleteTimePeriod, 0); | 2122 prefs->RegisterBooleanPref(prefs::kDeleteCache, |
| 2114 prefs->RegisterBooleanPref(prefs::kCheckDefaultBrowser, true); | 2123 true, |
| 2115 prefs->RegisterBooleanPref(prefs::kShowOmniboxSearchHint, true); | 2124 PrefService::SYNCABLE_PREF); |
| 2116 prefs->RegisterBooleanPref(prefs::kWebAppCreateOnDesktop, true); | 2125 prefs->RegisterBooleanPref(prefs::kDeleteCookies, |
| 2117 prefs->RegisterBooleanPref(prefs::kWebAppCreateInAppsMenu, true); | 2126 true, |
| 2118 prefs->RegisterBooleanPref(prefs::kWebAppCreateInQuickLaunchBar, true); | 2127 PrefService::SYNCABLE_PREF); |
| 2119 prefs->RegisterBooleanPref(prefs::kUseVerticalTabs, false); | 2128 prefs->RegisterBooleanPref(prefs::kDeletePasswords, |
| 2120 prefs->RegisterBooleanPref(prefs::kEnableTranslate, true); | 2129 false, |
| 2121 prefs->RegisterBooleanPref(prefs::kEnableBookmarkBar, true); | 2130 PrefService::SYNCABLE_PREF); |
| 2122 prefs->RegisterBooleanPref(prefs::kRemotingHasSetupCompleted, false); | 2131 prefs->RegisterBooleanPref(prefs::kDeleteFormData, |
| 2123 prefs->RegisterBooleanPref(prefs::kChromotingEnabled, false); | 2132 false, |
| 2124 prefs->RegisterBooleanPref(prefs::kChromotingHostEnabled, false); | 2133 PrefService::SYNCABLE_PREF); |
| 2125 prefs->RegisterBooleanPref(prefs::kChromotingHostFirewallTraversal, false); | 2134 prefs->RegisterIntegerPref(prefs::kDeleteTimePeriod, |
| 2126 prefs->RegisterStringPref(prefs::kCloudPrintEmail, std::string()); | 2135 0, |
| 2127 prefs->RegisterBooleanPref(prefs::kCloudPrintProxyEnabled, true); | 2136 PrefService::SYNCABLE_PREF); |
| 2128 prefs->RegisterBooleanPref(prefs::kDevToolsDisabled, false); | 2137 prefs->RegisterBooleanPref(prefs::kCheckDefaultBrowser, |
| 2129 prefs->RegisterBooleanPref(prefs::kIncognitoEnabled, true); | 2138 true, |
| 2130 prefs->RegisterIntegerPref(prefs::kDevToolsSplitLocation, -1); | 2139 PrefService::UNSYNCABLE_PREF); |
| 2131 prefs->RegisterDictionaryPref(prefs::kBrowserWindowPlacement); | 2140 prefs->RegisterBooleanPref(prefs::kShowOmniboxSearchHint, |
| 2132 prefs->RegisterDictionaryPref(prefs::kPreferencesWindowPlacement); | 2141 true, |
| 2142 PrefService::UNSYNCABLE_PREF); |
| 2143 prefs->RegisterBooleanPref(prefs::kWebAppCreateOnDesktop, |
| 2144 true, |
| 2145 PrefService::UNSYNCABLE_PREF); |
| 2146 prefs->RegisterBooleanPref(prefs::kWebAppCreateInAppsMenu, |
| 2147 true, |
| 2148 PrefService::UNSYNCABLE_PREF); |
| 2149 prefs->RegisterBooleanPref(prefs::kWebAppCreateInQuickLaunchBar, |
| 2150 true, |
| 2151 PrefService::UNSYNCABLE_PREF); |
| 2152 prefs->RegisterBooleanPref(prefs::kUseVerticalTabs, |
| 2153 false, |
| 2154 PrefService::UNSYNCABLE_PREF); |
| 2155 prefs->RegisterBooleanPref(prefs::kEnableTranslate, |
| 2156 true, |
| 2157 PrefService::SYNCABLE_PREF); |
| 2158 prefs->RegisterBooleanPref(prefs::kEnableBookmarkBar, |
| 2159 true, |
| 2160 PrefService::UNSYNCABLE_PREF); |
| 2161 prefs->RegisterBooleanPref(prefs::kRemotingHasSetupCompleted, |
| 2162 false, |
| 2163 PrefService::UNSYNCABLE_PREF); |
| 2164 prefs->RegisterBooleanPref(prefs::kChromotingEnabled, |
| 2165 false, |
| 2166 PrefService::UNSYNCABLE_PREF); |
| 2167 prefs->RegisterBooleanPref(prefs::kChromotingHostEnabled, |
| 2168 false, |
| 2169 PrefService::UNSYNCABLE_PREF); |
| 2170 prefs->RegisterBooleanPref(prefs::kChromotingHostFirewallTraversal, |
| 2171 false, |
| 2172 PrefService::UNSYNCABLE_PREF); |
| 2173 prefs->RegisterStringPref(prefs::kCloudPrintEmail, |
| 2174 std::string(), |
| 2175 PrefService::UNSYNCABLE_PREF); |
| 2176 prefs->RegisterBooleanPref(prefs::kCloudPrintProxyEnabled, |
| 2177 true, |
| 2178 PrefService::UNSYNCABLE_PREF); |
| 2179 prefs->RegisterBooleanPref(prefs::kDevToolsDisabled, |
| 2180 false, |
| 2181 PrefService::UNSYNCABLE_PREF); |
| 2182 prefs->RegisterBooleanPref(prefs::kIncognitoEnabled, |
| 2183 true, |
| 2184 PrefService::UNSYNCABLE_PREF); |
| 2185 prefs->RegisterIntegerPref(prefs::kDevToolsSplitLocation, |
| 2186 -1, |
| 2187 PrefService::UNSYNCABLE_PREF); |
| 2188 prefs->RegisterDictionaryPref(prefs::kBrowserWindowPlacement, |
| 2189 PrefService::UNSYNCABLE_PREF); |
| 2190 prefs->RegisterDictionaryPref(prefs::kPreferencesWindowPlacement, |
| 2191 PrefService::UNSYNCABLE_PREF); |
| 2133 // We need to register the type of these preferences in order to query | 2192 // We need to register the type of these preferences in order to query |
| 2134 // them even though they're typically only controlled via policy or command | 2193 // them even though they're only typically controlled via policy. |
| 2135 // line switches. | 2194 prefs->RegisterBooleanPref(prefs::kDisable3DAPIs, |
| 2136 prefs->RegisterBooleanPref(prefs::kDisable3DAPIs, false); | 2195 false, |
| 2137 prefs->RegisterBooleanPref(prefs::kPluginsAllowOutdated, false); | 2196 PrefService::UNSYNCABLE_PREF); |
| 2138 prefs->RegisterBooleanPref(prefs::kPluginsAlwaysAuthorize, false); | 2197 prefs->RegisterBooleanPref(prefs::kPluginsAllowOutdated, |
| 2139 prefs->RegisterBooleanPref(prefs::kEnableHyperlinkAuditing, true); | 2198 false, |
| 2140 prefs->RegisterBooleanPref(prefs::kEnableReferrers, true); | 2199 PrefService::UNSYNCABLE_PREF); |
| 2141 prefs->RegisterBooleanPref(prefs::kWebKitAllowRunningInsecureContent, false); | 2200 prefs->RegisterBooleanPref(prefs::kPluginsAlwaysAuthorize, |
| 2201 false, |
| 2202 PrefService::UNSYNCABLE_PREF); |
| 2203 prefs->RegisterBooleanPref(prefs::kEnableHyperlinkAuditing, |
| 2204 true, |
| 2205 PrefService::UNSYNCABLE_PREF); |
| 2206 prefs->RegisterBooleanPref(prefs::kEnableReferrers, |
| 2207 true, |
| 2208 PrefService::UNSYNCABLE_PREF); |
| 2209 prefs->RegisterBooleanPref(prefs::kWebKitAllowRunningInsecureContent, |
| 2210 false, |
| 2211 PrefService::UNSYNCABLE_PREF); |
| 2142 prefs->RegisterBooleanPref(prefs::kWebKitAllowDisplayingInsecureContent, | 2212 prefs->RegisterBooleanPref(prefs::kWebKitAllowDisplayingInsecureContent, |
| 2143 true); | 2213 true, |
| 2214 PrefService::UNSYNCABLE_PREF); |
| 2144 } | 2215 } |
| 2145 | 2216 |
| 2146 // static | 2217 // static |
| 2147 bool Browser::RunUnloadEventsHelper(TabContents* contents) { | 2218 bool Browser::RunUnloadEventsHelper(TabContents* contents) { |
| 2148 // If the TabContents is not connected yet, then there's no unload | 2219 // If the TabContents is not connected yet, then there's no unload |
| 2149 // handler we can fire even if the TabContents has an unload listener. | 2220 // handler we can fire even if the TabContents has an unload listener. |
| 2150 // One case where we hit this is in a tab that has an infinite loop | 2221 // One case where we hit this is in a tab that has an infinite loop |
| 2151 // before load. | 2222 // before load. |
| 2152 if (contents->NeedToFireBeforeUnload()) { | 2223 if (contents->NeedToFireBeforeUnload()) { |
| 2153 // If the page has unload listeners, then we tell the renderer to fire | 2224 // If the page has unload listeners, then we tell the renderer to fire |
| (...skipping 2202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4356 Source<TabContents>(contents->tab_contents())); | 4427 Source<TabContents>(contents->tab_contents())); |
| 4357 } | 4428 } |
| 4358 | 4429 |
| 4359 // static | 4430 // static |
| 4360 void Browser::RegisterAppPrefs(const std::string& app_name, Profile* profile) { | 4431 void Browser::RegisterAppPrefs(const std::string& app_name, Profile* profile) { |
| 4361 // We need to register the window position pref. | 4432 // We need to register the window position pref. |
| 4362 std::string window_pref(prefs::kBrowserWindowPlacement); | 4433 std::string window_pref(prefs::kBrowserWindowPlacement); |
| 4363 window_pref.append("_"); | 4434 window_pref.append("_"); |
| 4364 window_pref.append(app_name); | 4435 window_pref.append(app_name); |
| 4365 PrefService* prefs = profile->GetPrefs(); | 4436 PrefService* prefs = profile->GetPrefs(); |
| 4366 if (!prefs->FindPreference(window_pref.c_str())) | 4437 if (!prefs->FindPreference(window_pref.c_str())) { |
| 4367 prefs->RegisterDictionaryPref(window_pref.c_str()); | 4438 prefs->RegisterDictionaryPref(window_pref.c_str(), |
| 4439 PrefService::UNSYNCABLE_PREF); |
| 4440 } |
| 4368 } | 4441 } |
| 4369 | 4442 |
| 4370 void Browser::TabRestoreServiceChanged(TabRestoreService* service) { | 4443 void Browser::TabRestoreServiceChanged(TabRestoreService* service) { |
| 4371 command_updater_.UpdateCommandEnabled(IDC_RESTORE_TAB, | 4444 command_updater_.UpdateCommandEnabled(IDC_RESTORE_TAB, |
| 4372 !service->entries().empty()); | 4445 !service->entries().empty()); |
| 4373 } | 4446 } |
| 4374 | 4447 |
| 4375 void Browser::TabRestoreServiceDestroyed(TabRestoreService* service) { | 4448 void Browser::TabRestoreServiceDestroyed(TabRestoreService* service) { |
| 4376 if (!tab_restore_service_) | 4449 if (!tab_restore_service_) |
| 4377 return; | 4450 return; |
| (...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4511 TabContents* current_tab = GetSelectedTabContents(); | 4584 TabContents* current_tab = GetSelectedTabContents(); |
| 4512 if (current_tab) { | 4585 if (current_tab) { |
| 4513 content_restrictions = current_tab->content_restrictions(); | 4586 content_restrictions = current_tab->content_restrictions(); |
| 4514 NavigationEntry* active_entry = current_tab->controller().GetActiveEntry(); | 4587 NavigationEntry* active_entry = current_tab->controller().GetActiveEntry(); |
| 4515 // See comment in UpdateCommandsForTabState about why we call url(). | 4588 // See comment in UpdateCommandsForTabState about why we call url(). |
| 4516 if (!SavePackage::IsSavableURL(active_entry ? active_entry->url() : GURL())) | 4589 if (!SavePackage::IsSavableURL(active_entry ? active_entry->url() : GURL())) |
| 4517 content_restrictions |= CONTENT_RESTRICTION_SAVE; | 4590 content_restrictions |= CONTENT_RESTRICTION_SAVE; |
| 4518 } | 4591 } |
| 4519 return content_restrictions; | 4592 return content_restrictions; |
| 4520 } | 4593 } |
| OLD | NEW |