diff options
author | bbudge@chromium.org <bbudge@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-12-27 22:53:00 +0000 |
---|---|---|
committer | bbudge@chromium.org <bbudge@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-12-27 22:53:00 +0000 |
commit | 3dbfbe511431842975af951be3c32604c76e1c1f (patch) | |
tree | 8c8e102533058f5e704809e47e888ef9302b29b6 /ppapi/proxy/file_io_resource.h | |
parent | 80bdd461307a79d66aa1aa226a37d88b92f0f952 (diff) | |
download | chromium_src-3dbfbe511431842975af951be3c32604c76e1c1f.zip chromium_src-3dbfbe511431842975af951be3c32604c76e1c1f.tar.gz chromium_src-3dbfbe511431842975af951be3c32604c76e1c1f.tar.bz2 |
Pepper: FileIO holds FileSystem ref with scoped_refptr<Resource>.
1) Use a scoped_refptr to keep the FileSystemResource alive.
ScopedPPResource isn't safe for this purpose.
2) Make sure that the FileIOResource always sends a close message, so
the FileIO host can unhook from the FileSystemHost before the latter is
destroyed. Due to refcounting, the destruction order is in some cases not
what we want.
R=teravest@chromium.org
BUG=330809,330859
Review URL: https://codereview.chromium.org/121813002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@242646 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi/proxy/file_io_resource.h')
-rw-r--r-- | ppapi/proxy/file_io_resource.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/ppapi/proxy/file_io_resource.h b/ppapi/proxy/file_io_resource.h index ee19848..bfdf24f 100644 --- a/ppapi/proxy/file_io_resource.h +++ b/ppapi/proxy/file_io_resource.h @@ -164,7 +164,8 @@ class PPAPI_PROXY_EXPORT FileIOResource scoped_refptr<FileHandleHolder> file_handle_; PP_FileSystemType file_system_type_; - ScopedPPResource file_system_resource_; + scoped_refptr<Resource> file_system_resource_; + bool called_close_; FileIOStateManager state_manager_; scoped_refptr<Resource> file_ref_; |