| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 #ifndef CHROME_BROWSER_BROWSING_DATA_BROWSING_DATA_REMOVER_H_ | 5 #ifndef CHROME_BROWSER_BROWSING_DATA_BROWSING_DATA_REMOVER_H_ |
| 6 #define CHROME_BROWSER_BROWSING_DATA_BROWSING_DATA_REMOVER_H_ | 6 #define CHROME_BROWSER_BROWSING_DATA_BROWSING_DATA_REMOVER_H_ |
| 7 | 7 |
| 8 #include <memory> | 8 #include <memory> |
| 9 #include "base/callback_forward.h" | 9 #include "base/callback_forward.h" |
| 10 #include "base/time/time.h" | 10 #include "base/time/time.h" |
| 11 #include "build/build_config.h" | 11 #include "build/build_config.h" |
| 12 #include "chrome/browser/browsing_data/browsing_data_remover_delegate.h" | 12 #include "chrome/browser/browsing_data/browsing_data_remover_delegate.h" |
| 13 | 13 |
| 14 namespace content { |
| 15 class BrowsingDataFilterBuilder; |
| 16 } |
| 17 |
| 14 //////////////////////////////////////////////////////////////////////////////// | 18 //////////////////////////////////////////////////////////////////////////////// |
| 15 // BrowsingDataRemover is responsible for removing data related to browsing: | 19 // BrowsingDataRemover is responsible for removing data related to browsing: |
| 16 // visits in url database, downloads, cookies ... | 20 // visits in url database, downloads, cookies ... |
| 17 // | 21 // |
| 18 // USAGE: | 22 // USAGE: |
| 19 // | 23 // |
| 20 // 0. Instantiation. | 24 // 0. Instantiation. |
| 21 // | 25 // |
| 22 // BrowsingDataRemover* remover = | 26 // BrowsingDataRemover* remover = |
| 23 // BrowsingDataRemoverFactory::GetForBrowserContext(browser_context); | 27 // BrowsingDataRemoverFactory::GetForBrowserContext(browser_context); |
| (...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 170 Observer* observer) = 0; | 174 Observer* observer) = 0; |
| 171 | 175 |
| 172 // Like Remove(), but in case of URL-keyed only removes data whose URL match | 176 // Like Remove(), but in case of URL-keyed only removes data whose URL match |
| 173 // |filter_builder| (e.g. are on certain origin or domain). | 177 // |filter_builder| (e.g. are on certain origin or domain). |
| 174 // RemoveWithFilter() currently only works with FILTERABLE_DATATYPES. | 178 // RemoveWithFilter() currently only works with FILTERABLE_DATATYPES. |
| 175 virtual void RemoveWithFilter( | 179 virtual void RemoveWithFilter( |
| 176 const base::Time& delete_begin, | 180 const base::Time& delete_begin, |
| 177 const base::Time& delete_end, | 181 const base::Time& delete_end, |
| 178 int remove_mask, | 182 int remove_mask, |
| 179 int origin_type_mask, | 183 int origin_type_mask, |
| 180 std::unique_ptr<BrowsingDataFilterBuilder> filter_builder) = 0; | 184 std::unique_ptr<content::BrowsingDataFilterBuilder> filter_builder) = 0; |
| 181 | 185 |
| 182 // A version of the above that in addition informs the |observer| when the | 186 // A version of the above that in addition informs the |observer| when the |
| 183 // removal task is finished. | 187 // removal task is finished. |
| 184 virtual void RemoveWithFilterAndReply( | 188 virtual void RemoveWithFilterAndReply( |
| 185 const base::Time& delete_begin, | 189 const base::Time& delete_begin, |
| 186 const base::Time& delete_end, | 190 const base::Time& delete_end, |
| 187 int remove_mask, | 191 int remove_mask, |
| 188 int origin_type_mask, | 192 int origin_type_mask, |
| 189 std::unique_ptr<BrowsingDataFilterBuilder> filter_builder, | 193 std::unique_ptr<content::BrowsingDataFilterBuilder> filter_builder, |
| 190 Observer* observer) = 0; | 194 Observer* observer) = 0; |
| 191 | 195 |
| 192 // Observers. | 196 // Observers. |
| 193 virtual void AddObserver(Observer* observer) = 0; | 197 virtual void AddObserver(Observer* observer) = 0; |
| 194 virtual void RemoveObserver(Observer* observer) = 0; | 198 virtual void RemoveObserver(Observer* observer) = 0; |
| 195 | 199 |
| 196 // Parameters of the last call are exposed to be used by tests. Removal and | 200 // Parameters of the last call are exposed to be used by tests. Removal and |
| 197 // origin type masks equal to -1 mean that no removal has ever been executed. | 201 // origin type masks equal to -1 mean that no removal has ever been executed. |
| 198 // TODO(msramek): If other consumers than tests are interested in this, | 202 // TODO(msramek): If other consumers than tests are interested in this, |
| 199 // consider returning them in OnBrowsingDataRemoverDone() callback. If not, | 203 // consider returning them in OnBrowsingDataRemoverDone() callback. If not, |
| 200 // consider simplifying this interface by removing these methods and changing | 204 // consider simplifying this interface by removing these methods and changing |
| 201 // the tests to record the parameters using GMock instead. | 205 // the tests to record the parameters using GMock instead. |
| 202 virtual const base::Time& GetLastUsedBeginTime() = 0; | 206 virtual const base::Time& GetLastUsedBeginTime() = 0; |
| 203 virtual const base::Time& GetLastUsedEndTime() = 0; | 207 virtual const base::Time& GetLastUsedEndTime() = 0; |
| 204 virtual int GetLastUsedRemovalMask() = 0; | 208 virtual int GetLastUsedRemovalMask() = 0; |
| 205 virtual int GetLastUsedOriginTypeMask() = 0; | 209 virtual int GetLastUsedOriginTypeMask() = 0; |
| 206 }; | 210 }; |
| 207 | 211 |
| 208 #endif // CHROME_BROWSER_BROWSING_DATA_BROWSING_DATA_REMOVER_H_ | 212 #endif // CHROME_BROWSER_BROWSING_DATA_BROWSING_DATA_REMOVER_H_ |
| OLD | NEW |