diff options
author | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-12-21 01:30:27 +0000 |
---|---|---|
committer | brettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-12-21 01:30:27 +0000 |
commit | 3507cc7914911e274911141e37b2cee9cb31c58d (patch) | |
tree | 390438278bf159434323b6133c53dd94b4eed373 /content/public/renderer | |
parent | f4298ef402a6d3de995cb75a84dcf67d50716f4b (diff) | |
download | chromium_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.h | 3 |
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; |