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

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

Issue 213009: Fix bug where we fail to install an extension that has an empty (Closed)
Patch Set: fix tests Created 11 years, 3 months 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
« no previous file with comments | « no previous file | 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) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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 "app/resource_bundle.h" 7 #include "app/resource_bundle.h"
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "base/file_path.h" 9 #include "base/file_path.h"
10 #include "base/file_util.h" 10 #include "base/file_util.h"
(...skipping 929 matching lines...) Expand 10 before | Expand all | Expand 10 after
940 940
941 // Initialize the permissions (optional). 941 // Initialize the permissions (optional).
942 if (source.HasKey(keys::kPermissions)) { 942 if (source.HasKey(keys::kPermissions)) {
943 ListValue* permissions = NULL; 943 ListValue* permissions = NULL;
944 if (!source.GetList(keys::kPermissions, &permissions)) { 944 if (!source.GetList(keys::kPermissions, &permissions)) {
945 *error = ExtensionErrorUtils::FormatErrorMessage( 945 *error = ExtensionErrorUtils::FormatErrorMessage(
946 errors::kInvalidPermissions, ""); 946 errors::kInvalidPermissions, "");
947 return false; 947 return false;
948 } 948 }
949 949
950 if (permissions->GetSize() == 0) {
951 ExtensionErrorReporter::GetInstance()->ReportError(
952 errors::kInvalidPermissionCountWarning, false);
953 }
954
955 for (size_t i = 0; i < permissions->GetSize(); ++i) { 950 for (size_t i = 0; i < permissions->GetSize(); ++i) {
956 std::string permission_str; 951 std::string permission_str;
957 if (!permissions->GetString(i, &permission_str)) { 952 if (!permissions->GetString(i, &permission_str)) {
958 *error = ExtensionErrorUtils::FormatErrorMessage( 953 *error = ExtensionErrorUtils::FormatErrorMessage(
959 errors::kInvalidPermission, IntToString(i)); 954 errors::kInvalidPermission, IntToString(i));
960 return false; 955 return false;
961 } 956 }
962 957
963 // Check if it's a module permission. If so, enable that permission. 958 // Check if it's a module permission. If so, enable that permission.
964 if (IsAPIPermission(permission_str)) { 959 if (IsAPIPermission(permission_str)) {
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
1131 UserScript::PatternList::const_iterator pattern = 1126 UserScript::PatternList::const_iterator pattern =
1132 content_script->url_patterns().begin(); 1127 content_script->url_patterns().begin();
1133 for (; pattern != content_script->url_patterns().end(); ++pattern) { 1128 for (; pattern != content_script->url_patterns().end(); ++pattern) {
1134 if (pattern->match_subdomains() && pattern->host().empty()) 1129 if (pattern->match_subdomains() && pattern->host().empty())
1135 return true; 1130 return true;
1136 } 1131 }
1137 } 1132 }
1138 1133
1139 return false; 1134 return false;
1140 } 1135 }
OLDNEW
« no previous file with comments | « no previous file | chrome/common/extensions/extension_constants.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698