Index: chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc |
diff --git a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc |
index e585e9efca2504d16bb8a26658bb08b885a76e58..1e34ff24bff55b93ba4068f5cdbdbc48a8ed4529 100644 |
--- a/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc |
+++ b/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc |
@@ -235,6 +235,33 @@ void ClearHttpAuthCacheOnIOThread( |
http_session->CloseAllConnections(); |
} |
+// Returned by ChromeBrowsingDataRemoverDelegate::GetOriginTypeMatcher(). |
+bool DoesOriginMatchEmbedderMask(int origin_type_mask, |
+ const GURL& origin, |
+ storage::SpecialStoragePolicy* policy) { |
+ DCHECK_EQ( |
+ 0, |
+ origin_type_mask & |
+ (ChromeBrowsingDataRemoverDelegate::ORIGIN_TYPE_EMBEDDER_BEGIN - 1)) |
+ << "|origin_type_mask| can only contain origin types defined in " |
+ << "the embedder."; |
+ |
+#if BUILDFLAG(ENABLE_EXTENSIONS) |
+ // Packaged apps and extensions match iff EXTENSION. |
+ if ((origin.GetOrigin().scheme() == extensions::kExtensionScheme) && |
+ (origin_type_mask & |
+ ChromeBrowsingDataRemoverDelegate::ORIGIN_TYPE_EXTENSION)) { |
+ return true; |
+ } |
+ origin_type_mask &= ~ChromeBrowsingDataRemoverDelegate::ORIGIN_TYPE_EXTENSION; |
+#endif |
+ |
+ DCHECK(!origin_type_mask) |
+ << "DoesOriginMatchEmbedderMask must handle all origin types."; |
+ |
+ return false; |
+} |
+ |
} // namespace |
ChromeBrowsingDataRemoverDelegate::SubTask::SubTask( |
@@ -311,27 +338,9 @@ ChromeBrowsingDataRemoverDelegate::~ChromeBrowsingDataRemoverDelegate() { |
template_url_sub_.reset(); |
} |
-bool ChromeBrowsingDataRemoverDelegate::DoesOriginMatchEmbedderMask( |
- int origin_type_mask, |
- const GURL& origin, |
- storage::SpecialStoragePolicy* policy) const { |
- DCHECK_EQ(0, origin_type_mask & (ORIGIN_TYPE_EMBEDDER_BEGIN - 1)) |
- << "|origin_type_mask| can only contain origin types defined in " |
- << "the embedder."; |
- |
-#if BUILDFLAG(ENABLE_EXTENSIONS) |
- // Packaged apps and extensions match iff EXTENSION. |
- if ((origin.GetOrigin().scheme() == extensions::kExtensionScheme) && |
- (origin_type_mask & ORIGIN_TYPE_EXTENSION)) { |
- return true; |
- } |
- origin_type_mask &= ~ORIGIN_TYPE_EXTENSION; |
-#endif |
- |
- DCHECK(!origin_type_mask) |
- << "DoesOriginMatchEmbedderMask must handle all origin types."; |
- |
- return false; |
+BrowsingDataRemoverDelegate::EmbedderOriginTypeMatcher |
+ChromeBrowsingDataRemoverDelegate::GetOriginTypeMatcher() const { |
+ return base::Bind(DoesOriginMatchEmbedderMask); |
} |
void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData( |