Index: content/renderer/pepper/pepper_plugin_instance_impl.cc |
diff --git a/content/renderer/pepper/pepper_plugin_instance_impl.cc b/content/renderer/pepper/pepper_plugin_instance_impl.cc |
index 42c28b8d49c74c93059eec76185e07b42dbde810..399906671a3849393ba8978c0c1bdf2b91fe791c 100644 |
--- a/content/renderer/pepper/pepper_plugin_instance_impl.cc |
+++ b/content/renderer/pepper/pepper_plugin_instance_impl.cc |
@@ -524,6 +524,7 @@ PepperPluginInstanceImpl::PepperPluginInstanceImpl( |
external_document_load_(false), |
npp_(new NPP_t), |
isolate_(v8::Isolate::GetCurrent()), |
+ is_deleted_(false), |
view_change_weak_ptr_factory_(this) { |
pp_instance_ = HostGlobals::Get()->AddInstance(this); |
@@ -600,6 +601,8 @@ PepperPluginInstanceImpl::~PepperPluginInstanceImpl() { |
// returned, then it needs to keep its own reference on the stack. |
void PepperPluginInstanceImpl::Delete() { |
+ is_deleted_ = true; |
+ |
// Keep a reference on the stack. See NOTE above. |
scoped_refptr<PepperPluginInstanceImpl> ref(this); |
// Force the MessageChannel to release its "passthrough object" which should |
@@ -630,6 +633,10 @@ void PepperPluginInstanceImpl::Delete() { |
container_ = NULL; |
} |
+bool PepperPluginInstanceImpl::is_deleted() const { |
+ return is_deleted_; |
+} |
+ |
void PepperPluginInstanceImpl::Paint(WebCanvas* canvas, |
const gfx::Rect& plugin_rect, |
const gfx::Rect& paint_rect) { |