1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CHROME_BROWSER_UI_WEBUI_OPTIONS_CLEAR_BROWSER_DATA_HANDLER_H_ 6 #define CHROME_BROWSER_UI_WEBUI_OPTIONS_CLEAR_BROWSER_DATA_HANDLER_H_ 7 #pragma once 8 9 #include "chrome/browser/browsing_data_remover.h" 10 #include "chrome/browser/prefs/pref_member.h" 11 #include "chrome/browser/ui/webui/options/options_ui.h" 12 13 // Clear browser data handler page UI handler. 14 class ClearBrowserDataHandler : public OptionsPageUIHandler, 15 public BrowsingDataRemover::Observer { 16 public: 17 ClearBrowserDataHandler(); 18 virtual ~ClearBrowserDataHandler(); 19 20 // OptionsPageUIHandler implementation. 21 virtual void Initialize(); 22 23 virtual void GetLocalizedValues(DictionaryValue* localized_strings); 24 25 // WebUIMessageHandler implementation. 26 virtual void RegisterMessages(); 27 28 private: 29 // Javascript callback to start clearing data. 30 void HandleClearBrowserData(const ListValue* value); 31 32 // Callback from BrowsingDataRemover. Closes the dialog. 33 virtual void OnBrowsingDataRemoverDone(); 34 35 // If non-null it means removal is in progress. BrowsingDataRemover takes care 36 // of deleting itself when done. 37 BrowsingDataRemover* remover_; 38 39 // Keeps track of whether clearing LSO data is supported. 40 BooleanPrefMember clear_plugin_lso_data_enabled_; 41 42 DISALLOW_COPY_AND_ASSIGN(ClearBrowserDataHandler); 43 }; 44 45 #endif // CHROME_BROWSER_UI_WEBUI_OPTIONS_CLEAR_BROWSER_DATA_HANDLER_H_ 46