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/off_the_record_profile_impl.h" | 5 #include "chrome/browser/profiles/off_the_record_profile_impl.h" |
6 | 6 |
7 #include <memory> | 7 #include <memory> |
8 #include <utility> | 8 #include <utility> |
9 | 9 |
10 #include "base/bind.h" | 10 #include "base/bind.h" |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
49 #include "components/proxy_config/pref_proxy_config_tracker.h" | 49 #include "components/proxy_config/pref_proxy_config_tracker.h" |
50 #include "components/sync_preferences/pref_service_syncable.h" | 50 #include "components/sync_preferences/pref_service_syncable.h" |
51 #include "components/user_prefs/user_prefs.h" | 51 #include "components/user_prefs/user_prefs.h" |
52 #include "components/zoom/zoom_event_manager.h" | 52 #include "components/zoom/zoom_event_manager.h" |
53 #include "content/public/browser/browser_thread.h" | 53 #include "content/public/browser/browser_thread.h" |
54 #include "content/public/browser/host_zoom_map.h" | 54 #include "content/public/browser/host_zoom_map.h" |
55 #include "content/public/browser/render_process_host.h" | 55 #include "content/public/browser/render_process_host.h" |
56 #include "content/public/browser/storage_partition.h" | 56 #include "content/public/browser/storage_partition.h" |
57 #include "content/public/browser/url_data_source.h" | 57 #include "content/public/browser/url_data_source.h" |
58 #include "content/public/browser/web_contents.h" | 58 #include "content/public/browser/web_contents.h" |
| 59 #include "extensions/features/features.h" |
59 #include "net/http/http_server_properties.h" | 60 #include "net/http/http_server_properties.h" |
60 #include "net/http/transport_security_state.h" | 61 #include "net/http/transport_security_state.h" |
61 #include "storage/browser/database/database_tracker.h" | 62 #include "storage/browser/database/database_tracker.h" |
62 | 63 |
63 #if defined(OS_ANDROID) | 64 #if defined(OS_ANDROID) |
64 #include "components/prefs/scoped_user_pref_update.h" | 65 #include "components/prefs/scoped_user_pref_update.h" |
65 #include "components/proxy_config/proxy_prefs.h" | 66 #include "components/proxy_config/proxy_prefs.h" |
66 #endif // defined(OS_ANDROID) | 67 #endif // defined(OS_ANDROID) |
67 | 68 |
68 #if defined(OS_CHROMEOS) | 69 #if defined(OS_CHROMEOS) |
69 #include "chrome/browser/chromeos/preferences.h" | 70 #include "chrome/browser/chromeos/preferences.h" |
70 #include "chrome/browser/chromeos/profiles/profile_helper.h" | 71 #include "chrome/browser/chromeos/profiles/profile_helper.h" |
71 #endif | 72 #endif |
72 | 73 |
73 #if !defined(OS_CHROMEOS) | 74 #if !defined(OS_CHROMEOS) |
74 #include "chrome/browser/policy/cloud/user_cloud_policy_manager_factory.h" | 75 #include "chrome/browser/policy/cloud/user_cloud_policy_manager_factory.h" |
75 #endif | 76 #endif |
76 | 77 |
77 #if defined(ENABLE_EXTENSIONS) | 78 #if BUILDFLAG(ENABLE_EXTENSIONS) |
78 #include "chrome/browser/extensions/extension_service.h" | 79 #include "chrome/browser/extensions/extension_service.h" |
79 #include "chrome/browser/extensions/extension_special_storage_policy.h" | 80 #include "chrome/browser/extensions/extension_special_storage_policy.h" |
80 #include "components/guest_view/browser/guest_view_manager.h" | 81 #include "components/guest_view/browser/guest_view_manager.h" |
81 #include "extensions/browser/api/web_request/web_request_api.h" | 82 #include "extensions/browser/api/web_request/web_request_api.h" |
82 #include "extensions/browser/extension_system.h" | 83 #include "extensions/browser/extension_system.h" |
83 #include "extensions/common/extension.h" | 84 #include "extensions/common/extension.h" |
84 #endif | 85 #endif |
85 | 86 |
86 #if BUILDFLAG(ENABLE_SUPERVISED_USERS) | 87 #if BUILDFLAG(ENABLE_SUPERVISED_USERS) |
87 #include "chrome/browser/content_settings/content_settings_supervised_provider.h
" | 88 #include "chrome/browser/content_settings/content_settings_supervised_provider.h
" |
88 #include "chrome/browser/supervised_user/supervised_user_settings_service.h" | 89 #include "chrome/browser/supervised_user/supervised_user_settings_service.h" |
89 #include "chrome/browser/supervised_user/supervised_user_settings_service_factor
y.h" | 90 #include "chrome/browser/supervised_user/supervised_user_settings_service_factor
y.h" |
90 #endif | 91 #endif |
91 | 92 |
92 using content::BrowserThread; | 93 using content::BrowserThread; |
93 using content::DownloadManagerDelegate; | 94 using content::DownloadManagerDelegate; |
94 using content::HostZoomMap; | 95 using content::HostZoomMap; |
95 | 96 |
96 #if defined(ENABLE_EXTENSIONS) | 97 #if BUILDFLAG(ENABLE_EXTENSIONS) |
97 namespace { | 98 namespace { |
98 | 99 |
99 void NotifyOTRProfileCreatedOnIOThread(void* original_profile, | 100 void NotifyOTRProfileCreatedOnIOThread(void* original_profile, |
100 void* otr_profile) { | 101 void* otr_profile) { |
101 extensions::ExtensionWebRequestEventRouter::GetInstance() | 102 extensions::ExtensionWebRequestEventRouter::GetInstance() |
102 ->OnOTRBrowserContextCreated(original_profile, otr_profile); | 103 ->OnOTRBrowserContextCreated(original_profile, otr_profile); |
103 } | 104 } |
104 | 105 |
105 void NotifyOTRProfileDestroyedOnIOThread(void* original_profile, | 106 void NotifyOTRProfileDestroyedOnIOThread(void* original_profile, |
106 void* otr_profile) { | 107 void* otr_profile) { |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
146 IncognitoModePrefs::GetAvailability(profile_->GetPrefs()) != | 147 IncognitoModePrefs::GetAvailability(profile_->GetPrefs()) != |
147 IncognitoModePrefs::DISABLED); | 148 IncognitoModePrefs::DISABLED); |
148 | 149 |
149 TrackZoomLevelsFromParent(); | 150 TrackZoomLevelsFromParent(); |
150 | 151 |
151 #if defined(ENABLE_PLUGINS) | 152 #if defined(ENABLE_PLUGINS) |
152 ChromePluginServiceFilter::GetInstance()->RegisterResourceContext( | 153 ChromePluginServiceFilter::GetInstance()->RegisterResourceContext( |
153 this, io_data_->GetResourceContextNoInit()); | 154 this, io_data_->GetResourceContextNoInit()); |
154 #endif | 155 #endif |
155 | 156 |
156 #if defined(ENABLE_EXTENSIONS) | 157 #if BUILDFLAG(ENABLE_EXTENSIONS) |
157 // Make the chrome//extension-icon/ resource available. | 158 // Make the chrome//extension-icon/ resource available. |
158 extensions::ExtensionIconSource* icon_source = | 159 extensions::ExtensionIconSource* icon_source = |
159 new extensions::ExtensionIconSource(profile_); | 160 new extensions::ExtensionIconSource(profile_); |
160 content::URLDataSource::Add(this, icon_source); | 161 content::URLDataSource::Add(this, icon_source); |
161 | 162 |
162 BrowserThread::PostTask( | 163 BrowserThread::PostTask( |
163 BrowserThread::IO, FROM_HERE, | 164 BrowserThread::IO, FROM_HERE, |
164 base::Bind(&NotifyOTRProfileCreatedOnIOThread, profile_, this)); | 165 base::Bind(&NotifyOTRProfileCreatedOnIOThread, profile_, this)); |
165 #endif | 166 #endif |
166 | 167 |
167 // The DomDistillerViewerSource is not a normal WebUI so it must be registered | 168 // The DomDistillerViewerSource is not a normal WebUI so it must be registered |
168 // as a URLDataSource early. | 169 // as a URLDataSource early. |
169 dom_distiller::RegisterViewerSource(this); | 170 dom_distiller::RegisterViewerSource(this); |
170 } | 171 } |
171 | 172 |
172 OffTheRecordProfileImpl::~OffTheRecordProfileImpl() { | 173 OffTheRecordProfileImpl::~OffTheRecordProfileImpl() { |
173 MaybeSendDestroyedNotification(); | 174 MaybeSendDestroyedNotification(); |
174 | 175 |
175 #if defined(ENABLE_PLUGINS) | 176 #if defined(ENABLE_PLUGINS) |
176 ChromePluginServiceFilter::GetInstance()->UnregisterResourceContext( | 177 ChromePluginServiceFilter::GetInstance()->UnregisterResourceContext( |
177 io_data_->GetResourceContextNoInit()); | 178 io_data_->GetResourceContextNoInit()); |
178 #endif | 179 #endif |
179 | 180 |
180 BrowserContextDependencyManager::GetInstance()->DestroyBrowserContextServices( | 181 BrowserContextDependencyManager::GetInstance()->DestroyBrowserContextServices( |
181 this); | 182 this); |
182 | 183 |
183 #if defined(ENABLE_EXTENSIONS) | 184 #if BUILDFLAG(ENABLE_EXTENSIONS) |
184 BrowserThread::PostTask( | 185 BrowserThread::PostTask( |
185 BrowserThread::IO, FROM_HERE, | 186 BrowserThread::IO, FROM_HERE, |
186 base::Bind(&NotifyOTRProfileDestroyedOnIOThread, profile_, this)); | 187 base::Bind(&NotifyOTRProfileDestroyedOnIOThread, profile_, this)); |
187 #endif | 188 #endif |
188 | 189 |
189 if (pref_proxy_config_tracker_) | 190 if (pref_proxy_config_tracker_) |
190 pref_proxy_config_tracker_->DetachFromPrefService(); | 191 pref_proxy_config_tracker_->DetachFromPrefService(); |
191 | 192 |
192 // Clears any data the network stack contains that may be related to the | 193 // Clears any data the network stack contains that may be related to the |
193 // OTR session. | 194 // OTR session. |
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
358 | 359 |
359 content::ResourceContext* OffTheRecordProfileImpl::GetResourceContext() { | 360 content::ResourceContext* OffTheRecordProfileImpl::GetResourceContext() { |
360 return io_data_->GetResourceContext(); | 361 return io_data_->GetResourceContext(); |
361 } | 362 } |
362 | 363 |
363 net::SSLConfigService* OffTheRecordProfileImpl::GetSSLConfigService() { | 364 net::SSLConfigService* OffTheRecordProfileImpl::GetSSLConfigService() { |
364 return profile_->GetSSLConfigService(); | 365 return profile_->GetSSLConfigService(); |
365 } | 366 } |
366 | 367 |
367 content::BrowserPluginGuestManager* OffTheRecordProfileImpl::GetGuestManager() { | 368 content::BrowserPluginGuestManager* OffTheRecordProfileImpl::GetGuestManager() { |
368 #if defined(ENABLE_EXTENSIONS) | 369 #if BUILDFLAG(ENABLE_EXTENSIONS) |
369 return guest_view::GuestViewManager::FromBrowserContext(this); | 370 return guest_view::GuestViewManager::FromBrowserContext(this); |
370 #else | 371 #else |
371 return NULL; | 372 return NULL; |
372 #endif | 373 #endif |
373 } | 374 } |
374 | 375 |
375 storage::SpecialStoragePolicy* | 376 storage::SpecialStoragePolicy* |
376 OffTheRecordProfileImpl::GetSpecialStoragePolicy() { | 377 OffTheRecordProfileImpl::GetSpecialStoragePolicy() { |
377 #if defined(ENABLE_EXTENSIONS) | 378 #if BUILDFLAG(ENABLE_EXTENSIONS) |
378 return GetExtensionSpecialStoragePolicy(); | 379 return GetExtensionSpecialStoragePolicy(); |
379 #else | 380 #else |
380 return NULL; | 381 return NULL; |
381 #endif | 382 #endif |
382 } | 383 } |
383 | 384 |
384 content::PushMessagingService* | 385 content::PushMessagingService* |
385 OffTheRecordProfileImpl::GetPushMessagingService() { | 386 OffTheRecordProfileImpl::GetPushMessagingService() { |
386 // TODO(johnme): Support push messaging in incognito if possible. | 387 // TODO(johnme): Support push messaging in incognito if possible. |
387 return NULL; | 388 return NULL; |
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
552 PrefProxyConfigTracker* OffTheRecordProfileImpl::CreateProxyConfigTracker() { | 553 PrefProxyConfigTracker* OffTheRecordProfileImpl::CreateProxyConfigTracker() { |
553 #if defined(OS_CHROMEOS) | 554 #if defined(OS_CHROMEOS) |
554 if (chromeos::ProfileHelper::IsSigninProfile(this)) { | 555 if (chromeos::ProfileHelper::IsSigninProfile(this)) { |
555 return ProxyServiceFactory::CreatePrefProxyConfigTrackerOfLocalState( | 556 return ProxyServiceFactory::CreatePrefProxyConfigTrackerOfLocalState( |
556 g_browser_process->local_state()); | 557 g_browser_process->local_state()); |
557 } | 558 } |
558 #endif // defined(OS_CHROMEOS) | 559 #endif // defined(OS_CHROMEOS) |
559 return ProxyServiceFactory::CreatePrefProxyConfigTrackerOfProfile( | 560 return ProxyServiceFactory::CreatePrefProxyConfigTrackerOfProfile( |
560 GetPrefs(), g_browser_process->local_state()); | 561 GetPrefs(), g_browser_process->local_state()); |
561 } | 562 } |
OLD | NEW |