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

Side by Side Diff: chrome/browser/chrome_content_browser_client.cc

Issue 2697123004: Convert RemoveDataMask from enum to pointers and split it between content and embedder (Closed)
Patch Set: More compilation error fixes. Created 3 years, 10 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 "chrome/browser/chrome_content_browser_client.h" 5 #include "chrome/browser/chrome_content_browser_client.h"
6 6
7 #include <map> 7 #include <map>
8 #include <set> 8 #include <set>
9 #include <utility> 9 #include <utility>
10 #include <vector> 10 #include <vector>
(...skipping 19 matching lines...) Expand all
30 #include "base/threading/thread_task_runner_handle.h" 30 #include "base/threading/thread_task_runner_handle.h"
31 #include "build/build_config.h" 31 #include "build/build_config.h"
32 #include "chrome/browser/after_startup_task_utils.h" 32 #include "chrome/browser/after_startup_task_utils.h"
33 #include "chrome/browser/apps/app_url_redirector.h" 33 #include "chrome/browser/apps/app_url_redirector.h"
34 #include "chrome/browser/browser_about_handler.h" 34 #include "chrome/browser/browser_about_handler.h"
35 #include "chrome/browser/browser_process.h" 35 #include "chrome/browser/browser_process.h"
36 #include "chrome/browser/browser_shutdown.h" 36 #include "chrome/browser/browser_shutdown.h"
37 #include "chrome/browser/browsing_data/browsing_data_helper.h" 37 #include "chrome/browser/browsing_data/browsing_data_helper.h"
38 #include "chrome/browser/browsing_data/browsing_data_remover.h" 38 #include "chrome/browser/browsing_data/browsing_data_remover.h"
39 #include "chrome/browser/browsing_data/browsing_data_remover_factory.h" 39 #include "chrome/browser/browsing_data/browsing_data_remover_factory.h"
40 #include "chrome/browser/browsing_data/chrome_browsing_data_types.h"
40 #include "chrome/browser/budget_service/budget_service_impl.h" 41 #include "chrome/browser/budget_service/budget_service_impl.h"
41 #include "chrome/browser/chrome_content_browser_client_parts.h" 42 #include "chrome/browser/chrome_content_browser_client_parts.h"
42 #include "chrome/browser/chrome_quota_permission_context.h" 43 #include "chrome/browser/chrome_quota_permission_context.h"
43 #include "chrome/browser/content_settings/cookie_settings_factory.h" 44 #include "chrome/browser/content_settings/cookie_settings_factory.h"
44 #include "chrome/browser/content_settings/host_content_settings_map_factory.h" 45 #include "chrome/browser/content_settings/host_content_settings_map_factory.h"
45 #include "chrome/browser/content_settings/tab_specific_content_settings.h" 46 #include "chrome/browser/content_settings/tab_specific_content_settings.h"
46 #include "chrome/browser/defaults.h" 47 #include "chrome/browser/defaults.h"
47 #include "chrome/browser/download/download_prefs.h" 48 #include "chrome/browser/download/download_prefs.h"
48 #include "chrome/browser/engagement/site_engagement_eviction_policy.h" 49 #include "chrome/browser/engagement/site_engagement_eviction_policy.h"
49 #include "chrome/browser/field_trial_recorder.h" 50 #include "chrome/browser/field_trial_recorder.h"
(...skipping 2551 matching lines...) Expand 10 before | Expand all | Expand 10 after
2601 // chrome: & friends. 2602 // chrome: & friends.
2602 handler->AddHandlerPair(&HandleWebUI, &HandleWebUIReverse); 2603 handler->AddHandlerPair(&HandleWebUI, &HandleWebUIReverse);
2603 } 2604 }
2604 2605
2605 void ChromeContentBrowserClient::ClearCache(RenderFrameHost* rfh) { 2606 void ChromeContentBrowserClient::ClearCache(RenderFrameHost* rfh) {
2606 Profile* profile = Profile::FromBrowserContext( 2607 Profile* profile = Profile::FromBrowserContext(
2607 rfh->GetSiteInstance()->GetProcess()->GetBrowserContext()); 2608 rfh->GetSiteInstance()->GetProcess()->GetBrowserContext());
2608 BrowsingDataRemover* remover = 2609 BrowsingDataRemover* remover =
2609 BrowsingDataRemoverFactory::GetForBrowserContext(profile); 2610 BrowsingDataRemoverFactory::GetForBrowserContext(profile);
2610 remover->Remove(base::Time(), base::Time::Max(), 2611 remover->Remove(base::Time(), base::Time::Max(),
2611 BrowsingDataRemover::REMOVE_CACHE, 2612 { &kBrowsingDataTypeCache },
2612 BrowsingDataHelper::UNPROTECTED_WEB); 2613 BrowsingDataHelper::UNPROTECTED_WEB);
2613 } 2614 }
2614 2615
2615 void ChromeContentBrowserClient::ClearCookies(RenderFrameHost* rfh) { 2616 void ChromeContentBrowserClient::ClearCookies(RenderFrameHost* rfh) {
2616 Profile* profile = Profile::FromBrowserContext( 2617 Profile* profile = Profile::FromBrowserContext(
2617 rfh->GetSiteInstance()->GetProcess()->GetBrowserContext()); 2618 rfh->GetSiteInstance()->GetProcess()->GetBrowserContext());
2618 BrowsingDataRemover* remover = 2619 BrowsingDataRemover* remover =
2619 BrowsingDataRemoverFactory::GetForBrowserContext(profile); 2620 BrowsingDataRemoverFactory::GetForBrowserContext(profile);
2620 int remove_mask = BrowsingDataRemover::REMOVE_SITE_DATA; 2621 remover->Remove(base::Time(), base::Time::Max(),
2621 remover->Remove(base::Time(), base::Time::Max(), remove_mask, 2622 kBrowsingDataTypeSetSiteData,
2622 BrowsingDataHelper::UNPROTECTED_WEB); 2623 BrowsingDataHelper::UNPROTECTED_WEB);
2623 } 2624 }
2624 2625
2625 void ChromeContentBrowserClient::ClearSiteData( 2626 void ChromeContentBrowserClient::ClearSiteData(
2626 content::BrowserContext* browser_context, 2627 content::BrowserContext* browser_context,
2627 const url::Origin& origin, 2628 const url::Origin& origin,
2628 bool remove_cookies, 2629 bool remove_cookies,
2629 bool remove_storage, 2630 bool remove_storage,
2630 bool remove_cache, 2631 bool remove_cache,
2631 const base::Closure& callback) { 2632 const base::Closure& callback) {
(...skipping 16 matching lines...) Expand all
2648 net::registry_controlled_domains::INCLUDE_PRIVATE_REGISTRIES); 2649 net::registry_controlled_domains::INCLUDE_PRIVATE_REGISTRIES);
2649 2650
2650 if (domain.empty()) 2651 if (domain.empty())
2651 domain = origin.host(); // IP address or internal hostname. 2652 domain = origin.host(); // IP address or internal hostname.
2652 2653
2653 std::unique_ptr<BrowsingDataFilterBuilder> domain_filter_builder( 2654 std::unique_ptr<BrowsingDataFilterBuilder> domain_filter_builder(
2654 BrowsingDataFilterBuilder::Create( 2655 BrowsingDataFilterBuilder::Create(
2655 BrowsingDataFilterBuilder::WHITELIST)); 2656 BrowsingDataFilterBuilder::WHITELIST));
2656 domain_filter_builder->AddRegisterableDomain(domain); 2657 domain_filter_builder->AddRegisterableDomain(domain);
2657 2658
2659 std::set<const content::BrowsingDataType*> remove_mask;
2660 remove_mask.insert(&kBrowsingDataTypeCookies);
2661 remove_mask.insert(&kBrowsingDataTypeChannelIDs);
2662 remove_mask.insert(&kBrowsingDataTypePluginData);
2658 remover->RemoveWithFilterAndReply( 2663 remover->RemoveWithFilterAndReply(
2659 base::Time(), base::Time::Max(), 2664 base::Time(), base::Time::Max(), remove_mask, BrowsingDataHelper::ALL,
2660 BrowsingDataRemover::REMOVE_COOKIES | 2665 std::move(domain_filter_builder), observer);
2661 BrowsingDataRemover::REMOVE_CHANNEL_IDS |
2662 BrowsingDataRemover::REMOVE_PLUGIN_DATA,
2663 BrowsingDataHelper::ALL, std::move(domain_filter_builder), observer);
2664 } else { 2666 } else {
2665 // The first removal task is a no-op. 2667 // The first removal task is a no-op.
2666 observer->OnBrowsingDataRemoverDone(); 2668 observer->OnBrowsingDataRemoverDone();
2667 } 2669 }
2668 2670
2669 // Delete origin-scoped data. 2671 // Delete origin-scoped data.
2670 int remove_mask = 0; 2672 std::set<const content::BrowsingDataType*> remove_mask;
2671 if (remove_storage) { 2673 if (remove_storage) {
2672 remove_mask |= BrowsingDataRemover::REMOVE_SITE_DATA & 2674 remove_mask = kBrowsingDataTypeSetSiteData;
2673 ~BrowsingDataRemover::REMOVE_COOKIES & 2675 remove_mask.erase(&kBrowsingDataTypeCookies);
2674 ~BrowsingDataRemover::REMOVE_CHANNEL_IDS & 2676 remove_mask.erase(&kBrowsingDataTypeChannelIDs);
2675 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA; 2677 remove_mask.erase(&kBrowsingDataTypePluginData);
2676 } 2678 }
2677 if (remove_cache) 2679 if (remove_cache)
2678 remove_mask |= BrowsingDataRemover::REMOVE_CACHE; 2680 remove_mask.insert(&kBrowsingDataTypeCache);
2679 2681
2680 if (remove_mask) { 2682 if (!remove_mask.empty()) {
2681 std::unique_ptr<BrowsingDataFilterBuilder> origin_filter_builder( 2683 std::unique_ptr<BrowsingDataFilterBuilder> origin_filter_builder(
2682 BrowsingDataFilterBuilder::Create( 2684 BrowsingDataFilterBuilder::Create(
2683 BrowsingDataFilterBuilder::WHITELIST)); 2685 BrowsingDataFilterBuilder::WHITELIST));
2684 origin_filter_builder->AddOrigin(origin); 2686 origin_filter_builder->AddOrigin(origin);
2685 2687
2686 remover->RemoveWithFilterAndReply( 2688 remover->RemoveWithFilterAndReply(
2687 base::Time(), base::Time::Max(), 2689 base::Time(), base::Time::Max(),
2688 remove_mask, BrowsingDataHelper::ALL, std::move(origin_filter_builder), 2690 remove_mask, BrowsingDataHelper::ALL, std::move(origin_filter_builder),
2689 observer); 2691 observer);
2690 } else { 2692 } else {
(...skipping 724 matching lines...) Expand 10 before | Expand all | Expand 10 after
3415 bool ChromeContentBrowserClient::ShouldRedirectDOMStorageTaskRunner() { 3417 bool ChromeContentBrowserClient::ShouldRedirectDOMStorageTaskRunner() {
3416 return variations::GetVariationParamValue( 3418 return variations::GetVariationParamValue(
3417 "BrowserScheduler", "RedirectDOMStorageTaskRunner") == "true"; 3419 "BrowserScheduler", "RedirectDOMStorageTaskRunner") == "true";
3418 } 3420 }
3419 3421
3420 bool ChromeContentBrowserClient:: 3422 bool ChromeContentBrowserClient::
3421 RedirectNonUINonIOBrowserThreadsToTaskScheduler() { 3423 RedirectNonUINonIOBrowserThreadsToTaskScheduler() {
3422 return variations::GetVariationParamValue( 3424 return variations::GetVariationParamValue(
3423 "BrowserScheduler", "RedirectNonUINonIOBrowserThreads") == "true"; 3425 "BrowserScheduler", "RedirectNonUINonIOBrowserThreads") == "true";
3424 } 3426 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698