diff options
author | dhnishi <dhnishi@chromium.org> | 2014-09-18 14:40:40 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-09-18 21:41:17 +0000 |
commit | e9c6f1e14435841021cce8f2aa3c201e64576fb6 (patch) | |
tree | 2d6fe626b281abb07355e4b93642d83b252ed41f | |
parent | 7b2042ea269f22b22b9ba180518314d621f8dc44 (diff) | |
download | chromium_src-e9c6f1e14435841021cce8f2aa3c201e64576fb6.zip chromium_src-e9c6f1e14435841021cce8f2aa3c201e64576fb6.tar.gz chromium_src-e9c6f1e14435841021cce8f2aa3c201e64576fb6.tar.bz2 |
Clear power consumption auditing data when you clear history.
This prevents the power consumption data from accidentally leaking visited websites after clearing browser history.
Review URL: https://codereview.chromium.org/514433002
Cr-Commit-Position: refs/heads/master@{#295558}
-rw-r--r-- | chrome/browser/browsing_data/browsing_data_remover.cc | 8 | ||||
-rw-r--r-- | components/power/origin_power_map.cc | 5 | ||||
-rw-r--r-- | components/power/origin_power_map.h | 3 |
3 files changed, 16 insertions, 0 deletions
diff --git a/chrome/browser/browsing_data/browsing_data_remover.cc b/chrome/browser/browsing_data/browsing_data_remover.cc index a38415b..2dc6559 100644 --- a/chrome/browser/browsing_data/browsing_data_remover.cc +++ b/chrome/browser/browsing_data/browsing_data_remover.cc @@ -51,6 +51,8 @@ #include "components/nacl/browser/nacl_browser.h" #include "components/nacl/browser/pnacl_host.h" #include "components/password_manager/core/browser/password_store.h" +#include "components/power/origin_power_map.h" +#include "components/power/origin_power_map_factory.h" #include "components/search_engines/template_url_service.h" #include "components/web_cache/browser/web_cache_manager.h" #include "content/public/browser/browser_thread.h" @@ -304,6 +306,12 @@ void BrowsingDataRemover::RemoveImpl(int remove_mask, #endif } + // The power consumption history by origin contains details of websites + // that were visited. + power::OriginPowerMap* origin_power_map = + power::OriginPowerMapFactory::GetForBrowserContext(profile_); + origin_power_map->ClearOriginMap(); + // Need to clear the host cache and accumulated speculative data, as it also // reveals some history: we have no mechanism to track when these items were // created, so we'll clear them all. Better safe than sorry. diff --git a/components/power/origin_power_map.cc b/components/power/origin_power_map.cc index 4ce32e2..69d9fbd 100644 --- a/components/power/origin_power_map.cc +++ b/components/power/origin_power_map.cc @@ -59,4 +59,9 @@ void OriginPowerMap::OnAllOriginsUpdated() { callback_list_.Notify(); } +void OriginPowerMap::ClearOriginMap() { + origin_map_.clear(); + total_consumed_ = 0; +} + } // namespace power diff --git a/components/power/origin_power_map.h b/components/power/origin_power_map.h index 36caa02..3d664da 100644 --- a/components/power/origin_power_map.h +++ b/components/power/origin_power_map.h @@ -43,6 +43,9 @@ class OriginPowerMap : public KeyedService { // updating for all origins this cycle. void OnAllOriginsUpdated(); + // Clears all URLs out of the map. + void ClearOriginMap(); + private: // OriginMap maps a URL to the amount of power consumed by the URL using the // same units as |total_consumed_|. |