| Index: chrome/browser/extensions/extension_special_storage_policy.cc
|
| ===================================================================
|
| --- chrome/browser/extensions/extension_special_storage_policy.cc (revision 81835)
|
| +++ chrome/browser/extensions/extension_special_storage_policy.cc (working copy)
|
| @@ -24,10 +24,10 @@
|
| return unlimited_extensions_.Contains(origin);
|
| }
|
|
|
| -bool ExtensionSpecialStoragePolicy::IsLocalFileSystemAccessAllowed(
|
| - const GURL& origin) {
|
| +bool ExtensionSpecialStoragePolicy::IsFileHandler(
|
| + const std::string& extension_id) {
|
| base::AutoLock locker(lock_);
|
| - return local_filesystem_extensions_.Contains(origin);
|
| + return file_handler_extensions_.ContainsExtension(extension_id);
|
| }
|
|
|
| void ExtensionSpecialStoragePolicy::GrantRightsForExtension(
|
| @@ -35,7 +35,7 @@
|
| DCHECK(extension);
|
| if (!extension->is_hosted_app() &&
|
| !extension->HasApiPermission(Extension::kUnlimitedStoragePermission) &&
|
| - !extension->HasApiPermission(Extension::kFileSystemPermission)) {
|
| + !extension->HasApiPermission(Extension::kFileBrowserHandlerPermission)) {
|
| return;
|
| }
|
| base::AutoLock locker(lock_);
|
| @@ -43,8 +43,8 @@
|
| protected_apps_.Add(extension);
|
| if (extension->HasApiPermission(Extension::kUnlimitedStoragePermission))
|
| unlimited_extensions_.Add(extension);
|
| - if (extension->HasApiPermission(Extension::kFileSystemPermission))
|
| - local_filesystem_extensions_.Add(extension);
|
| + if (extension->HasApiPermission(Extension::kFileBrowserHandlerPermission))
|
| + file_handler_extensions_.Add(extension);
|
| }
|
|
|
| void ExtensionSpecialStoragePolicy::RevokeRightsForExtension(
|
| @@ -52,7 +52,7 @@
|
| DCHECK(extension);
|
| if (!extension->is_hosted_app() &&
|
| !extension->HasApiPermission(Extension::kUnlimitedStoragePermission) &&
|
| - !extension->HasApiPermission(Extension::kFileSystemPermission)) {
|
| + !extension->HasApiPermission(Extension::kFileBrowserHandlerPermission)) {
|
| return;
|
| }
|
| base::AutoLock locker(lock_);
|
| @@ -60,15 +60,15 @@
|
| protected_apps_.Remove(extension);
|
| if (extension->HasApiPermission(Extension::kUnlimitedStoragePermission))
|
| unlimited_extensions_.Remove(extension);
|
| - if (extension->HasApiPermission(Extension::kFileSystemPermission))
|
| - local_filesystem_extensions_.Remove(extension);
|
| + if (extension->HasApiPermission(Extension::kFileBrowserHandlerPermission))
|
| + file_handler_extensions_.Remove(extension);
|
| }
|
|
|
| void ExtensionSpecialStoragePolicy::RevokeRightsForAllExtensions() {
|
| base::AutoLock locker(lock_);
|
| protected_apps_.Clear();
|
| unlimited_extensions_.Clear();
|
| - local_filesystem_extensions_.Clear();
|
| + file_handler_extensions_.Clear();
|
| }
|
|
|
| //-----------------------------------------------------------------------------
|
| @@ -81,34 +81,39 @@
|
|
|
| bool ExtensionSpecialStoragePolicy::SpecialCollection::Contains(
|
| const GURL& origin) {
|
| - CachedResults::const_iterator found = cached_resuts_.find(origin);
|
| - if (found != cached_resuts_.end())
|
| + CachedResults::const_iterator found = cached_results_.find(origin);
|
| + if (found != cached_results_.end())
|
| return found->second;
|
|
|
| for (Extensions::const_iterator iter = extensions_.begin();
|
| iter != extensions_.end(); ++iter) {
|
| if (iter->second->OverlapsWithOrigin(origin)) {
|
| - cached_resuts_[origin] = true;
|
| + cached_results_[origin] = true;
|
| return true;
|
| }
|
| }
|
| - cached_resuts_[origin] = false;
|
| + cached_results_[origin] = false;
|
| return false;
|
| }
|
|
|
| +bool ExtensionSpecialStoragePolicy::SpecialCollection::ContainsExtension(
|
| + const std::string& extension_id) {
|
| + return extensions_.find(extension_id) != extensions_.end();
|
| +}
|
| +
|
| void ExtensionSpecialStoragePolicy::SpecialCollection::Add(
|
| const Extension* extension) {
|
| - cached_resuts_.clear();
|
| + cached_results_.clear();
|
| extensions_[extension->id()] = extension;
|
| }
|
|
|
| void ExtensionSpecialStoragePolicy::SpecialCollection::Remove(
|
| const Extension* extension) {
|
| - cached_resuts_.clear();
|
| + cached_results_.clear();
|
| extensions_.erase(extension->id());
|
| }
|
|
|
| void ExtensionSpecialStoragePolicy::SpecialCollection::Clear() {
|
| - cached_resuts_.clear();
|
| + cached_results_.clear();
|
| extensions_.clear();
|
| }
|
|
|