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": {
|
"app.runtime": {
|
||||||
"channel": "stable",
|
"noparent": true,
|
||||||
"contexts": ["blessed_extension"],
|
"contexts": ["blessed_extension"],
|
||||||
"extension_types": ["platform_app"],
|
"dependencies": ["permission:app.runtime"]
|
||||||
"noparent": true
|
|
||||||
},
|
},
|
||||||
"app.window": {
|
"app.window": {
|
||||||
"channel": "stable",
|
"noparent": true,
|
||||||
"contexts": ["blessed_extension"],
|
"contexts": ["blessed_extension"],
|
||||||
"extension_types": ["platform_app"],
|
"dependencies": ["permission:app.window"]
|
||||||
"noparent": true
|
|
||||||
},
|
},
|
||||||
"app.currentWindowInternal": {
|
"app.currentWindowInternal": {
|
||||||
"noparent": true,
|
"noparent": true,
|
||||||
|
@@ -29,6 +29,14 @@
|
|||||||
"extension_types": ["extension", "legacy_packaged_app", "platform_app"],
|
"extension_types": ["extension", "legacy_packaged_app", "platform_app"],
|
||||||
"min_manifest_version": 2
|
"min_manifest_version": 2
|
||||||
},
|
},
|
||||||
|
"app.runtime": {
|
||||||
|
"channel": "stable",
|
||||||
|
"extension_types": ["platform_app"]
|
||||||
|
},
|
||||||
|
"app.window": {
|
||||||
|
"channel": "stable",
|
||||||
|
"extension_types": ["platform_app"]
|
||||||
|
},
|
||||||
"audio": [
|
"audio": [
|
||||||
{
|
{
|
||||||
"channel": "dev",
|
"channel": "dev",
|
||||||
|
@@ -281,6 +281,9 @@ std::vector<APIPermissionInfo*> ChromeAPIPermissions::GetAllPermissions()
|
|||||||
APIPermissionInfo::kFlagCannotBeOptional, 0,
|
APIPermissionInfo::kFlagCannotBeOptional, 0,
|
||||||
PermissionMessage::kNone, &CreateAPIPermission<SocketPermission> },
|
PermissionMessage::kNone, &CreateAPIPermission<SocketPermission> },
|
||||||
{ APIPermission::kSocketsUdp, "sockets.udp" },
|
{ APIPermission::kSocketsUdp, "sockets.udp" },
|
||||||
|
{ APIPermission::kAppCurrentWindowInternal, "app.currentWindowInternal" },
|
||||||
|
{ APIPermission::kAppRuntime, "app.runtime" },
|
||||||
|
{ APIPermission::kAppWindow, "app.window" },
|
||||||
{ APIPermission::kAudioCapture, "audioCapture",
|
{ APIPermission::kAudioCapture, "audioCapture",
|
||||||
APIPermissionInfo::kFlagNone,
|
APIPermissionInfo::kFlagNone,
|
||||||
IDS_EXTENSION_PROMPT_WARNING_AUDIO_CAPTURE,
|
IDS_EXTENSION_PROMPT_WARNING_AUDIO_CAPTURE,
|
||||||
|
@@ -640,6 +640,9 @@ TEST(PermissionsTest, PermissionMessages) {
|
|||||||
skip.insert(APIPermission::kActiveTab);
|
skip.insert(APIPermission::kActiveTab);
|
||||||
skip.insert(APIPermission::kAdView);
|
skip.insert(APIPermission::kAdView);
|
||||||
skip.insert(APIPermission::kAlarms);
|
skip.insert(APIPermission::kAlarms);
|
||||||
|
skip.insert(APIPermission::kAppCurrentWindowInternal);
|
||||||
|
skip.insert(APIPermission::kAppRuntime);
|
||||||
|
skip.insert(APIPermission::kAppWindow);
|
||||||
skip.insert(APIPermission::kAudio);
|
skip.insert(APIPermission::kAudio);
|
||||||
skip.insert(APIPermission::kBrowsingData);
|
skip.insert(APIPermission::kBrowsingData);
|
||||||
skip.insert(APIPermission::kContextMenus);
|
skip.insert(APIPermission::kContextMenus);
|
||||||
|
@@ -579,6 +579,18 @@ bool PermissionsData::ParsePermissions(Extension* extension, string16* error) {
|
|||||||
return false;
|
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);
|
initial_optional_permissions_.reset(new InitialPermissions);
|
||||||
if (!ParseHelper(extension,
|
if (!ParseHelper(extension,
|
||||||
keys::kOptionalPermissions,
|
keys::kOptionalPermissions,
|
||||||
|
@@ -2,6 +2,9 @@
|
|||||||
"name": "Extension for testing that apps-only things are blocked",
|
"name": "Extension for testing that apps-only things are blocked",
|
||||||
"version": "0.5",
|
"version": "0.5",
|
||||||
"manifest_version": 2,
|
"manifest_version": 2,
|
||||||
|
"permissions": [
|
||||||
|
"app.window"
|
||||||
|
],
|
||||||
"background": {
|
"background": {
|
||||||
"scripts": ["background.js"]
|
"scripts": ["background.js"]
|
||||||
}
|
}
|
||||||
|
@@ -2,6 +2,7 @@
|
|||||||
"key": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQChIkos4QMuz7xmtnVIPCRZmcKzLyyvChW508KvpVWhdJZjnMShxVqH5QwrEzwtRhK1bTX/Y+7kmKGb9z49O//4KY/gFZQyiRNDnqv85L7fz7ceobLozwQWkhTFafYS39VMs00G0FvgQvEM1gO/Kg3eWVTFRUJCHHrMkO1De2Xd+wIDAQAB",
|
"key": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQChIkos4QMuz7xmtnVIPCRZmcKzLyyvChW508KvpVWhdJZjnMShxVqH5QwrEzwtRhK1bTX/Y+7kmKGb9z49O//4KY/gFZQyiRNDnqv85L7fz7ceobLozwQWkhTFafYS39VMs00G0FvgQvEM1gO/Kg3eWVTFRUJCHHrMkO1De2Xd+wIDAQAB",
|
||||||
"name": "Messaging Test App 1",
|
"name": "Messaging Test App 1",
|
||||||
"version": "0.5",
|
"version": "0.5",
|
||||||
|
"permissions": [ "app.runtime" ],
|
||||||
"app": {
|
"app": {
|
||||||
"background": {
|
"background": {
|
||||||
"scripts": ["background.js"]
|
"scripts": ["background.js"]
|
||||||
|
@@ -2,6 +2,7 @@
|
|||||||
"key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDbh1pj7Q+vZzotbfPfe1Q4AIeJc3gU1xhTSMtjB0UZH+G3ckScJYTnFCTkFAn/mEOtn7e+SZ9rhDf4k6X7Qf6BzK3PLNn3+2Hb/F0NC57hiWI2UyhXY2dl2ry6VENkuyo1QpEMGH5FB5tC2rcuivG8ipBbUWLoQLMbegUdOLXoNK4tGvKwlGa1B0QPAMIkEw3ZlerckC8e+tWC38WvHxy1EM5VeK8k4GcrDEltoVByprTe/8VTzvEsFFYljpIzbSTi6mKOhY2sdl0EfCpXT4dSCeSe81O8liMU1yYKBQCbzguASV7yzZMX08tb96MOpx0NYbYXt03Zyj3xlbep5n4l",
|
"key": "AAAAB3NzaC1yc2EAAAADAQABAAABAQDbh1pj7Q+vZzotbfPfe1Q4AIeJc3gU1xhTSMtjB0UZH+G3ckScJYTnFCTkFAn/mEOtn7e+SZ9rhDf4k6X7Qf6BzK3PLNn3+2Hb/F0NC57hiWI2UyhXY2dl2ry6VENkuyo1QpEMGH5FB5tC2rcuivG8ipBbUWLoQLMbegUdOLXoNK4tGvKwlGa1B0QPAMIkEw3ZlerckC8e+tWC38WvHxy1EM5VeK8k4GcrDEltoVByprTe/8VTzvEsFFYljpIzbSTi6mKOhY2sdl0EfCpXT4dSCeSe81O8liMU1yYKBQCbzguASV7yzZMX08tb96MOpx0NYbYXt03Zyj3xlbep5n4l",
|
||||||
"name": "Messaging Test App 2",
|
"name": "Messaging Test App 2",
|
||||||
"version": "0.5",
|
"version": "0.5",
|
||||||
|
"permissions": [ "app.runtime" ],
|
||||||
"app": {
|
"app": {
|
||||||
"background": {
|
"background": {
|
||||||
"scripts": ["background.js"]
|
"scripts": ["background.js"]
|
||||||
|
@@ -12,6 +12,8 @@
|
|||||||
"permissions": [
|
"permissions": [
|
||||||
"activeTab",
|
"activeTab",
|
||||||
"alarms",
|
"alarms",
|
||||||
|
"app.runtime",
|
||||||
|
"app.window",
|
||||||
"audioCapture",
|
"audioCapture",
|
||||||
"autotestPrivate",
|
"autotestPrivate",
|
||||||
"background",
|
"background",
|
||||||
|
@@ -39,6 +39,9 @@ class APIPermission {
|
|||||||
kActivityLogPrivate,
|
kActivityLogPrivate,
|
||||||
kAdView,
|
kAdView,
|
||||||
kAlarms,
|
kAlarms,
|
||||||
|
kAppCurrentWindowInternal,
|
||||||
|
kAppRuntime,
|
||||||
|
kAppWindow,
|
||||||
kAudio,
|
kAudio,
|
||||||
kAudioCapture,
|
kAudioCapture,
|
||||||
kAutoTestPrivate,
|
kAutoTestPrivate,
|
||||||
|
Reference in New Issue
Block a user