Index: chrome/browser/extensions/api/media_gallery/media_gallery_api.cc |
diff --git a/chrome/browser/extensions/api/media_gallery/media_gallery_api.cc b/chrome/browser/extensions/api/media_gallery/media_gallery_api.cc |
index 15698f6081fcc0582d9248ec50199fa61e7e28ee..6990056754705e9862922f0a89de65250727feb9 100644 |
--- a/chrome/browser/extensions/api/media_gallery/media_gallery_api.cc |
+++ b/chrome/browser/extensions/api/media_gallery/media_gallery_api.cc |
@@ -52,11 +52,16 @@ bool GetMediaFileSystemsFunction::RunImpl() { |
"dirname", Value::CreateStringValue("_")); |
list->Append(dict_value); |
- content::ChildProcessSecurityPolicy* policy = |
- ChildProcessSecurityPolicy::GetInstance(); |
- if (!policy->CanReadFile(child_id, path)) |
- policy->GrantReadFile(child_id, path); |
- policy->GrantReadFileSystem(child_id, fsid); |
+ |
+ if (GetExtension()->HasAPIPermission( |
+ extensions::APIPermission::kMediaGalleriesRead)) { |
+ content::ChildProcessSecurityPolicy* policy = |
+ ChildProcessSecurityPolicy::GetInstance(); |
+ if (!policy->CanReadFile(child_id, path)) |
+ policy->GrantReadFile(child_id, path); |
+ policy->GrantReadFileSystem(child_id, fsid); |
+ } |
Matt Perry
2012/07/24 00:21:07
What happens if the extension doesn't have read pe
vandebo (ex-Chrome)
2012/07/24 00:32:57
It's an implementation detail that we could get he
Matt Perry
2012/07/24 00:51:20
But an extension could get here by only requesting
vandebo (ex-Chrome)
2012/07/24 01:07:59
Correct. That's not an error. But right now, onl
|
+ // TODO(vandebo) Handle write permission. |
} |
SetResult(list); |