
Review URL: https://chromiumcodereview.appspot.com/10696166 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146071 0039d316-1c4b-4281-b951-d872f2087c98
48 lines
1.4 KiB
C++
48 lines
1.4 KiB
C++
// Copyright (c) 2012 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 CONTENT_BROWSER_PLUGIN_DATA_REMOVER_IMPL_H_
|
|
#define CONTENT_BROWSER_PLUGIN_DATA_REMOVER_IMPL_H_
|
|
|
|
#include <string>
|
|
|
|
#include "base/compiler_specific.h"
|
|
#include "base/memory/ref_counted.h"
|
|
#include "base/time.h"
|
|
#include "content/public/browser/plugin_data_remover.h"
|
|
|
|
namespace content {
|
|
|
|
class CONTENT_EXPORT PluginDataRemoverImpl : public PluginDataRemover {
|
|
public:
|
|
explicit PluginDataRemoverImpl(BrowserContext* browser_context);
|
|
virtual ~PluginDataRemoverImpl();
|
|
|
|
// PluginDataRemover implementation:
|
|
virtual base::WaitableEvent* StartRemoving(base::Time begin_time) OVERRIDE;
|
|
|
|
// The plug-in whose data should be removed (usually Flash) is specified via
|
|
// its MIME type. This method sets a different MIME type in order to call a
|
|
// different plug-in (for example in tests).
|
|
void set_mime_type(const std::string& mime_type) { mime_type_ = mime_type; }
|
|
|
|
private:
|
|
class Context;
|
|
|
|
std::string mime_type_;
|
|
|
|
// The browser context for the profile.
|
|
BrowserContext* browser_context_;
|
|
|
|
// 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);
|
|
};
|
|
|
|
} // namespace content
|
|
|
|
#endif // CONTENT_BROWSER_PLUGIN_DATA_REMOVER_IMPL_H_
|