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/profiles/profile_impl.h" | 5 #include "chrome/browser/profiles/profile_impl.h" |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/compiler_specific.h" | 8 #include "base/compiler_specific.h" |
9 #include "base/environment.h" | 9 #include "base/environment.h" |
10 #include "base/file_path.h" | 10 #include "base/file_path.h" |
(...skipping 322 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
333 | 333 |
334 FilePath media_cache_path = base_cache_path_; | 334 FilePath media_cache_path = base_cache_path_; |
335 int media_cache_max_size; | 335 int media_cache_max_size; |
336 GetCacheParameters(kMediaContext, &media_cache_path, &media_cache_max_size); | 336 GetCacheParameters(kMediaContext, &media_cache_path, &media_cache_max_size); |
337 media_cache_path = GetMediaCachePath(media_cache_path); | 337 media_cache_path = GetMediaCachePath(media_cache_path); |
338 | 338 |
339 FilePath extensions_cookie_path = GetPath(); | 339 FilePath extensions_cookie_path = GetPath(); |
340 extensions_cookie_path = | 340 extensions_cookie_path = |
341 extensions_cookie_path.Append(chrome::kExtensionsCookieFilename); | 341 extensions_cookie_path.Append(chrome::kExtensionsCookieFilename); |
342 | 342 |
| 343 FilePath app_path = GetPath().Append(chrome::kIsolatedAppStateDirname); |
| 344 |
343 // Make sure we initialize the ProfileIOData after everything else has been | 345 // Make sure we initialize the ProfileIOData after everything else has been |
344 // initialized that we might be reading from the IO thread. | 346 // initialized that we might be reading from the IO thread. |
345 io_data_.Init(cookie_path, cache_path, cache_max_size, | 347 io_data_.Init(cookie_path, cache_path, cache_max_size, |
346 media_cache_path, media_cache_max_size, extensions_cookie_path); | 348 media_cache_path, media_cache_max_size, extensions_cookie_path, |
| 349 app_path); |
347 | 350 |
348 // Initialize the ProfilePolicyConnector after |io_data_| since it requires | 351 // Initialize the ProfilePolicyConnector after |io_data_| since it requires |
349 // the URLRequestContextGetter to be initialized. | 352 // the URLRequestContextGetter to be initialized. |
350 GetPolicyConnector()->Initialize(); | 353 GetPolicyConnector()->Initialize(); |
351 } | 354 } |
352 | 355 |
353 void ProfileImpl::InitExtensions() { | 356 void ProfileImpl::InitExtensions() { |
354 if (user_script_master_ || extensions_service_) | 357 if (user_script_master_ || extensions_service_) |
355 return; // Already initialized. | 358 return; // Already initialized. |
356 | 359 |
(...skipping 452 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
809 // TODO(eroman): this isn't terribly useful anymore now that the | 812 // TODO(eroman): this isn't terribly useful anymore now that the |
810 // net::URLRequestContext is constructed by the IO thread... | 813 // net::URLRequestContext is constructed by the IO thread... |
811 NotificationService::current()->Notify( | 814 NotificationService::current()->Notify( |
812 NotificationType::DEFAULT_REQUEST_CONTEXT_AVAILABLE, | 815 NotificationType::DEFAULT_REQUEST_CONTEXT_AVAILABLE, |
813 NotificationService::AllSources(), NotificationService::NoDetails()); | 816 NotificationService::AllSources(), NotificationService::NoDetails()); |
814 } | 817 } |
815 | 818 |
816 return request_context; | 819 return request_context; |
817 } | 820 } |
818 | 821 |
| 822 URLRequestContextGetter* ProfileImpl::GetRequestContextForPossibleApp( |
| 823 const Extension* installed_app) { |
| 824 if (CommandLine::ForCurrentProcess()->HasSwitch( |
| 825 switches::kEnableExperimentalAppManifests) && |
| 826 installed_app != NULL && |
| 827 installed_app->is_storage_isolated()) |
| 828 return GetRequestContextForIsolatedApp(installed_app); |
| 829 |
| 830 return GetRequestContext(); |
| 831 } |
| 832 |
819 URLRequestContextGetter* ProfileImpl::GetRequestContextForMedia() { | 833 URLRequestContextGetter* ProfileImpl::GetRequestContextForMedia() { |
820 return io_data_.GetMediaRequestContextGetter(); | 834 return io_data_.GetMediaRequestContextGetter(); |
821 } | 835 } |
822 | 836 |
823 FaviconService* ProfileImpl::GetFaviconService(ServiceAccessType sat) { | 837 FaviconService* ProfileImpl::GetFaviconService(ServiceAccessType sat) { |
824 if (!favicon_service_created_) { | 838 if (!favicon_service_created_) { |
825 favicon_service_created_ = true; | 839 favicon_service_created_ = true; |
826 scoped_refptr<FaviconService> service(new FaviconService(this)); | 840 scoped_refptr<FaviconService> service(new FaviconService(this)); |
827 favicon_service_.swap(service); | 841 favicon_service_.swap(service); |
828 } | 842 } |
829 return favicon_service_.get(); | 843 return favicon_service_.get(); |
830 } | 844 } |
831 | 845 |
832 URLRequestContextGetter* ProfileImpl::GetRequestContextForExtensions() { | 846 URLRequestContextGetter* ProfileImpl::GetRequestContextForExtensions() { |
833 return io_data_.GetExtensionsRequestContextGetter(); | 847 return io_data_.GetExtensionsRequestContextGetter(); |
834 } | 848 } |
835 | 849 |
| 850 URLRequestContextGetter* ProfileImpl::GetRequestContextForIsolatedApp( |
| 851 const Extension* installed_app) { |
| 852 return io_data_.GetIsolatedAppRequestContextGetter(installed_app); |
| 853 } |
| 854 |
836 void ProfileImpl::RegisterExtensionWithRequestContexts( | 855 void ProfileImpl::RegisterExtensionWithRequestContexts( |
837 const Extension* extension) { | 856 const Extension* extension) { |
838 // AddRef to ensure the data lives until the other thread gets it. Balanced in | 857 // AddRef to ensure the data lives until the other thread gets it. Balanced in |
839 // OnNewExtensions. | 858 // OnNewExtensions. |
840 extension->AddRef(); | 859 extension->AddRef(); |
841 BrowserThread::PostTask( | 860 BrowserThread::PostTask( |
842 BrowserThread::IO, FROM_HERE, | 861 BrowserThread::IO, FROM_HERE, |
843 NewRunnableMethod(extension_info_map_.get(), | 862 NewRunnableMethod(extension_info_map_.get(), |
844 &ExtensionInfoMap::AddExtension, | 863 &ExtensionInfoMap::AddExtension, |
845 extension)); | 864 extension)); |
(...skipping 683 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1529 return pref_proxy_config_tracker_; | 1548 return pref_proxy_config_tracker_; |
1530 } | 1549 } |
1531 | 1550 |
1532 prerender::PrerenderManager* ProfileImpl::GetPrerenderManager() { | 1551 prerender::PrerenderManager* ProfileImpl::GetPrerenderManager() { |
1533 if (!prerender::PrerenderManager::IsPrerenderingEnabled()) | 1552 if (!prerender::PrerenderManager::IsPrerenderingEnabled()) |
1534 return NULL; | 1553 return NULL; |
1535 if (!prerender_manager_) | 1554 if (!prerender_manager_) |
1536 prerender_manager_ = new prerender::PrerenderManager(this); | 1555 prerender_manager_ = new prerender::PrerenderManager(this); |
1537 return prerender_manager_; | 1556 return prerender_manager_; |
1538 } | 1557 } |
OLD | NEW |