| OLD | NEW |
| 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 #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 <set> | 8 #include <set> |
| 9 | 9 |
| 10 #include "base/gtest_prod_util.h" | 10 #include "base/gtest_prod_util.h" |
| 11 #include "base/memory/ref_counted.h" | 11 #include "base/memory/ref_counted.h" |
| 12 #include "base/observer_list.h" | 12 #include "base/observer_list.h" |
| 13 #include "base/prefs/pref_member.h" | 13 #include "base/prefs/pref_member.h" |
| 14 #include "base/sequenced_task_runner_helpers.h" | 14 #include "base/sequenced_task_runner_helpers.h" |
| 15 #include "base/synchronization/waitable_event_watcher.h" | 15 #include "base/synchronization/waitable_event_watcher.h" |
| 16 #include "base/task/cancelable_task_tracker.h" | 16 #include "base/task/cancelable_task_tracker.h" |
| 17 #include "base/time/time.h" | 17 #include "base/time/time.h" |
| 18 #include "chrome/browser/pepper_flash_settings_manager.h" | 18 #include "chrome/browser/pepper_flash_settings_manager.h" |
| 19 #include "components/search_engines/template_url_service.h" | 19 #include "components/search_engines/template_url_service.h" |
| 20 #if defined(OS_CHROMEOS) | 20 #if defined(OS_CHROMEOS) |
| 21 #include "chromeos/dbus/dbus_method_call_status.h" | 21 #include "chromeos/dbus/dbus_method_call_status.h" |
| 22 #endif | 22 #endif |
| 23 #include "storage/common/quota/quota_types.h" | 23 #include "storage/common/quota/quota_types.h" |
| 24 #include "url/gurl.h" | 24 #include "url/gurl.h" |
| 25 #include "url/origin.h" |
| 25 | 26 |
| 26 class IOThread; | 27 class IOThread; |
| 27 class Profile; | 28 class Profile; |
| 28 | 29 |
| 29 namespace chrome_browser_net { | 30 namespace chrome_browser_net { |
| 30 class Predictor; | 31 class Predictor; |
| 31 } | 32 } |
| 32 | 33 |
| 33 namespace content { | 34 namespace content { |
| 34 class PluginDataRemover; | 35 class PluginDataRemover; |
| (...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 264 void OnDeauthorizeContentLicensesCompleted(uint32 request_id, | 265 void OnDeauthorizeContentLicensesCompleted(uint32 request_id, |
| 265 bool success) override; | 266 bool success) override; |
| 266 #endif | 267 #endif |
| 267 | 268 |
| 268 #if defined (OS_CHROMEOS) | 269 #if defined (OS_CHROMEOS) |
| 269 void OnClearPlatformKeys(chromeos::DBusMethodCallStatus call_status, | 270 void OnClearPlatformKeys(chromeos::DBusMethodCallStatus call_status, |
| 270 bool result); | 271 bool result); |
| 271 #endif | 272 #endif |
| 272 | 273 |
| 273 // Removes the specified items related to browsing for a specific host. If the | 274 // Removes the specified items related to browsing for a specific host. If the |
| 274 // provided |origin| is empty, data is removed for all origins. The | 275 // provided |remove_url| is empty, data is removed for all origins. The |
| 275 // |origin_type_mask| parameter defines the set of origins from which data | 276 // |origin_type_mask| parameter defines the set of origins from which data |
| 276 // should be removed (protected, unprotected, or both). | 277 // should be removed (protected, unprotected, or both). |
| 278 // TODO(mkwst): The current implementation relies on unique (empty) origins to |
| 279 // signal removal of all origins. Reconsider this behavior if/when we build |
| 280 // a "forget this site" feature. |
| 277 void RemoveImpl(int remove_mask, | 281 void RemoveImpl(int remove_mask, |
| 278 const GURL& origin, | 282 const GURL& remove_url, |
| 279 int origin_type_mask); | 283 int origin_type_mask); |
| 280 | 284 |
| 281 // Notifies observers and deletes this object. | 285 // Notifies observers and deletes this object. |
| 282 void NotifyAndDelete(); | 286 void NotifyAndDelete(); |
| 283 | 287 |
| 284 // Checks if we are all done, and if so, calls NotifyAndDelete(). | 288 // Checks if we are all done, and if so, calls NotifyAndDelete(). |
| 285 void NotifyAndDeleteIfDone(); | 289 void NotifyAndDeleteIfDone(); |
| 286 | 290 |
| 287 // Callback for when the hostname resolution cache has been cleared. | 291 // Callback for when the hostname resolution cache has been cleared. |
| 288 // Clears the respective waiting flag and invokes NotifyAndDeleteIfDone. | 292 // Clears the respective waiting flag and invokes NotifyAndDeleteIfDone. |
| (...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 432 bool waiting_for_clear_precache_history_; | 436 bool waiting_for_clear_precache_history_; |
| 433 #endif | 437 #endif |
| 434 bool waiting_for_clear_storage_partition_data_; | 438 bool waiting_for_clear_storage_partition_data_; |
| 435 #if defined(ENABLE_WEBRTC) | 439 #if defined(ENABLE_WEBRTC) |
| 436 bool waiting_for_clear_webrtc_logs_; | 440 bool waiting_for_clear_webrtc_logs_; |
| 437 #endif | 441 #endif |
| 438 | 442 |
| 439 // The removal mask for the current removal operation. | 443 // The removal mask for the current removal operation. |
| 440 int remove_mask_; | 444 int remove_mask_; |
| 441 | 445 |
| 442 // The origin for the current removal operation. | |
| 443 GURL remove_origin_; | |
| 444 | |
| 445 // From which types of origins should we remove data? | 446 // From which types of origins should we remove data? |
| 446 int origin_type_mask_; | 447 int origin_type_mask_; |
| 447 | 448 |
| 448 base::ObserverList<Observer> observer_list_; | 449 base::ObserverList<Observer> observer_list_; |
| 449 | 450 |
| 450 // Used if we need to clear history. | 451 // Used if we need to clear history. |
| 451 base::CancelableTaskTracker history_task_tracker_; | 452 base::CancelableTaskTracker history_task_tracker_; |
| 452 | 453 |
| 453 scoped_ptr<TemplateURLService::Subscription> template_url_sub_; | 454 scoped_ptr<TemplateURLService::Subscription> template_url_sub_; |
| 454 | 455 |
| 455 // We do not own this. | 456 // We do not own this. |
| 456 content::StoragePartition* storage_partition_for_testing_; | 457 content::StoragePartition* storage_partition_for_testing_; |
| 457 | 458 |
| 458 DISALLOW_COPY_AND_ASSIGN(BrowsingDataRemover); | 459 DISALLOW_COPY_AND_ASSIGN(BrowsingDataRemover); |
| 459 }; | 460 }; |
| 460 | 461 |
| 461 #endif // CHROME_BROWSER_BROWSING_DATA_BROWSING_DATA_REMOVER_H_ | 462 #endif // CHROME_BROWSER_BROWSING_DATA_BROWSING_DATA_REMOVER_H_ |
| OLD | NEW |