Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(405)

Side by Side Diff: chrome/common/extensions/extension.cc

Issue 8734016: Make platform apps use and require a different container ("shell" instead of "panel") (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase Created 9 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/chrome_tests.gypi ('k') | chrome/common/extensions/extension_constants.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/common/extensions/extension.h" 5 #include "chrome/common/extensions/extension.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/base64.h" 9 #include "base/base64.h"
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 1087 matching lines...) Expand 10 before | Expand all | Expand 10 after
1098 Value* temp = NULL; 1098 Value* temp = NULL;
1099 if (!manifest->Get(keys::kLaunchContainer, &temp)) 1099 if (!manifest->Get(keys::kLaunchContainer, &temp))
1100 return true; 1100 return true;
1101 1101
1102 std::string launch_container_string; 1102 std::string launch_container_string;
1103 if (!temp->GetAsString(&launch_container_string)) { 1103 if (!temp->GetAsString(&launch_container_string)) {
1104 *error = errors::kInvalidLaunchContainer; 1104 *error = errors::kInvalidLaunchContainer;
1105 return false; 1105 return false;
1106 } 1106 }
1107 1107
1108 if (launch_container_string == values::kLaunchContainerPanel) { 1108 if (launch_container_string == values::kLaunchContainerShell) {
1109 launch_container_ = extension_misc::LAUNCH_SHELL;
1110 } else if (launch_container_string == values::kLaunchContainerPanel) {
1109 launch_container_ = extension_misc::LAUNCH_PANEL; 1111 launch_container_ = extension_misc::LAUNCH_PANEL;
1110 } else if (launch_container_string == values::kLaunchContainerTab) { 1112 } else if (launch_container_string == values::kLaunchContainerTab) {
1111 launch_container_ = extension_misc::LAUNCH_TAB; 1113 launch_container_ = extension_misc::LAUNCH_TAB;
1112 } else { 1114 } else {
1113 *error = errors::kInvalidLaunchContainer; 1115 *error = errors::kInvalidLaunchContainer;
1114 return false; 1116 return false;
1115 } 1117 }
1116 1118
1117 // Validate the container width if present. 1119 // Validate the container width if present.
1118 if (manifest->Get(keys::kLaunchWidth, &temp)) { 1120 if (manifest->Get(keys::kLaunchWidth, &temp)) {
(...skipping 423 matching lines...) Expand 10 before | Expand all | Expand 10 after
1542 &extent_, 1544 &extent_,
1543 errors::kInvalidWebURLs, errors::kInvalidWebURL, 1545 errors::kInvalidWebURLs, errors::kInvalidWebURL,
1544 parse_strictness, error) || 1546 parse_strictness, error) ||
1545 !EnsureNotHybridApp(manifest_value_.get(), error) || 1547 !EnsureNotHybridApp(manifest_value_.get(), error) ||
1546 !LoadLaunchURL(manifest_value_.get(), error) || 1548 !LoadLaunchURL(manifest_value_.get(), error) ||
1547 !LoadLaunchContainer(manifest_value_.get(), error)) { 1549 !LoadLaunchContainer(manifest_value_.get(), error)) {
1548 return false; 1550 return false;
1549 } 1551 }
1550 1552
1551 if (is_platform_app_) { 1553 if (is_platform_app_) {
1552 if (launch_container() != extension_misc::LAUNCH_PANEL) { 1554 if (launch_container() != extension_misc::LAUNCH_SHELL) {
1553 *error = errors::kInvalidLaunchContainerForPlatform; 1555 *error = errors::kInvalidLaunchContainerForPlatform;
1554 return false; 1556 return false;
1555 } 1557 }
1558 } else if (launch_container() == extension_misc::LAUNCH_SHELL) {
1559 *error = errors::kInvalidLaunchContainerForNonPlatform;
1560 return false;
1556 } 1561 }
1557 1562
1558 // Initialize the permissions (optional). 1563 // Initialize the permissions (optional).
1559 ExtensionAPIPermissionSet api_permissions; 1564 ExtensionAPIPermissionSet api_permissions;
1560 URLPatternSet host_permissions; 1565 URLPatternSet host_permissions;
1561 if (!ParsePermissions(&source, 1566 if (!ParsePermissions(&source,
1562 keys::kPermissions, 1567 keys::kPermissions,
1563 flags, 1568 flags,
1564 error, 1569 error,
1565 &api_permissions, 1570 &api_permissions,
(...skipping 1503 matching lines...) Expand 10 before | Expand all | Expand 10 after
3069 already_disabled(false), 3074 already_disabled(false),
3070 extension(extension) {} 3075 extension(extension) {}
3071 3076
3072 UpdatedExtensionPermissionsInfo::UpdatedExtensionPermissionsInfo( 3077 UpdatedExtensionPermissionsInfo::UpdatedExtensionPermissionsInfo(
3073 const Extension* extension, 3078 const Extension* extension,
3074 const ExtensionPermissionSet* permissions, 3079 const ExtensionPermissionSet* permissions,
3075 Reason reason) 3080 Reason reason)
3076 : reason(reason), 3081 : reason(reason),
3077 extension(extension), 3082 extension(extension),
3078 permissions(permissions) {} 3083 permissions(permissions) {}
OLDNEW
« no previous file with comments | « chrome/chrome_tests.gypi ('k') | chrome/common/extensions/extension_constants.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698