summaryrefslogtreecommitdiffstats
path: root/content/public/renderer
diff options
context:
space:
mode:
authorbrettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-21 01:30:27 +0000
committerbrettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-12-21 01:30:27 +0000
commit3507cc7914911e274911141e37b2cee9cb31c58d (patch)
tree390438278bf159434323b6133c53dd94b4eed373 /content/public/renderer
parentf4298ef402a6d3de995cb75a84dcf67d50716f4b (diff)
downloadchromium_src-3507cc7914911e274911141e37b2cee9cb31c58d.zip
chromium_src-3507cc7914911e274911141e37b2cee9cb31c58d.tar.gz
chromium_src-3507cc7914911e274911141e37b2cee9cb31c58d.tar.bz2
Ensure that all resources are torn down before the routing.
This force-deletes the resources before the various PpapiHosts are torn down. This ensures that all pointers are still valid at the time of resource destruction, allowing resources to do nontrivial things in their destructors. This part of the patch is forward-lookind and doesn't fix any current known bugs. Also force-unbind all the graphics from the instance destructor as well, which ensures that the Graphics2D host doesn't have a pointer to a bound instance that outlasts that instance (which fixes the below-mentioned bug). BUG=166353 Review URL: https://chromiumcodereview.appspot.com/11640030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@174309 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/public/renderer')
-rw-r--r--content/public/renderer/renderer_ppapi_host.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/content/public/renderer/renderer_ppapi_host.h b/content/public/renderer/renderer_ppapi_host.h
index e9e1cbf..f8a1432 100644
--- a/content/public/renderer/renderer_ppapi_host.h
+++ b/content/public/renderer/renderer_ppapi_host.h
@@ -82,7 +82,8 @@ class RendererPpapiHost {
virtual bool IsValidInstance(PP_Instance instance) const = 0;
// Returns the PluginInstance for the given PP_Instance, or NULL if the
- // PP_Instance is invalid.
+ // PP_Instance is invalid (the common case this will be invalid is during
+ // plugin teardown when resource hosts are being force-freed).
virtual webkit::ppapi::PluginInstance* GetPluginInstance(
PP_Instance instance) const = 0;