Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(291)

Side by Side Diff: content/browser/appcache/chrome_appcache_service.cc

Issue 1008613002: favor DCHECK_CURRENTLY_ON for better logs in content/browser/[a-d]* (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 "content/browser/appcache/chrome_appcache_service.h" 5 #include "content/browser/appcache/chrome_appcache_service.h"
6 6
7 #include "base/files/file_path.h" 7 #include "base/files/file_path.h"
8 #include "content/browser/appcache/appcache_storage_impl.h" 8 #include "content/browser/appcache/appcache_storage_impl.h"
9 #include "content/public/browser/browser_thread.h" 9 #include "content/public/browser/browser_thread.h"
10 #include "content/public/browser/content_browser_client.h" 10 #include "content/public/browser/content_browser_client.h"
11 #include "content/public/browser/resource_context.h" 11 #include "content/public/browser/resource_context.h"
12 #include "net/base/net_errors.h" 12 #include "net/base/net_errors.h"
13 #include "net/url_request/url_request_context_getter.h" 13 #include "net/url_request/url_request_context_getter.h"
14 #include "storage/browser/quota/quota_manager.h" 14 #include "storage/browser/quota/quota_manager.h"
15 15
16 namespace content { 16 namespace content {
17 17
18 ChromeAppCacheService::ChromeAppCacheService( 18 ChromeAppCacheService::ChromeAppCacheService(
19 storage::QuotaManagerProxy* quota_manager_proxy) 19 storage::QuotaManagerProxy* quota_manager_proxy)
20 : AppCacheServiceImpl(quota_manager_proxy), resource_context_(NULL) { 20 : AppCacheServiceImpl(quota_manager_proxy), resource_context_(NULL) {
21 } 21 }
22 22
23 void ChromeAppCacheService::InitializeOnIOThread( 23 void ChromeAppCacheService::InitializeOnIOThread(
24 const base::FilePath& cache_path, 24 const base::FilePath& cache_path,
25 ResourceContext* resource_context, 25 ResourceContext* resource_context,
26 net::URLRequestContextGetter* request_context_getter, 26 net::URLRequestContextGetter* request_context_getter,
27 scoped_refptr<storage::SpecialStoragePolicy> special_storage_policy) { 27 scoped_refptr<storage::SpecialStoragePolicy> special_storage_policy) {
28 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 28 DCHECK_CURRENTLY_ON(BrowserThread::IO);
29 29
30 cache_path_ = cache_path; 30 cache_path_ = cache_path;
31 resource_context_ = resource_context; 31 resource_context_ = resource_context;
32 32
33 // The |request_context_getter| can be NULL in some unit tests. 33 // The |request_context_getter| can be NULL in some unit tests.
34 // 34 //
35 // TODO(ajwong): TestProfile is difficult to work with. The 35 // TODO(ajwong): TestProfile is difficult to work with. The
36 // SafeBrowsing tests require that GetRequestContext return NULL 36 // SafeBrowsing tests require that GetRequestContext return NULL
37 // so we can't depend on having a non-NULL value here. See crbug/149783. 37 // so we can't depend on having a non-NULL value here. See crbug/149783.
38 if (request_context_getter) 38 if (request_context_getter)
39 set_request_context(request_context_getter->GetURLRequestContext()); 39 set_request_context(request_context_getter->GetURLRequestContext());
40 40
41 // Init our base class. 41 // Init our base class.
42 Initialize( 42 Initialize(
43 cache_path_, 43 cache_path_,
44 BrowserThread::GetMessageLoopProxyForThread( 44 BrowserThread::GetMessageLoopProxyForThread(
45 BrowserThread::FILE_USER_BLOCKING) 45 BrowserThread::FILE_USER_BLOCKING)
46 .get(), 46 .get(),
47 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::CACHE).get()); 47 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::CACHE).get());
48 set_appcache_policy(this); 48 set_appcache_policy(this);
49 set_special_storage_policy(special_storage_policy.get()); 49 set_special_storage_policy(special_storage_policy.get());
50 } 50 }
51 51
52 bool ChromeAppCacheService::CanLoadAppCache(const GURL& manifest_url, 52 bool ChromeAppCacheService::CanLoadAppCache(const GURL& manifest_url,
53 const GURL& first_party) { 53 const GURL& first_party) {
54 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 54 DCHECK_CURRENTLY_ON(BrowserThread::IO);
55 // We don't prompt for read access. 55 // We don't prompt for read access.
56 return GetContentClient()->browser()->AllowAppCache( 56 return GetContentClient()->browser()->AllowAppCache(
57 manifest_url, first_party, resource_context_); 57 manifest_url, first_party, resource_context_);
58 } 58 }
59 59
60 bool ChromeAppCacheService::CanCreateAppCache( 60 bool ChromeAppCacheService::CanCreateAppCache(
61 const GURL& manifest_url, const GURL& first_party) { 61 const GURL& manifest_url, const GURL& first_party) {
62 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 62 DCHECK_CURRENTLY_ON(BrowserThread::IO);
63 return GetContentClient()->browser()->AllowAppCache( 63 return GetContentClient()->browser()->AllowAppCache(
64 manifest_url, first_party, resource_context_); 64 manifest_url, first_party, resource_context_);
65 } 65 }
66 66
67 ChromeAppCacheService::~ChromeAppCacheService() {} 67 ChromeAppCacheService::~ChromeAppCacheService() {}
68 68
69 void ChromeAppCacheService::DeleteOnCorrectThread() const { 69 void ChromeAppCacheService::DeleteOnCorrectThread() const {
70 if (BrowserThread::CurrentlyOn(BrowserThread::IO)) { 70 if (BrowserThread::CurrentlyOn(BrowserThread::IO)) {
71 delete this; 71 delete this;
72 return; 72 return;
73 } 73 }
74 if (BrowserThread::IsMessageLoopValid(BrowserThread::IO)) { 74 if (BrowserThread::IsMessageLoopValid(BrowserThread::IO)) {
75 BrowserThread::DeleteSoon(BrowserThread::IO, FROM_HERE, this); 75 BrowserThread::DeleteSoon(BrowserThread::IO, FROM_HERE, this);
76 return; 76 return;
77 } 77 }
78 // Better to leak than crash on shutdown. 78 // Better to leak than crash on shutdown.
79 } 79 }
80 80
81 } // namespace content 81 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698