[email protected] | e346424 | 2012-05-05 00:45:38 | [diff] [blame] | 1 | // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
[email protected] | d8e68201 | 2011-11-17 18:31:54 | [diff] [blame] | 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 CONTENT_PUBLIC_BROWSER_PLUGIN_DATA_REMOVER_H_ | ||||
6 | #define CONTENT_PUBLIC_BROWSER_PLUGIN_DATA_REMOVER_H_ | ||||
[email protected] | d8e68201 | 2011-11-17 18:31:54 | [diff] [blame] | 7 | |
[email protected] | e346424 | 2012-05-05 00:45:38 | [diff] [blame] | 8 | #include <vector> |
9 | |||||
[email protected] | abb52216 | 2013-06-28 01:54:16 | [diff] [blame] | 10 | #include "base/time/time.h" |
[email protected] | d8e68201 | 2011-11-17 18:31:54 | [diff] [blame] | 11 | #include "content/common/content_export.h" |
12 | |||||
13 | namespace base { | ||||
14 | class WaitableEvent; | ||||
15 | } | ||||
16 | |||||
[email protected] | d8e68201 | 2011-11-17 18:31:54 | [diff] [blame] | 17 | namespace content { |
[email protected] | d7bd3e5 | 2013-07-21 04:29:20 | [diff] [blame] | 18 | struct WebPluginInfo; |
[email protected] | d8e68201 | 2011-11-17 18:31:54 | [diff] [blame] | 19 | |
[email protected] | 1bf0fb2 | 2012-04-12 21:44:16 | [diff] [blame] | 20 | class BrowserContext; |
21 | |||||
[email protected] | d8e68201 | 2011-11-17 18:31:54 | [diff] [blame] | 22 | class CONTENT_EXPORT PluginDataRemover { |
23 | public: | ||||
[email protected] | 1bf0fb2 | 2012-04-12 21:44:16 | [diff] [blame] | 24 | static PluginDataRemover* Create(content::BrowserContext* browser_context); |
[email protected] | d8e68201 | 2011-11-17 18:31:54 | [diff] [blame] | 25 | virtual ~PluginDataRemover() {} |
26 | |||||
tommycli | e86b298 | 2015-03-16 20:16:45 | [diff] [blame^] | 27 | // Starts removing plugin data stored since |begin_time|. |
[email protected] | d8e68201 | 2011-11-17 18:31:54 | [diff] [blame] | 28 | virtual base::WaitableEvent* StartRemoving(base::Time begin_time) = 0; |
29 | |||||
tommycli | e86b298 | 2015-03-16 20:16:45 | [diff] [blame^] | 30 | // Returns a list of all plugins that support removing LSO data. This method |
[email protected] | d8e68201 | 2011-11-17 18:31:54 | [diff] [blame] | 31 | // will use cached plugin data. Call PluginService::GetPlugins() if the latest |
32 | // data is needed. | ||||
[email protected] | d7bd3e5 | 2013-07-21 04:29:20 | [diff] [blame] | 33 | static void GetSupportedPlugins(std::vector<WebPluginInfo>* plugins); |
[email protected] | d8e68201 | 2011-11-17 18:31:54 | [diff] [blame] | 34 | }; |
35 | |||||
36 | } // namespace content | ||||
37 | |||||
38 | #endif // CONTENT_PUBLIC_BROWSER_PLUGIN_DATA_REMOVER_H_ |