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

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

Issue 2733393003: Split browsing data masks between content and embedder (Closed)
Patch Set: Rebase (merged automatically) Created 3 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 "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_remover_delegate.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/field_trial_recorder.h" 49 #include "chrome/browser/field_trial_recorder.h"
49 #include "chrome/browser/font_family_cache.h" 50 #include "chrome/browser/font_family_cache.h"
(...skipping 2667 matching lines...) Expand 10 before | Expand all | Expand 10 after
2717 // chrome: & friends. 2718 // chrome: & friends.
2718 handler->AddHandlerPair(&HandleWebUI, &HandleWebUIReverse); 2719 handler->AddHandlerPair(&HandleWebUI, &HandleWebUIReverse);
2719 } 2720 }
2720 2721
2721 void ChromeContentBrowserClient::ClearCache(RenderFrameHost* rfh) { 2722 void ChromeContentBrowserClient::ClearCache(RenderFrameHost* rfh) {
2722 Profile* profile = Profile::FromBrowserContext( 2723 Profile* profile = Profile::FromBrowserContext(
2723 rfh->GetSiteInstance()->GetProcess()->GetBrowserContext()); 2724 rfh->GetSiteInstance()->GetProcess()->GetBrowserContext());
2724 BrowsingDataRemover* remover = 2725 BrowsingDataRemover* remover =
2725 BrowsingDataRemoverFactory::GetForBrowserContext(profile); 2726 BrowsingDataRemoverFactory::GetForBrowserContext(profile);
2726 remover->Remove(base::Time(), base::Time::Max(), 2727 remover->Remove(base::Time(), base::Time::Max(),
2727 BrowsingDataRemover::REMOVE_CACHE, 2728 BrowsingDataRemover::DATA_TYPE_CACHE,
2728 BrowsingDataHelper::UNPROTECTED_WEB); 2729 BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB);
2729 } 2730 }
2730 2731
2731 void ChromeContentBrowserClient::ClearCookies(RenderFrameHost* rfh) { 2732 void ChromeContentBrowserClient::ClearCookies(RenderFrameHost* rfh) {
2732 Profile* profile = Profile::FromBrowserContext( 2733 Profile* profile = Profile::FromBrowserContext(
2733 rfh->GetSiteInstance()->GetProcess()->GetBrowserContext()); 2734 rfh->GetSiteInstance()->GetProcess()->GetBrowserContext());
2734 BrowsingDataRemover* remover = 2735 BrowsingDataRemover* remover =
2735 BrowsingDataRemoverFactory::GetForBrowserContext(profile); 2736 BrowsingDataRemoverFactory::GetForBrowserContext(profile);
2736 int remove_mask = BrowsingDataRemover::REMOVE_SITE_DATA; 2737 int remove_mask = ChromeBrowsingDataRemoverDelegate::DATA_TYPE_SITE_DATA;
2737 remover->Remove(base::Time(), base::Time::Max(), remove_mask, 2738 remover->Remove(base::Time(), base::Time::Max(), remove_mask,
2738 BrowsingDataHelper::UNPROTECTED_WEB); 2739 BrowsingDataRemover::ORIGIN_TYPE_UNPROTECTED_WEB);
2739 } 2740 }
2740 2741
2741 void ChromeContentBrowserClient::ClearSiteData( 2742 void ChromeContentBrowserClient::ClearSiteData(
2742 content::BrowserContext* browser_context, 2743 content::BrowserContext* browser_context,
2743 const url::Origin& origin, 2744 const url::Origin& origin,
2744 bool remove_cookies, 2745 bool remove_cookies,
2745 bool remove_storage, 2746 bool remove_storage,
2746 bool remove_cache, 2747 bool remove_cache,
2747 const base::Closure& callback) { 2748 const base::Closure& callback) {
2748 BrowsingDataRemover* remover = 2749 BrowsingDataRemover* remover =
(...skipping 17 matching lines...) Expand all
2766 if (domain.empty()) 2767 if (domain.empty())
2767 domain = origin.host(); // IP address or internal hostname. 2768 domain = origin.host(); // IP address or internal hostname.
2768 2769
2769 std::unique_ptr<BrowsingDataFilterBuilder> domain_filter_builder( 2770 std::unique_ptr<BrowsingDataFilterBuilder> domain_filter_builder(
2770 BrowsingDataFilterBuilder::Create( 2771 BrowsingDataFilterBuilder::Create(
2771 BrowsingDataFilterBuilder::WHITELIST)); 2772 BrowsingDataFilterBuilder::WHITELIST));
2772 domain_filter_builder->AddRegisterableDomain(domain); 2773 domain_filter_builder->AddRegisterableDomain(domain);
2773 2774
2774 remover->RemoveWithFilterAndReply( 2775 remover->RemoveWithFilterAndReply(
2775 base::Time(), base::Time::Max(), 2776 base::Time(), base::Time::Max(),
2776 BrowsingDataRemover::REMOVE_COOKIES | 2777 BrowsingDataRemover::DATA_TYPE_COOKIES |
2777 BrowsingDataRemover::REMOVE_CHANNEL_IDS | 2778 BrowsingDataRemover::DATA_TYPE_CHANNEL_IDS |
2778 BrowsingDataRemover::REMOVE_PLUGIN_DATA, 2779 ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PLUGIN_DATA,
2779 BrowsingDataHelper::ALL, std::move(domain_filter_builder), observer); 2780 ChromeBrowsingDataRemoverDelegate::ALL_ORIGIN_TYPES,
2781 std::move(domain_filter_builder), observer);
2780 } else { 2782 } else {
2781 // The first removal task is a no-op. 2783 // The first removal task is a no-op.
2782 observer->OnBrowsingDataRemoverDone(); 2784 observer->OnBrowsingDataRemoverDone();
2783 } 2785 }
2784 2786
2785 // Delete origin-scoped data. 2787 // Delete origin-scoped data.
2786 int remove_mask = 0; 2788 int remove_mask = 0;
2787 if (remove_storage) { 2789 if (remove_storage) {
2788 remove_mask |= BrowsingDataRemover::REMOVE_SITE_DATA & 2790 remove_mask |= ChromeBrowsingDataRemoverDelegate::DATA_TYPE_SITE_DATA &
2789 ~BrowsingDataRemover::REMOVE_COOKIES & 2791 ~BrowsingDataRemover::DATA_TYPE_COOKIES &
2790 ~BrowsingDataRemover::REMOVE_CHANNEL_IDS & 2792 ~BrowsingDataRemover::DATA_TYPE_CHANNEL_IDS &
2791 ~BrowsingDataRemover::REMOVE_PLUGIN_DATA; 2793 ~ChromeBrowsingDataRemoverDelegate::DATA_TYPE_PLUGIN_DATA;
2792 } 2794 }
2793 if (remove_cache) 2795 if (remove_cache)
2794 remove_mask |= BrowsingDataRemover::REMOVE_CACHE; 2796 remove_mask |= BrowsingDataRemover::DATA_TYPE_CACHE;
2795 2797
2796 if (remove_mask) { 2798 if (remove_mask) {
2797 std::unique_ptr<BrowsingDataFilterBuilder> origin_filter_builder( 2799 std::unique_ptr<BrowsingDataFilterBuilder> origin_filter_builder(
2798 BrowsingDataFilterBuilder::Create( 2800 BrowsingDataFilterBuilder::Create(
2799 BrowsingDataFilterBuilder::WHITELIST)); 2801 BrowsingDataFilterBuilder::WHITELIST));
2800 origin_filter_builder->AddOrigin(origin); 2802 origin_filter_builder->AddOrigin(origin);
2801 2803
2802 remover->RemoveWithFilterAndReply( 2804 remover->RemoveWithFilterAndReply(
2803 base::Time(), base::Time::Max(), 2805 base::Time(), base::Time::Max(), remove_mask,
2804 remove_mask, BrowsingDataHelper::ALL, std::move(origin_filter_builder), 2806 ChromeBrowsingDataRemoverDelegate::ALL_ORIGIN_TYPES,
2805 observer); 2807 std::move(origin_filter_builder), observer);
2806 } else { 2808 } else {
2807 // The second removal task is a no-op. 2809 // The second removal task is a no-op.
2808 observer->OnBrowsingDataRemoverDone(); 2810 observer->OnBrowsingDataRemoverDone();
2809 } 2811 }
2810 } 2812 }
2811 2813
2812 base::FilePath ChromeContentBrowserClient::GetDefaultDownloadDirectory() { 2814 base::FilePath ChromeContentBrowserClient::GetDefaultDownloadDirectory() {
2813 return DownloadPrefs::GetDefaultDownloadDirectory(); 2815 return DownloadPrefs::GetDefaultDownloadDirectory();
2814 } 2816 }
2815 2817
(...skipping 736 matching lines...) Expand 10 before | Expand all | Expand 10 after
3552 RedirectNonUINonIOBrowserThreadsToTaskScheduler() { 3554 RedirectNonUINonIOBrowserThreadsToTaskScheduler() {
3553 return variations::GetVariationParamValue( 3555 return variations::GetVariationParamValue(
3554 "BrowserScheduler", "RedirectNonUINonIOBrowserThreads") == "true"; 3556 "BrowserScheduler", "RedirectNonUINonIOBrowserThreads") == "true";
3555 } 3557 }
3556 3558
3557 // static 3559 // static
3558 void ChromeContentBrowserClient::SetDefaultQuotaSettingsForTesting( 3560 void ChromeContentBrowserClient::SetDefaultQuotaSettingsForTesting(
3559 const storage::QuotaSettings* settings) { 3561 const storage::QuotaSettings* settings) {
3560 g_default_quota_settings = settings; 3562 g_default_quota_settings = settings;
3561 } 3563 }
OLDNEW
« no previous file with comments | « chrome/browser/browsing_data/mock_browsing_data_remover.cc ('k') | chrome/browser/chrome_content_browser_client_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698