| Index: content/browser/plugin_data_remover_impl.h
|
| ===================================================================
|
| --- content/browser/plugin_data_remover_impl.h (revision 110950)
|
| +++ content/browser/plugin_data_remover_impl.h (working copy)
|
| @@ -9,14 +9,10 @@
|
| #include <string>
|
|
|
| #include "base/compiler_specific.h"
|
| -#include "base/memory/weak_ptr.h"
|
| -#include "content/browser/plugin_process_host.h"
|
| +#include "base/memory/ref_counted.h"
|
| #include "content/public/browser/plugin_data_remover.h"
|
|
|
| -class CONTENT_EXPORT PluginDataRemoverImpl
|
| - : public content::PluginDataRemover,
|
| - public NON_EXPORTED_BASE(PluginProcessHost::Client),
|
| - public IPC::Channel::Listener {
|
| +class CONTENT_EXPORT PluginDataRemoverImpl : public content::PluginDataRemover {
|
| public:
|
| explicit PluginDataRemoverImpl(
|
| const content::ResourceContext& resource_context);
|
| @@ -30,48 +26,16 @@
|
| // different plug-in (for example in tests).
|
| void set_mime_type(const std::string& mime_type) { mime_type_ = mime_type; }
|
|
|
| - // PluginProcessHost::Client methods.
|
| - virtual int ID() OVERRIDE;
|
| - virtual bool OffTheRecord() OVERRIDE;
|
| - virtual const content::ResourceContext& GetResourceContext() OVERRIDE;
|
| - virtual void SetPluginInfo(const webkit::WebPluginInfo& info) OVERRIDE;
|
| - virtual void OnFoundPluginProcessHost(PluginProcessHost* host) OVERRIDE;
|
| - virtual void OnSentPluginChannelRequest() OVERRIDE;
|
| - virtual void OnChannelOpened(const IPC::ChannelHandle& handle) OVERRIDE;
|
| - virtual void OnError() OVERRIDE;
|
| -
|
| - // IPC::Channel::Listener methods.
|
| - virtual bool OnMessageReceived(const IPC::Message& message) OVERRIDE;
|
| - virtual void OnChannelError() OVERRIDE;
|
| -
|
| private:
|
| - // Signals that we are finished with removing data (successful or not). This
|
| - // method is safe to call multiple times.
|
| - void SignalDone();
|
| - // Connects the client side of a newly opened plug-in channel.
|
| - void ConnectToChannel(const IPC::ChannelHandle& handle);
|
| - // Handles the PluginHostMsg_ClearSiteDataResult message.
|
| - void OnClearSiteDataResult(bool success);
|
| - // Called when a timeout happens in order not to block the client
|
| - // indefinitely.
|
| - void OnTimeout();
|
| + class Context;
|
|
|
| std::string mime_type_;
|
| - bool is_starting_process_;
|
| - bool is_removing_;
|
| - // The point in time when we start removing data.
|
| - base::Time remove_start_time_;
|
| - // The point in time from which on we remove data.
|
| - base::Time begin_time_;
|
| // The resource context for the profile.
|
| - const content::ResourceContext& context_;
|
| - scoped_ptr<base::WaitableEvent> event_;
|
| - // We own the channel, but it's used on the IO thread, so it needs to be
|
| - // deleted there. It's NULL until we have opened a connection to the plug-in
|
| - // process.
|
| - IPC::Channel* channel_;
|
| + const content::ResourceContext& resource_context_;
|
|
|
| - base::WeakPtrFactory<PluginDataRemoverImpl> weak_factory_;
|
| + // This allows this object to be deleted on the UI thread while it's still
|
| + // being used on the IO thread.
|
| + scoped_refptr<Context> context_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(PluginDataRemoverImpl);
|
| };
|
|
|