OLD | NEW |
---|---|
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/profiles/profile_io_data.h" | 5 #include "chrome/browser/profiles/profile_io_data.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 24 matching lines...) Expand all Loading... | |
35 #include "chrome/browser/extensions/extension_resource_protocols.h" | 35 #include "chrome/browser/extensions/extension_resource_protocols.h" |
36 #include "chrome/browser/io_thread.h" | 36 #include "chrome/browser/io_thread.h" |
37 #include "chrome/browser/media/media_device_id_salt.h" | 37 #include "chrome/browser/media/media_device_id_salt.h" |
38 #include "chrome/browser/net/about_protocol_handler.h" | 38 #include "chrome/browser/net/about_protocol_handler.h" |
39 #include "chrome/browser/net/chrome_fraudulent_certificate_reporter.h" | 39 #include "chrome/browser/net/chrome_fraudulent_certificate_reporter.h" |
40 #include "chrome/browser/net/chrome_http_user_agent_settings.h" | 40 #include "chrome/browser/net/chrome_http_user_agent_settings.h" |
41 #include "chrome/browser/net/chrome_net_log.h" | 41 #include "chrome/browser/net/chrome_net_log.h" |
42 #include "chrome/browser/net/chrome_network_delegate.h" | 42 #include "chrome/browser/net/chrome_network_delegate.h" |
43 #include "chrome/browser/net/cookie_store_util.h" | 43 #include "chrome/browser/net/cookie_store_util.h" |
44 #include "chrome/browser/net/proxy_service_factory.h" | 44 #include "chrome/browser/net/proxy_service_factory.h" |
45 #include "chrome/browser/prefs/incognito_mode_prefs.h" | |
45 #include "chrome/browser/profiles/profile.h" | 46 #include "chrome/browser/profiles/profile.h" |
46 #include "chrome/browser/profiles/profile_manager.h" | 47 #include "chrome/browser/profiles/profile_manager.h" |
47 #include "chrome/browser/signin/signin_names_io_thread.h" | 48 #include "chrome/browser/signin/signin_names_io_thread.h" |
48 #include "chrome/common/chrome_paths.h" | 49 #include "chrome/common/chrome_paths.h" |
49 #include "chrome/common/chrome_switches.h" | 50 #include "chrome/common/chrome_switches.h" |
50 #include "chrome/common/pref_names.h" | 51 #include "chrome/common/pref_names.h" |
51 #include "chrome/common/url_constants.h" | 52 #include "chrome/common/url_constants.h" |
52 #include "components/startup_metric_utils/startup_metric_utils.h" | 53 #include "components/startup_metric_utils/startup_metric_utils.h" |
53 #include "components/sync_driver/pref_names.h" | 54 #include "components/sync_driver/pref_names.h" |
54 #include "components/url_fixer/url_fixer.h" | 55 #include "components/url_fixer/url_fixer.h" |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
112 #include "net/cert/multi_threaded_cert_verifier.h" | 113 #include "net/cert/multi_threaded_cert_verifier.h" |
113 #include "net/ssl/client_cert_store_chromeos.h" | 114 #include "net/ssl/client_cert_store_chromeos.h" |
114 #endif // defined(OS_CHROMEOS) | 115 #endif // defined(OS_CHROMEOS) |
115 | 116 |
116 #if defined(USE_NSS) | 117 #if defined(USE_NSS) |
117 #include "chrome/browser/ui/crypto_module_delegate_nss.h" | 118 #include "chrome/browser/ui/crypto_module_delegate_nss.h" |
118 #include "net/ssl/client_cert_store_nss.h" | 119 #include "net/ssl/client_cert_store_nss.h" |
119 #endif | 120 #endif |
120 | 121 |
121 #if defined(OS_WIN) | 122 #if defined(OS_WIN) |
123 #include "base/win/metro.h" | |
122 #include "net/ssl/client_cert_store_win.h" | 124 #include "net/ssl/client_cert_store_win.h" |
123 #endif | 125 #endif |
124 | 126 |
125 #if defined(OS_MACOSX) | 127 #if defined(OS_MACOSX) |
126 #include "net/ssl/client_cert_store_mac.h" | 128 #include "net/ssl/client_cert_store_mac.h" |
127 #endif | 129 #endif |
128 | 130 |
131 #if defined(OS_ANDROID) | |
Bernhard Bauer
2014/06/17 09:15:45
Move this block before OS_WIN, so the #ifdef condi
guohui
2014/06/17 18:45:04
Done.
| |
132 #include "chrome/browser/android/chromium_application.h" | |
133 #endif // OS_ANDROID | |
134 | |
129 using content::BrowserContext; | 135 using content::BrowserContext; |
130 using content::BrowserThread; | 136 using content::BrowserThread; |
131 using content::ResourceContext; | 137 using content::ResourceContext; |
132 | 138 |
133 namespace { | 139 namespace { |
134 | 140 |
135 #if defined(DEBUG_DEVTOOLS) | 141 #if defined(DEBUG_DEVTOOLS) |
136 bool IsSupportedDevToolsURL(const GURL& url, base::FilePath* path) { | 142 bool IsSupportedDevToolsURL(const GURL& url, base::FilePath* path) { |
137 std::string bundled_path_prefix(chrome::kChromeUIDevToolsBundledPath); | 143 std::string bundled_path_prefix(chrome::kChromeUIDevToolsBundledPath); |
138 bundled_path_prefix = "/" + bundled_path_prefix + "/"; | 144 bundled_path_prefix = "/" + bundled_path_prefix + "/"; |
(...skipping 318 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
457 // Add policy headers for non-incognito requests. | 463 // Add policy headers for non-incognito requests. |
458 policy::PolicyHeaderService* policy_header_service = | 464 policy::PolicyHeaderService* policy_header_service = |
459 policy::PolicyHeaderServiceFactory::GetForBrowserContext(profile); | 465 policy::PolicyHeaderServiceFactory::GetForBrowserContext(profile); |
460 if (policy_header_service) { | 466 if (policy_header_service) { |
461 policy_header_helper_ = policy_header_service->CreatePolicyHeaderIOHelper( | 467 policy_header_helper_ = policy_header_service->CreatePolicyHeaderIOHelper( |
462 io_message_loop_proxy); | 468 io_message_loop_proxy); |
463 } | 469 } |
464 } | 470 } |
465 #endif | 471 #endif |
466 | 472 |
473 // Makes sure the cached variable for parental control is initialized. | |
474 IncognitoModePrefs::GetAvailability(profile->GetPrefs()); | |
mmenke
2014/06/16 23:25:11
Is there a reason we can't use a PrefMember to kee
Bernhard Bauer
2014/06/17 09:15:45
The value isn't always coming from PrefService (if
| |
467 incognito_availibility_pref_.Init( | 475 incognito_availibility_pref_.Init( |
468 prefs::kIncognitoModeAvailability, pref_service); | 476 prefs::kIncognitoModeAvailability, pref_service); |
469 incognito_availibility_pref_.MoveToThread(io_message_loop_proxy); | 477 incognito_availibility_pref_.MoveToThread(io_message_loop_proxy); |
470 | 478 |
471 initialized_on_UI_thread_ = true; | 479 initialized_on_UI_thread_ = true; |
472 | 480 |
473 // We need to make sure that content initializes its own data structures that | 481 // We need to make sure that content initializes its own data structures that |
474 // are associated with each ResourceContext because we might post this | 482 // are associated with each ResourceContext because we might post this |
475 // object to the IO thread after this function. | 483 // object to the IO thread after this function. |
476 BrowserContext::EnsureResourceContextInitialized(profile); | 484 BrowserContext::EnsureResourceContextInitialized(profile); |
(...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
745 | 753 |
746 ResourceContext::SaltCallback ProfileIOData::GetMediaDeviceIDSalt() const { | 754 ResourceContext::SaltCallback ProfileIOData::GetMediaDeviceIDSalt() const { |
747 return base::Bind(&MediaDeviceIDSalt::GetSalt, media_device_id_salt_); | 755 return base::Bind(&MediaDeviceIDSalt::GetSalt, media_device_id_salt_); |
748 } | 756 } |
749 | 757 |
750 bool ProfileIOData::IsOffTheRecord() const { | 758 bool ProfileIOData::IsOffTheRecord() const { |
751 return profile_type() == Profile::INCOGNITO_PROFILE | 759 return profile_type() == Profile::INCOGNITO_PROFILE |
752 || profile_type() == Profile::GUEST_PROFILE; | 760 || profile_type() == Profile::GUEST_PROFILE; |
753 } | 761 } |
754 | 762 |
763 bool ProfileIOData::ArePlatformParentalControlsEnabledCached() const { | |
Bernhard Bauer
2014/06/17 09:15:45
So... above we initialize the parental control set
guohui
2014/06/17 18:45:04
Done.
| |
764 #if defined(OS_WIN) | |
765 return base::win::IsParentalControlActivityLoggingOnCached(); | |
766 #elif defined(OS_ANDROID) | |
767 return chrome::android::ChromiumApplication::AreParentalControlsEnabled(); | |
768 #else | |
769 return false; | |
770 #endif | |
771 } | |
772 | |
755 void ProfileIOData::InitializeMetricsEnabledStateOnUIThread() { | 773 void ProfileIOData::InitializeMetricsEnabledStateOnUIThread() { |
756 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 774 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
757 #if defined(OS_CHROMEOS) | 775 #if defined(OS_CHROMEOS) |
758 // Just fetch the value from ChromeOS' settings while we're on the UI thread. | 776 // Just fetch the value from ChromeOS' settings while we're on the UI thread. |
759 // TODO(stevet): For now, this value is only set on profile initialization. | 777 // TODO(stevet): For now, this value is only set on profile initialization. |
760 // We will want to do something similar to the PrefMember method below in the | 778 // We will want to do something similar to the PrefMember method below in the |
761 // future to more accurately capture this state. | 779 // future to more accurately capture this state. |
762 chromeos::CrosSettings::Get()->GetBoolean(chromeos::kStatsReportingPref, | 780 chromeos::CrosSettings::Get()->GetBoolean(chromeos::kStatsReportingPref, |
763 &enable_metrics_); | 781 &enable_metrics_); |
764 #elif defined(OS_ANDROID) | 782 #elif defined(OS_ANDROID) |
(...skipping 426 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1191 void ProfileIOData::SetCookieSettingsForTesting( | 1209 void ProfileIOData::SetCookieSettingsForTesting( |
1192 CookieSettings* cookie_settings) { | 1210 CookieSettings* cookie_settings) { |
1193 DCHECK(!cookie_settings_.get()); | 1211 DCHECK(!cookie_settings_.get()); |
1194 cookie_settings_ = cookie_settings; | 1212 cookie_settings_ = cookie_settings; |
1195 } | 1213 } |
1196 | 1214 |
1197 void ProfileIOData::set_signin_names_for_testing( | 1215 void ProfileIOData::set_signin_names_for_testing( |
1198 SigninNamesOnIOThread* signin_names) { | 1216 SigninNamesOnIOThread* signin_names) { |
1199 signin_names_.reset(signin_names); | 1217 signin_names_.reset(signin_names); |
1200 } | 1218 } |
OLD | NEW |