OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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_UI_WEBUI_SETTINGS_SETTINGS_CLEAR_BROWSING_DATA_HANDLER_H_ | 5 #ifndef CHROME_BROWSER_UI_WEBUI_SETTINGS_SETTINGS_CLEAR_BROWSING_DATA_HANDLER_H_ |
6 #define CHROME_BROWSER_UI_WEBUI_SETTINGS_SETTINGS_CLEAR_BROWSING_DATA_HANDLER_H_ | 6 #define CHROME_BROWSER_UI_WEBUI_SETTINGS_SETTINGS_CLEAR_BROWSING_DATA_HANDLER_H_ |
7 | 7 |
8 #include <memory> | 8 #include <memory> |
| 9 #include <string> |
9 #include <vector> | 10 #include <vector> |
10 | 11 |
11 #include "base/macros.h" | 12 #include "base/macros.h" |
12 #include "base/scoped_observer.h" | 13 #include "base/scoped_observer.h" |
13 #include "chrome/browser/browsing_data/browsing_data_remover.h" | 14 #include "chrome/browser/browsing_data/browsing_data_remover.h" |
14 #include "chrome/browser/profiles/profile.h" | 15 #include "chrome/browser/profiles/profile.h" |
15 #include "chrome/browser/ui/webui/settings/settings_page_ui_handler.h" | 16 #include "chrome/browser/ui/webui/settings/settings_page_ui_handler.h" |
16 #include "components/browser_sync/browser/profile_sync_service.h" | 17 #include "components/browser_sync/browser/profile_sync_service.h" |
17 #include "components/browsing_data/counters/browsing_data_counter.h" | 18 #include "components/browsing_data/counters/browsing_data_counter.h" |
18 #include "components/prefs/pref_change_registrar.h" | 19 #include "components/prefs/pref_change_registrar.h" |
(...skipping 19 matching lines...) Expand all Loading... |
38 // WebUIMessageHandler implementation. | 39 // WebUIMessageHandler implementation. |
39 void RegisterMessages() override; | 40 void RegisterMessages() override; |
40 void OnJavascriptAllowed() override; | 41 void OnJavascriptAllowed() override; |
41 void OnJavascriptDisallowed() override; | 42 void OnJavascriptDisallowed() override; |
42 | 43 |
43 private: | 44 private: |
44 // Clears browsing data, called by Javascript. | 45 // Clears browsing data, called by Javascript. |
45 void HandleClearBrowsingData(const base::ListValue* value); | 46 void HandleClearBrowsingData(const base::ListValue* value); |
46 | 47 |
47 // BrowsingDataRemover::Observer implementation. | 48 // BrowsingDataRemover::Observer implementation. |
48 // Re-enables clear button once all requested data has been removed. | 49 void OnBrowsingDataRemoving(bool is_removing) override; |
49 void OnBrowsingDataRemoverDone() override; | 50 void OnBrowsingDataRemoverDone() override; |
50 | 51 |
51 // Updates UI when the pref to allow clearing history changes. | 52 // Updates UI when the pref to allow clearing history changes. |
52 virtual void OnBrowsingHistoryPrefChanged(); | 53 virtual void OnBrowsingHistoryPrefChanged(); |
53 | 54 |
54 // Initializes the dialog UI. Called by JavaScript when the DOM is ready. | 55 // Initializes the dialog UI. Called by JavaScript when the DOM is ready. |
55 void HandleInitialize(const base::ListValue* args); | 56 void HandleInitialize(const base::ListValue* args); |
56 | 57 |
57 // Implementation of SyncServiceObserver. Updates the footer of the dialog | 58 // Implementation of SyncServiceObserver. Updates the footer of the dialog |
58 // when the sync state changes. | 59 // when the sync state changes. |
(...skipping 23 matching lines...) Expand all Loading... |
82 Profile* profile_; | 83 Profile* profile_; |
83 | 84 |
84 // Counters that calculate the data volume for individual data types. | 85 // Counters that calculate the data volume for individual data types. |
85 std::vector<std::unique_ptr<browsing_data::BrowsingDataCounter>> counters_; | 86 std::vector<std::unique_ptr<browsing_data::BrowsingDataCounter>> counters_; |
86 | 87 |
87 // ProfileSyncService to observe sync state changes. | 88 // ProfileSyncService to observe sync state changes. |
88 ProfileSyncService* sync_service_; | 89 ProfileSyncService* sync_service_; |
89 ScopedObserver<ProfileSyncService, sync_driver::SyncServiceObserver> | 90 ScopedObserver<ProfileSyncService, sync_driver::SyncServiceObserver> |
90 sync_service_observer_; | 91 sync_service_observer_; |
91 | 92 |
92 // If non-null it means removal is in progress. | 93 // Observe the remover progress. |
93 BrowsingDataRemover* remover_; | 94 BrowsingDataRemover* remover_; |
| 95 ScopedObserver<BrowsingDataRemover, BrowsingDataRemover::Observer> |
| 96 remover_observer_; |
94 | 97 |
95 // The WebUI callback ID of the last performClearBrowserData request. There | 98 // The WebUI callback ID of the last performClearBrowserData request. There |
96 // can only be one such request in-flight. | 99 // can only be one such request in-flight. |
97 std::string webui_callback_id_; | 100 std::string webui_callback_id_; |
98 | 101 |
99 // Used to listen for pref changes to allow / disallow deleting browsing data. | 102 // Used to listen for pref changes to allow / disallow deleting browsing data. |
100 PrefChangeRegistrar profile_pref_registrar_; | 103 PrefChangeRegistrar profile_pref_registrar_; |
101 | 104 |
102 // Whether the sentence about other forms of history stored in user's account | 105 // Whether the sentence about other forms of history stored in user's account |
103 // should be displayed in the footer. This value is retrieved asynchronously, | 106 // should be displayed in the footer. This value is retrieved asynchronously, |
104 // so we cache it here. | 107 // so we cache it here. |
105 bool show_history_footer_; | 108 bool show_history_footer_; |
106 | 109 |
107 // Whether we should show a dialog informing the user about other forms of | 110 // Whether we should show a dialog informing the user about other forms of |
108 // history stored in their account after the history deletion is finished. | 111 // history stored in their account after the history deletion is finished. |
109 bool show_history_deletion_dialog_; | 112 bool show_history_deletion_dialog_; |
110 | 113 |
111 // A weak pointer factory for asynchronous calls referencing this class. | 114 // A weak pointer factory for asynchronous calls referencing this class. |
112 base::WeakPtrFactory<ClearBrowsingDataHandler> weak_ptr_factory_; | 115 base::WeakPtrFactory<ClearBrowsingDataHandler> weak_ptr_factory_; |
113 | 116 |
114 DISALLOW_COPY_AND_ASSIGN(ClearBrowsingDataHandler); | 117 DISALLOW_COPY_AND_ASSIGN(ClearBrowsingDataHandler); |
115 }; | 118 }; |
116 | 119 |
117 } // namespace settings | 120 } // namespace settings |
118 | 121 |
119 #endif // CHROME_BROWSER_UI_WEBUI_SETTINGS_SETTINGS_CLEAR_BROWSING_DATA_HANDLER
_H_ | 122 #endif // CHROME_BROWSER_UI_WEBUI_SETTINGS_SETTINGS_CLEAR_BROWSING_DATA_HANDLER
_H_ |
OLD | NEW |