Index: chrome/browser/webui/options/clear_browser_data_handler.h |
diff --git a/chrome/browser/webui/options/clear_browser_data_handler.h b/chrome/browser/webui/options/clear_browser_data_handler.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..9c1c2ef3e89669f9ba31a46d11b15869f6000518 |
--- /dev/null |
+++ b/chrome/browser/webui/options/clear_browser_data_handler.h |
@@ -0,0 +1,54 @@ |
+// Copyright (c) 2011 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef CHROME_BROWSER_WEBUI_OPTIONS_CLEAR_BROWSER_DATA_HANDLER_H_ |
+#define CHROME_BROWSER_WEBUI_OPTIONS_CLEAR_BROWSER_DATA_HANDLER_H_ |
+#pragma once |
+ |
+#include "chrome/browser/dom_ui/options/options_ui.h" |
+#include "chrome/browser/browsing_data_remover.h" |
+#include "chrome/browser/plugin_data_remover_helper.h" |
+ |
+// Clear browser data handler page UI handler. |
+class ClearBrowserDataHandler : public OptionsPageUIHandler, |
+ public BrowsingDataRemover::Observer { |
+ public: |
+ ClearBrowserDataHandler(); |
+ virtual ~ClearBrowserDataHandler(); |
+ |
+ // OptionsUIHandler implementation. |
+ virtual void Initialize(); |
+ |
+ virtual void GetLocalizedValues(DictionaryValue* localized_strings); |
+ |
+ // WebUIMessageHandler implementation. |
+ virtual void RegisterMessages(); |
+ |
+ // NotificationObserver implementation. |
+ virtual void Observe(NotificationType type, |
+ const NotificationSource& source, |
+ const NotificationDetails& details); |
+ |
+ private: |
+ // Javascript callback to start clearing data. |
+ void HandleClearBrowserData(const ListValue* value); |
+ |
+ // Updates the UI to reflect whether clearing LSO data is supported. |
+ void UpdateClearPluginLSOData(); |
+ |
+ // Callback from BrowsingDataRemover. Closes the dialog. |
+ virtual void OnBrowsingDataRemoverDone(); |
+ |
+ // If non-null it means removal is in progress. BrowsingDataRemover takes care |
+ // of deleting itself when done. |
+ BrowsingDataRemover* remover_; |
+ |
+ // Used for asynchronously updating the preference stating whether clearing |
+ // LSO data is supported. |
+ PluginDataRemoverHelper clear_plugin_lso_data_enabled_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(ClearBrowserDataHandler); |
+}; |
+ |
+#endif // CHROME_BROWSER_WEBUI_OPTIONS_CLEAR_BROWSER_DATA_HANDLER_H_ |