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

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

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

Powered by Google App Engine
This is Rietveld 408576698