Revert 231504 "Make app APIs implicit within _api_features.json ..."
> Make app APIs implicit within _api_features.json not _permission_features.json. > > BUG=310707 > R=yoz@chromium.org > TBR=achuith@chromium.org > > Review URL: https://codereview.chromium.org/49333004 TBR=kalman@chromium.org Review URL: https://codereview.chromium.org/50523011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@231916 0039d316-1c4b-4281-b951-d872f2087c98
This commit is contained in:
chrome
common
extensions
test
data
extensions
platform_apps
ext_auto
auto_provider
extensions/common/permissions
@ -29,16 +29,14 @@
|
||||
]
|
||||
},
|
||||
"app.runtime": {
|
||||
"channel": "stable",
|
||||
"noparent": true,
|
||||
"contexts": ["blessed_extension"],
|
||||
"extension_types": ["platform_app"],
|
||||
"noparent": true
|
||||
"dependencies": ["permission:app.runtime"]
|
||||
},
|
||||
"app.window": {
|
||||
"channel": "stable",
|
||||
"noparent": true,
|
||||
"contexts": ["blessed_extension"],
|
||||
"extension_types": ["platform_app"],
|
||||
"noparent": true
|
||||
"dependencies": ["permission:app.window"]
|
||||
},
|
||||
"app.currentWindowInternal": {
|
||||
"noparent": true,
|
||||
|
@ -29,6 +29,14 @@
|
||||
"extension_types": ["extension", "legacy_packaged_app", "platform_app"],
|
||||
"min_manifest_version": 2
|
||||
},
|
||||
"app.runtime": {
|
||||
"channel": "stable",
|
||||
"extension_types": ["platform_app"]
|
||||
},
|
||||
"app.window": {
|
||||
"channel": "stable",
|
||||
"extension_types": ["platform_app"]
|
||||
},
|
||||
"audio": [
|
||||
{
|
||||
"channel": "dev",
|
||||
|
@ -281,6 +281,9 @@ std::vector<APIPermissionInfo*> ChromeAPIPermissions::GetAllPermissions()
|
||||
APIPermissionInfo::kFlagCannotBeOptional, 0,
|
||||
PermissionMessage::kNone, &CreateAPIPermission<SocketPermission> },
|
||||
{ APIPermission::kSocketsUdp, "sockets.udp" },
|
||||
{ APIPermission::kAppCurrentWindowInternal, "app.currentWindowInternal" },
|
||||
{ APIPermission::kAppRuntime, "app.runtime" },
|
||||
{ APIPermission::kAppWindow, "app.window" },
|
||||
{ APIPermission::kAudioCapture, "audioCapture",
|
||||
APIPermissionInfo::kFlagNone,
|
||||
IDS_EXTENSION_PROMPT_WARNING_AUDIO_CAPTURE,
|
||||
|
@ -640,6 +640,9 @@ TEST(PermissionsTest, PermissionMessages) {
|
||||
skip.insert(APIPermission::kActiveTab);
|
||||
skip.insert(APIPermission::kAdView);
|
||||
skip.insert(APIPermission::kAlarms);
|
||||
skip.insert(APIPermission::kAppCurrentWindowInternal);
|
||||
skip.insert(APIPermission::kAppRuntime);
|
||||
skip.insert(APIPermission::kAppWindow);
|
||||
skip.insert(APIPermission::kAudio);
|
||||
skip.insert(APIPermission::kBrowsingData);
|
||||
skip.insert(APIPermission::kContextMenus);
|
||||
|
@ -579,6 +579,18 @@ bool PermissionsData::ParsePermissions(Extension* extension, string16* error) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// TODO(jeremya/kalman) do this via the features system by exposing the
|
||||
// app.window API to platform apps, with no dependency on any permissions.
|
||||
// See http://crbug.com/120069.
|
||||
if (extension->is_platform_app()) {
|
||||
initial_required_permissions_->api_permissions.insert(
|
||||
APIPermission::kAppCurrentWindowInternal);
|
||||
initial_required_permissions_->api_permissions.insert(
|
||||
APIPermission::kAppRuntime);
|
||||
initial_required_permissions_->api_permissions.insert(
|
||||
APIPermission::kAppWindow);
|
||||
}
|
||||
|
||||
initial_optional_permissions_.reset(new InitialPermissions);
|
||||
if (!ParseHelper(extension,
|
||||
keys::kOptionalPermissions,
|
||||
|
@ -2,6 +2,9 @@
|
||||
"name": "Extension for testing that apps-only things are blocked",
|
||||
"version": "0.5",
|
||||
"manifest_version": 2,
|
||||
"permissions": [
|
||||
"app.window"
|
||||
],
|
||||
"background": {
|
||||
"scripts": ["background.js"]
|
||||
}
|
||||
|
@ -2,6 +2,7 @@
|
||||
"key": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQChIkos4QMuz7xmtnVIPCRZmcKzLyyvChW508KvpVWhdJZjnMShxVqH5QwrEzwtRhK1bTX/Y+7kmKGb9z49O//4KY/gFZQyiRNDnqv85L7fz7ceobLozwQWkhTFafYS39VMs00G0FvgQvEM1gO/Kg3eWVTFRUJCHHrMkO1De2Xd+wIDAQAB",
|
||||
"name": "Messaging Test App 1",
|
||||
"version": "0.5",
|
||||
"permissions": [ "app.runtime" ],
|
||||
"app": {
|
||||
"background": {
|
||||
"scripts": ["background.js"]
|
||||
|
@ -2,6 +2,7 @@
|
||||
"key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDbh1pj7Q+vZzotbfPfe1Q4AIeJc3gU1xhTSMtjB0UZH+G3ckScJYTnFCTkFAn/mEOtn7e+SZ9rhDf4k6X7Qf6BzK3PLNn3+2Hb/F0NC57hiWI2UyhXY2dl2ry6VENkuyo1QpEMGH5FB5tC2rcuivG8ipBbUWLoQLMbegUdOLXoNK4tGvKwlGa1B0QPAMIkEw3ZlerckC8e+tWC38WvHxy1EM5VeK8k4GcrDEltoVByprTe/8VTzvEsFFYljpIzbSTi6mKOhY2sdl0EfCpXT4dSCeSe81O8liMU1yYKBQCbzguASV7yzZMX08tb96MOpx0NYbYXt03Zyj3xlbep5n4l",
|
||||
"name": "Messaging Test App 2",
|
||||
"version": "0.5",
|
||||
"permissions": [ "app.runtime" ],
|
||||
"app": {
|
||||
"background": {
|
||||
"scripts": ["background.js"]
|
||||
|
@ -12,6 +12,8 @@
|
||||
"permissions": [
|
||||
"activeTab",
|
||||
"alarms",
|
||||
"app.runtime",
|
||||
"app.window",
|
||||
"audioCapture",
|
||||
"autotestPrivate",
|
||||
"background",
|
||||
|
@ -39,6 +39,9 @@ class APIPermission {
|
||||
kActivityLogPrivate,
|
||||
kAdView,
|
||||
kAlarms,
|
||||
kAppCurrentWindowInternal,
|
||||
kAppRuntime,
|
||||
kAppWindow,
|
||||
kAudio,
|
||||
kAudioCapture,
|
||||
kAutoTestPrivate,
|
||||
|
Reference in New Issue
Block a user