Index: content/browser/child_process_security_policy_impl.cc |
diff --git a/content/browser/child_process_security_policy_impl.cc b/content/browser/child_process_security_policy_impl.cc |
index 90c0ead285327a2c6104ed7c88dc78a37b4955e9..797e996dd5229cd4ecdd867a5a1857725b191f2c 100644 |
--- a/content/browser/child_process_security_policy_impl.cc |
+++ b/content/browser/child_process_security_policy_impl.cc |
@@ -58,7 +58,7 @@ class ChildProcessSecurityPolicyImpl::SecurityState { |
for (FileSystemMap::iterator iter = filesystem_permissions_.begin(); |
iter != filesystem_permissions_.end(); |
++iter) { |
- isolated_context->RevokeIsolatedFileSystem(iter->first); |
+ isolated_context->RemoveReference(iter->first); |
} |
UMA_HISTOGRAM_COUNTS("ChildProcessSecurityPolicy.PerChildFilePermissions", |
file_permissions_.size()); |
@@ -97,6 +97,9 @@ class ChildProcessSecurityPolicyImpl::SecurityState { |
// Grant certain permissions to a file. |
void GrantPermissionsForFileSystem(const std::string& filesystem_id, |
int permissions) { |
+ if (filesystem_permissions_.find(filesystem_id) == |
+ filesystem_permissions_.end()) |
+ fileapi::IsolatedContext::GetInstance()->AddReference(filesystem_id); |
filesystem_permissions_[filesystem_id] = permissions; |
} |