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

Side by Side Diff: content/browser/storage_partition_impl.cc

Issue 1005683003: favor DCHECK_CURRENTLY_ON for better logs in content/browser/[q-z]* (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
« no previous file with comments | « content/browser/ssl/ssl_error_handler.cc ('k') | content/browser/streams/stream_context.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/storage_partition_impl.h" 5 #include "content/browser/storage_partition_impl.h"
6 6
7 #include "base/sequenced_task_runner.h" 7 #include "base/sequenced_task_runner.h"
8 #include "base/strings/utf_string_conversions.h" 8 #include "base/strings/utf_string_conversions.h"
9 #include "content/browser/browser_main_loop.h" 9 #include "content/browser/browser_main_loop.h"
10 #include "content/browser/fileapi/browser_file_system_helper.h" 10 #include "content/browser/fileapi/browser_file_system_helper.h"
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 43
44 callback.Run(); 44 callback.Run();
45 } 45 }
46 46
47 void ClearCookiesOnIOThread( 47 void ClearCookiesOnIOThread(
48 const scoped_refptr<net::URLRequestContextGetter>& rq_context, 48 const scoped_refptr<net::URLRequestContextGetter>& rq_context,
49 const base::Time begin, 49 const base::Time begin,
50 const base::Time end, 50 const base::Time end,
51 const GURL& storage_origin, 51 const GURL& storage_origin,
52 const base::Closure& callback) { 52 const base::Closure& callback) {
53 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 53 DCHECK_CURRENTLY_ON(BrowserThread::IO);
54 net::CookieStore* cookie_store = rq_context-> 54 net::CookieStore* cookie_store = rq_context->
55 GetURLRequestContext()->cookie_store(); 55 GetURLRequestContext()->cookie_store();
56 if (storage_origin.is_empty()) { 56 if (storage_origin.is_empty()) {
57 cookie_store->DeleteAllCreatedBetweenAsync( 57 cookie_store->DeleteAllCreatedBetweenAsync(
58 begin, 58 begin,
59 end, 59 end,
60 base::Bind(&OnClearedCookies, callback)); 60 base::Bind(&OnClearedCookies, callback));
61 } else { 61 } else {
62 cookie_store->DeleteAllCreatedBetweenForHostAsync( 62 cookie_store->DeleteAllCreatedBetweenForHostAsync(
63 begin, 63 begin,
64 end, 64 end,
65 storage_origin, base::Bind(&OnClearedCookies, callback)); 65 storage_origin, base::Bind(&OnClearedCookies, callback));
66 } 66 }
67 } 67 }
68 68
69 void CheckQuotaManagedDataDeletionStatus(size_t* deletion_task_count, 69 void CheckQuotaManagedDataDeletionStatus(size_t* deletion_task_count,
70 const base::Closure& callback) { 70 const base::Closure& callback) {
71 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 71 DCHECK_CURRENTLY_ON(BrowserThread::IO);
72 if (*deletion_task_count == 0) { 72 if (*deletion_task_count == 0) {
73 delete deletion_task_count; 73 delete deletion_task_count;
74 callback.Run(); 74 callback.Run();
75 } 75 }
76 } 76 }
77 77
78 void OnQuotaManagedOriginDeleted(const GURL& origin, 78 void OnQuotaManagedOriginDeleted(const GURL& origin,
79 storage::StorageType type, 79 storage::StorageType type,
80 size_t* deletion_task_count, 80 size_t* deletion_task_count,
81 const base::Closure& callback, 81 const base::Closure& callback,
82 storage::QuotaStatusCode status) { 82 storage::QuotaStatusCode status) {
83 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 83 DCHECK_CURRENTLY_ON(BrowserThread::IO);
84 DCHECK_GT(*deletion_task_count, 0u); 84 DCHECK_GT(*deletion_task_count, 0u);
85 if (status != storage::kQuotaStatusOk) { 85 if (status != storage::kQuotaStatusOk) {
86 DLOG(ERROR) << "Couldn't remove data of type " << type << " for origin " 86 DLOG(ERROR) << "Couldn't remove data of type " << type << " for origin "
87 << origin << ". Status: " << status; 87 << origin << ". Status: " << status;
88 } 88 }
89 89
90 (*deletion_task_count)--; 90 (*deletion_task_count)--;
91 CheckQuotaManagedDataDeletionStatus(deletion_task_count, callback); 91 CheckQuotaManagedDataDeletionStatus(deletion_task_count, callback);
92 } 92 }
93 93
94 void ClearedShaderCache(const base::Closure& callback) { 94 void ClearedShaderCache(const base::Closure& callback) {
95 if (!BrowserThread::CurrentlyOn(BrowserThread::UI)) { 95 if (!BrowserThread::CurrentlyOn(BrowserThread::UI)) {
96 BrowserThread::PostTask( 96 BrowserThread::PostTask(
97 BrowserThread::UI, FROM_HERE, 97 BrowserThread::UI, FROM_HERE,
98 base::Bind(&ClearedShaderCache, callback)); 98 base::Bind(&ClearedShaderCache, callback));
99 return; 99 return;
100 } 100 }
101 callback.Run(); 101 callback.Run();
102 } 102 }
103 103
104 void ClearShaderCacheOnIOThread(const base::FilePath& path, 104 void ClearShaderCacheOnIOThread(const base::FilePath& path,
105 const base::Time begin, 105 const base::Time begin,
106 const base::Time end, 106 const base::Time end,
107 const base::Closure& callback) { 107 const base::Closure& callback) {
108 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 108 DCHECK_CURRENTLY_ON(BrowserThread::IO);
109 ShaderCacheFactory::GetInstance()->ClearByPath( 109 ShaderCacheFactory::GetInstance()->ClearByPath(
110 path, begin, end, base::Bind(&ClearedShaderCache, callback)); 110 path, begin, end, base::Bind(&ClearedShaderCache, callback));
111 } 111 }
112 112
113 void OnLocalStorageUsageInfo( 113 void OnLocalStorageUsageInfo(
114 const scoped_refptr<DOMStorageContextWrapper>& dom_storage_context, 114 const scoped_refptr<DOMStorageContextWrapper>& dom_storage_context,
115 const scoped_refptr<storage::SpecialStoragePolicy>& special_storage_policy, 115 const scoped_refptr<storage::SpecialStoragePolicy>& special_storage_policy,
116 const StoragePartition::OriginMatcherFunction& origin_matcher, 116 const StoragePartition::OriginMatcherFunction& origin_matcher,
117 const base::Time delete_begin, 117 const base::Time delete_begin,
118 const base::Time delete_end, 118 const base::Time delete_end,
119 const base::Closure& callback, 119 const base::Closure& callback,
120 const std::vector<LocalStorageUsageInfo>& infos) { 120 const std::vector<LocalStorageUsageInfo>& infos) {
121 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 121 DCHECK_CURRENTLY_ON(BrowserThread::UI);
122 122
123 for (size_t i = 0; i < infos.size(); ++i) { 123 for (size_t i = 0; i < infos.size(); ++i) {
124 if (!origin_matcher.is_null() && 124 if (!origin_matcher.is_null() &&
125 !origin_matcher.Run(infos[i].origin, special_storage_policy.get())) { 125 !origin_matcher.Run(infos[i].origin, special_storage_policy.get())) {
126 continue; 126 continue;
127 } 127 }
128 128
129 if (infos[i].last_modified >= delete_begin && 129 if (infos[i].last_modified >= delete_begin &&
130 infos[i].last_modified <= delete_end) { 130 infos[i].last_modified <= delete_end) {
131 dom_storage_context->DeleteLocalStorage(infos[i].origin); 131 dom_storage_context->DeleteLocalStorage(infos[i].origin);
132 } 132 }
133 } 133 }
134 callback.Run(); 134 callback.Run();
135 } 135 }
136 136
137 void OnSessionStorageUsageInfo( 137 void OnSessionStorageUsageInfo(
138 const scoped_refptr<DOMStorageContextWrapper>& dom_storage_context, 138 const scoped_refptr<DOMStorageContextWrapper>& dom_storage_context,
139 const scoped_refptr<storage::SpecialStoragePolicy>& special_storage_policy, 139 const scoped_refptr<storage::SpecialStoragePolicy>& special_storage_policy,
140 const StoragePartition::OriginMatcherFunction& origin_matcher, 140 const StoragePartition::OriginMatcherFunction& origin_matcher,
141 const base::Closure& callback, 141 const base::Closure& callback,
142 const std::vector<SessionStorageUsageInfo>& infos) { 142 const std::vector<SessionStorageUsageInfo>& infos) {
143 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 143 DCHECK_CURRENTLY_ON(BrowserThread::UI);
144 144
145 for (size_t i = 0; i < infos.size(); ++i) { 145 for (size_t i = 0; i < infos.size(); ++i) {
146 if (!origin_matcher.is_null() && 146 if (!origin_matcher.is_null() &&
147 !origin_matcher.Run(infos[i].origin, special_storage_policy.get())) { 147 !origin_matcher.Run(infos[i].origin, special_storage_policy.get())) {
148 continue; 148 continue;
149 } 149 }
150 dom_storage_context->DeleteSessionStorage(infos[i]); 150 dom_storage_context->DeleteSessionStorage(infos[i]);
151 } 151 }
152 152
153 callback.Run(); 153 callback.Run();
154 } 154 }
155 155
156 void ClearLocalStorageOnUIThread( 156 void ClearLocalStorageOnUIThread(
157 const scoped_refptr<DOMStorageContextWrapper>& dom_storage_context, 157 const scoped_refptr<DOMStorageContextWrapper>& dom_storage_context,
158 const scoped_refptr<storage::SpecialStoragePolicy>& special_storage_policy, 158 const scoped_refptr<storage::SpecialStoragePolicy>& special_storage_policy,
159 const StoragePartition::OriginMatcherFunction& origin_matcher, 159 const StoragePartition::OriginMatcherFunction& origin_matcher,
160 const GURL& storage_origin, 160 const GURL& storage_origin,
161 const base::Time begin, 161 const base::Time begin,
162 const base::Time end, 162 const base::Time end,
163 const base::Closure& callback) { 163 const base::Closure& callback) {
164 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 164 DCHECK_CURRENTLY_ON(BrowserThread::UI);
165 165
166 if (!storage_origin.is_empty()) { 166 if (!storage_origin.is_empty()) {
167 bool can_delete = origin_matcher.is_null() || 167 bool can_delete = origin_matcher.is_null() ||
168 origin_matcher.Run(storage_origin, 168 origin_matcher.Run(storage_origin,
169 special_storage_policy.get()); 169 special_storage_policy.get());
170 if (can_delete) 170 if (can_delete)
171 dom_storage_context->DeleteLocalStorage(storage_origin); 171 dom_storage_context->DeleteLocalStorage(storage_origin);
172 172
173 callback.Run(); 173 callback.Run();
174 return; 174 return;
175 } 175 }
176 176
177 dom_storage_context->GetLocalStorageUsage( 177 dom_storage_context->GetLocalStorageUsage(
178 base::Bind(&OnLocalStorageUsageInfo, 178 base::Bind(&OnLocalStorageUsageInfo,
179 dom_storage_context, special_storage_policy, origin_matcher, 179 dom_storage_context, special_storage_policy, origin_matcher,
180 begin, end, callback)); 180 begin, end, callback));
181 } 181 }
182 182
183 void ClearSessionStorageOnUIThread( 183 void ClearSessionStorageOnUIThread(
184 const scoped_refptr<DOMStorageContextWrapper>& dom_storage_context, 184 const scoped_refptr<DOMStorageContextWrapper>& dom_storage_context,
185 const scoped_refptr<storage::SpecialStoragePolicy>& special_storage_policy, 185 const scoped_refptr<storage::SpecialStoragePolicy>& special_storage_policy,
186 const StoragePartition::OriginMatcherFunction& origin_matcher, 186 const StoragePartition::OriginMatcherFunction& origin_matcher,
187 const base::Closure& callback) { 187 const base::Closure& callback) {
188 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 188 DCHECK_CURRENTLY_ON(BrowserThread::UI);
189 189
190 dom_storage_context->GetSessionStorageUsage( 190 dom_storage_context->GetSessionStorageUsage(
191 base::Bind(&OnSessionStorageUsageInfo, dom_storage_context, 191 base::Bind(&OnSessionStorageUsageInfo, dom_storage_context,
192 special_storage_policy, origin_matcher, 192 special_storage_policy, origin_matcher,
193 callback)); 193 callback));
194 } 194 }
195 195
196 } // namespace 196 } // namespace
197 197
198 // static 198 // static
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
341 int task_count; 341 int task_count;
342 }; 342 };
343 343
344 void StoragePartitionImpl::DataDeletionHelper::ClearQuotaManagedDataOnIOThread( 344 void StoragePartitionImpl::DataDeletionHelper::ClearQuotaManagedDataOnIOThread(
345 const scoped_refptr<storage::QuotaManager>& quota_manager, 345 const scoped_refptr<storage::QuotaManager>& quota_manager,
346 const base::Time begin, 346 const base::Time begin,
347 const GURL& storage_origin, 347 const GURL& storage_origin,
348 const scoped_refptr<storage::SpecialStoragePolicy>& special_storage_policy, 348 const scoped_refptr<storage::SpecialStoragePolicy>& special_storage_policy,
349 const StoragePartition::OriginMatcherFunction& origin_matcher, 349 const StoragePartition::OriginMatcherFunction& origin_matcher,
350 const base::Closure& callback) { 350 const base::Closure& callback) {
351 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 351 DCHECK_CURRENTLY_ON(BrowserThread::IO);
352 352
353 StoragePartitionImpl::QuotaManagedDataDeletionHelper* helper = 353 StoragePartitionImpl::QuotaManagedDataDeletionHelper* helper =
354 new StoragePartitionImpl::QuotaManagedDataDeletionHelper( 354 new StoragePartitionImpl::QuotaManagedDataDeletionHelper(
355 remove_mask, 355 remove_mask,
356 quota_storage_remove_mask, 356 quota_storage_remove_mask,
357 storage_origin, 357 storage_origin,
358 callback); 358 callback);
359 helper->ClearDataOnIOThread(quota_manager, begin, special_storage_policy, 359 helper->ClearDataOnIOThread(quota_manager, begin, special_storage_policy,
360 origin_matcher); 360 origin_matcher);
361 } 361 }
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after
575 575
576 void StoragePartitionImpl::ClearDataImpl( 576 void StoragePartitionImpl::ClearDataImpl(
577 uint32 remove_mask, 577 uint32 remove_mask,
578 uint32 quota_storage_remove_mask, 578 uint32 quota_storage_remove_mask,
579 const GURL& storage_origin, 579 const GURL& storage_origin,
580 const OriginMatcherFunction& origin_matcher, 580 const OriginMatcherFunction& origin_matcher,
581 net::URLRequestContextGetter* rq_context, 581 net::URLRequestContextGetter* rq_context,
582 const base::Time begin, 582 const base::Time begin,
583 const base::Time end, 583 const base::Time end,
584 const base::Closure& callback) { 584 const base::Closure& callback) {
585 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 585 DCHECK_CURRENTLY_ON(BrowserThread::UI);
586 DataDeletionHelper* helper = new DataDeletionHelper(remove_mask, 586 DataDeletionHelper* helper = new DataDeletionHelper(remove_mask,
587 quota_storage_remove_mask, 587 quota_storage_remove_mask,
588 callback); 588 callback);
589 // |helper| deletes itself when done in 589 // |helper| deletes itself when done in
590 // DataDeletionHelper::DecrementTaskCountOnUI(). 590 // DataDeletionHelper::DecrementTaskCountOnUI().
591 helper->ClearDataOnUIThread(storage_origin, 591 helper->ClearDataOnUIThread(storage_origin,
592 origin_matcher, 592 origin_matcher,
593 GetPath(), 593 GetPath(),
594 rq_context, 594 rq_context,
595 dom_storage_context_.get(), 595 dom_storage_context_.get(),
596 quota_manager_.get(), 596 quota_manager_.get(),
597 special_storage_policy_.get(), 597 special_storage_policy_.get(),
598 webrtc_identity_store_.get(), 598 webrtc_identity_store_.get(),
599 begin, 599 begin,
600 end); 600 end);
601 } 601 }
602 602
603 void StoragePartitionImpl:: 603 void StoragePartitionImpl::
604 QuotaManagedDataDeletionHelper::IncrementTaskCountOnIO() { 604 QuotaManagedDataDeletionHelper::IncrementTaskCountOnIO() {
605 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 605 DCHECK_CURRENTLY_ON(BrowserThread::IO);
606 ++task_count; 606 ++task_count;
607 } 607 }
608 608
609 void StoragePartitionImpl:: 609 void StoragePartitionImpl::
610 QuotaManagedDataDeletionHelper::DecrementTaskCountOnIO() { 610 QuotaManagedDataDeletionHelper::DecrementTaskCountOnIO() {
611 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 611 DCHECK_CURRENTLY_ON(BrowserThread::IO);
612 DCHECK_GT(task_count, 0); 612 DCHECK_GT(task_count, 0);
613 --task_count; 613 --task_count;
614 if (task_count) 614 if (task_count)
615 return; 615 return;
616 616
617 callback.Run(); 617 callback.Run();
618 delete this; 618 delete this;
619 } 619 }
620 620
621 void StoragePartitionImpl::QuotaManagedDataDeletionHelper::ClearDataOnIOThread( 621 void StoragePartitionImpl::QuotaManagedDataDeletionHelper::ClearDataOnIOThread(
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
679 StoragePartitionImpl::QuotaManagedDataDeletionHelper::ClearOriginsOnIOThread( 679 StoragePartitionImpl::QuotaManagedDataDeletionHelper::ClearOriginsOnIOThread(
680 storage::QuotaManager* quota_manager, 680 storage::QuotaManager* quota_manager,
681 const scoped_refptr<storage::SpecialStoragePolicy>& special_storage_policy, 681 const scoped_refptr<storage::SpecialStoragePolicy>& special_storage_policy,
682 const StoragePartition::OriginMatcherFunction& origin_matcher, 682 const StoragePartition::OriginMatcherFunction& origin_matcher,
683 const base::Closure& callback, 683 const base::Closure& callback,
684 const std::set<GURL>& origins, 684 const std::set<GURL>& origins,
685 storage::StorageType quota_storage_type) { 685 storage::StorageType quota_storage_type) {
686 // The QuotaManager manages all storage other than cookies, LocalStorage, 686 // The QuotaManager manages all storage other than cookies, LocalStorage,
687 // and SessionStorage. This loop wipes out most HTML5 storage for the given 687 // and SessionStorage. This loop wipes out most HTML5 storage for the given
688 // origins. 688 // origins.
689 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 689 DCHECK_CURRENTLY_ON(BrowserThread::IO);
690 if (!origins.size()) { 690 if (!origins.size()) {
691 callback.Run(); 691 callback.Run();
692 return; 692 return;
693 } 693 }
694 694
695 size_t* deletion_task_count = new size_t(0u); 695 size_t* deletion_task_count = new size_t(0u);
696 (*deletion_task_count)++; 696 (*deletion_task_count)++;
697 for (std::set<GURL>::const_iterator origin = origins.begin(); 697 for (std::set<GURL>::const_iterator origin = origins.begin();
698 origin != origins.end(); ++origin) { 698 origin != origins.end(); ++origin) {
699 // TODO(mkwst): Clean this up, it's slow. http://crbug.com/130746 699 // TODO(mkwst): Clean this up, it's slow. http://crbug.com/130746
(...skipping 12 matching lines...) Expand all
712 base::Bind(&OnQuotaManagedOriginDeleted, 712 base::Bind(&OnQuotaManagedOriginDeleted,
713 origin->GetOrigin(), quota_storage_type, 713 origin->GetOrigin(), quota_storage_type,
714 deletion_task_count, callback)); 714 deletion_task_count, callback));
715 } 715 }
716 (*deletion_task_count)--; 716 (*deletion_task_count)--;
717 717
718 CheckQuotaManagedDataDeletionStatus(deletion_task_count, callback); 718 CheckQuotaManagedDataDeletionStatus(deletion_task_count, callback);
719 } 719 }
720 720
721 void StoragePartitionImpl::DataDeletionHelper::IncrementTaskCountOnUI() { 721 void StoragePartitionImpl::DataDeletionHelper::IncrementTaskCountOnUI() {
722 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 722 DCHECK_CURRENTLY_ON(BrowserThread::UI);
723 ++task_count; 723 ++task_count;
724 } 724 }
725 725
726 void StoragePartitionImpl::DataDeletionHelper::DecrementTaskCountOnUI() { 726 void StoragePartitionImpl::DataDeletionHelper::DecrementTaskCountOnUI() {
727 if (!BrowserThread::CurrentlyOn(BrowserThread::UI)) { 727 if (!BrowserThread::CurrentlyOn(BrowserThread::UI)) {
728 BrowserThread::PostTask( 728 BrowserThread::PostTask(
729 BrowserThread::UI, FROM_HERE, 729 BrowserThread::UI, FROM_HERE,
730 base::Bind(&DataDeletionHelper::DecrementTaskCountOnUI, 730 base::Bind(&DataDeletionHelper::DecrementTaskCountOnUI,
731 base::Unretained(this))); 731 base::Unretained(this)));
732 return; 732 return;
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
829 829
830 DecrementTaskCountOnUI(); 830 DecrementTaskCountOnUI();
831 } 831 }
832 832
833 void StoragePartitionImpl::ClearDataForOrigin( 833 void StoragePartitionImpl::ClearDataForOrigin(
834 uint32 remove_mask, 834 uint32 remove_mask,
835 uint32 quota_storage_remove_mask, 835 uint32 quota_storage_remove_mask,
836 const GURL& storage_origin, 836 const GURL& storage_origin,
837 net::URLRequestContextGetter* request_context_getter, 837 net::URLRequestContextGetter* request_context_getter,
838 const base::Closure& callback) { 838 const base::Closure& callback) {
839 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 839 DCHECK_CURRENTLY_ON(BrowserThread::UI);
840 ClearDataImpl(remove_mask, 840 ClearDataImpl(remove_mask,
841 quota_storage_remove_mask, 841 quota_storage_remove_mask,
842 storage_origin, 842 storage_origin,
843 OriginMatcherFunction(), 843 OriginMatcherFunction(),
844 request_context_getter, 844 request_context_getter,
845 base::Time(), 845 base::Time(),
846 base::Time::Max(), 846 base::Time::Max(),
847 callback); 847 callback);
848 } 848 }
849 849
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
881 net::URLRequestContextGetter* url_request_context) { 881 net::URLRequestContextGetter* url_request_context) {
882 url_request_context_ = url_request_context; 882 url_request_context_ = url_request_context;
883 } 883 }
884 884
885 void StoragePartitionImpl::SetMediaURLRequestContext( 885 void StoragePartitionImpl::SetMediaURLRequestContext(
886 net::URLRequestContextGetter* media_url_request_context) { 886 net::URLRequestContextGetter* media_url_request_context) {
887 media_url_request_context_ = media_url_request_context; 887 media_url_request_context_ = media_url_request_context;
888 } 888 }
889 889
890 } // namespace content 890 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/ssl/ssl_error_handler.cc ('k') | content/browser/streams/stream_context.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698