Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1935)

Unified Diff: chrome/browser/plugin_data_remover.cc

Issue 7387010: Add PluginServiceFilter interface. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: review Created 9 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/plugin_data_remover.cc
diff --git a/chrome/browser/plugin_data_remover.cc b/chrome/browser/plugin_data_remover.cc
index e17254e763163a43daa933325a8c547bc103ac5f..0136f8e9c4bdf3984469669ee333fa4905df71de 100644
--- a/chrome/browser/plugin_data_remover.cc
+++ b/chrome/browser/plugin_data_remover.cc
@@ -9,6 +9,7 @@
#include "base/metrics/histogram.h"
#include "base/synchronization/waitable_event.h"
#include "base/version.h"
+#include "chrome/browser/profiles/profile.h"
#include "chrome/common/chrome_switches.h"
#include "content/browser/browser_thread.h"
#include "content/browser/plugin_service.h"
@@ -30,9 +31,10 @@ const uint64 kClearAllData = 0;
} // namespace
-PluginDataRemover::PluginDataRemover()
+PluginDataRemover::PluginDataRemover(Profile* profile)
: mime_type_(kFlashMimeType),
is_removing_(false),
+ context_(profile->GetResourceContext()),
event_(new base::WaitableEvent(true, false)),
channel_(NULL) {
}
@@ -50,11 +52,10 @@ base::WaitableEvent* PluginDataRemover::StartRemoving(base::Time begin_time) {
is_removing_ = true;
- // Balanced in OnChannelOpened or OnError. Exactly one them will eventually be
- // called, so we need to keep this object around until then.
- AddRef();
- PluginService::GetInstance()->OpenChannelToNpapiPlugin(
- 0, 0, GURL(), mime_type_, this);
+ BrowserThread::PostTask(
+ BrowserThread::IO,
+ FROM_HERE,
+ NewRunnableMethod(this, &PluginDataRemover::OpenChannel));
BrowserThread::PostDelayedTask(
BrowserThread::IO,
@@ -65,6 +66,14 @@ base::WaitableEvent* PluginDataRemover::StartRemoving(base::Time begin_time) {
return event_.get();
}
+void PluginDataRemover::OpenChannel() {
+ // Balanced in OnChannelOpened or OnError. Exactly one them will eventually be
+ // called, so we need to keep this object around until then.
+ AddRef();
+ PluginService::GetInstance()->OpenChannelToNpapiPlugin(
+ 0, 0, GURL(), GURL(), mime_type_, this);
+}
+
void PluginDataRemover::Wait() {
base::Time start_time(base::Time::Now());
bool result = true;
@@ -86,6 +95,10 @@ bool PluginDataRemover::OffTheRecord() {
return false;
}
+const content::ResourceContext* PluginDataRemover::GetResourceContext() {
+ return &context_;
+}
+
void PluginDataRemover::SetPluginInfo(
const webkit::npapi::WebPluginInfo& info) {
}

Powered by Google App Engine
This is Rietveld 408576698