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

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

Issue 7229012: Use extension match pattern syntax in content settings extension API (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: initialize port Created 9 years, 5 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 | Annotate | Revision Log
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 356 matching lines...) Expand 10 before | Expand all | Expand 10 after
367 367
368 // Helper method that loads a UserScript object from a dictionary in the 368 // Helper method that loads a UserScript object from a dictionary in the
369 // content_script list of the manifest. 369 // content_script list of the manifest.
370 bool Extension::LoadUserScriptHelper(const DictionaryValue* content_script, 370 bool Extension::LoadUserScriptHelper(const DictionaryValue* content_script,
371 int definition_index, 371 int definition_index,
372 int flags, 372 int flags,
373 std::string* error, 373 std::string* error,
374 UserScript* result) { 374 UserScript* result) {
375 // When strict error checks are enabled, make URL pattern parsing strict. 375 // When strict error checks are enabled, make URL pattern parsing strict.
376 URLPattern::ParseOption parse_strictness = 376 URLPattern::ParseOption parse_strictness =
377 (flags & STRICT_ERROR_CHECKS ? URLPattern::PARSE_STRICT 377 (flags & STRICT_ERROR_CHECKS ? URLPattern::ERROR_ON_PORTS
378 : URLPattern::PARSE_LENIENT); 378 : URLPattern::IGNORE_PORTS);
379 379
380 // run_at 380 // run_at
381 if (content_script->HasKey(keys::kRunAt)) { 381 if (content_script->HasKey(keys::kRunAt)) {
382 std::string run_location; 382 std::string run_location;
383 if (!content_script->GetString(keys::kRunAt, &run_location)) { 383 if (!content_script->GetString(keys::kRunAt, &run_location)) {
384 *error = ExtensionErrorUtils::FormatErrorMessage(errors::kInvalidRunAt, 384 *error = ExtensionErrorUtils::FormatErrorMessage(errors::kInvalidRunAt,
385 base::IntToString(definition_index)); 385 base::IntToString(definition_index));
386 return false; 386 return false;
387 } 387 }
388 388
(...skipping 389 matching lines...) Expand 10 before | Expand all | Expand 10 after
778 return NULL; 778 return NULL;
779 } 779 }
780 for (size_t i = 0; i < list_value->GetSize(); ++i) { 780 for (size_t i = 0; i < list_value->GetSize(); ++i) {
781 std::string filter; 781 std::string filter;
782 if (!list_value->GetString(i, &filter)) { 782 if (!list_value->GetString(i, &filter)) {
783 *error = ExtensionErrorUtils::FormatErrorMessage( 783 *error = ExtensionErrorUtils::FormatErrorMessage(
784 errors::kInvalidFileFilterValue, base::IntToString(i)); 784 errors::kInvalidFileFilterValue, base::IntToString(i));
785 return NULL; 785 return NULL;
786 } 786 }
787 URLPattern pattern(URLPattern::SCHEME_FILESYSTEM); 787 URLPattern pattern(URLPattern::SCHEME_FILESYSTEM);
788 if (URLPattern::PARSE_SUCCESS != pattern.Parse(filter, 788 if (pattern.Parse(filter, URLPattern::ERROR_ON_PORTS) !=
789 URLPattern::PARSE_STRICT)) { 789 URLPattern::PARSE_SUCCESS) {
790 *error = ExtensionErrorUtils::FormatErrorMessage( 790 *error = ExtensionErrorUtils::FormatErrorMessage(
791 errors::kInvalidURLPatternError, filter); 791 errors::kInvalidURLPatternError, filter);
792 return NULL; 792 return NULL;
793 } 793 }
794 result->AddPattern(pattern); 794 result->AddPattern(pattern);
795 } 795 }
796 796
797 std::string default_icon; 797 std::string default_icon;
798 // Read the file browser action |default_icon| (optional). 798 // Read the file browser action |default_icon| (optional).
799 if (file_browser_handler->HasKey(keys::kPageActionDefaultIcon)) { 799 if (file_browser_handler->HasKey(keys::kPageActionDefaultIcon)) {
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after
1028 << " should not contain a port. Removing it."; 1028 << " should not contain a port. Removing it.";
1029 1029
1030 GURL::Replacements remove_port; 1030 GURL::Replacements remove_port;
1031 remove_port.ClearPort(); 1031 remove_port.ClearPort();
1032 gallery_url = gallery_url.ReplaceComponents(remove_port); 1032 gallery_url = gallery_url.ReplaceComponents(remove_port);
1033 } 1033 }
1034 1034
1035 launch_web_url_ = gallery_url.spec(); 1035 launch_web_url_ = gallery_url.spec();
1036 1036
1037 URLPattern pattern(kValidWebExtentSchemes); 1037 URLPattern pattern(kValidWebExtentSchemes);
1038 pattern.Parse(gallery_url.spec(), URLPattern::PARSE_STRICT); 1038 pattern.Parse(gallery_url.spec(), URLPattern::ERROR_ON_PORTS);
1039 pattern.SetPath(pattern.path() + '*'); 1039 pattern.SetPath(pattern.path() + '*');
1040 extent_.AddPattern(pattern); 1040 extent_.AddPattern(pattern);
1041 } 1041 }
1042 } 1042 }
1043 } 1043 }
1044 1044
1045 return true; 1045 return true;
1046 } 1046 }
1047 1047
1048 bool Extension::LoadLaunchContainer(const DictionaryValue* manifest, 1048 bool Extension::LoadLaunchContainer(const DictionaryValue* manifest,
(...skipping 267 matching lines...) Expand 10 before | Expand all | Expand 10 after
1316 1316
1317 GURL Extension::GetBaseURLFromExtensionId(const std::string& extension_id) { 1317 GURL Extension::GetBaseURLFromExtensionId(const std::string& extension_id) {
1318 return GURL(std::string(chrome::kExtensionScheme) + 1318 return GURL(std::string(chrome::kExtensionScheme) +
1319 chrome::kStandardSchemeSeparator + extension_id + "/"); 1319 chrome::kStandardSchemeSeparator + extension_id + "/");
1320 } 1320 }
1321 1321
1322 bool Extension::InitFromValue(const DictionaryValue& source, int flags, 1322 bool Extension::InitFromValue(const DictionaryValue& source, int flags,
1323 std::string* error) { 1323 std::string* error) {
1324 // When strict error checks are enabled, make URL pattern parsing strict. 1324 // When strict error checks are enabled, make URL pattern parsing strict.
1325 URLPattern::ParseOption parse_strictness = 1325 URLPattern::ParseOption parse_strictness =
1326 (flags & STRICT_ERROR_CHECKS ? URLPattern::PARSE_STRICT 1326 (flags & STRICT_ERROR_CHECKS ? URLPattern::ERROR_ON_PORTS
1327 : URLPattern::PARSE_LENIENT); 1327 : URLPattern::IGNORE_PORTS);
1328 1328
1329 // Initialize permissions with an empty, default permission set. 1329 // Initialize permissions with an empty, default permission set.
1330 permission_set_.reset(new ExtensionPermissionSet()); 1330 permission_set_.reset(new ExtensionPermissionSet());
1331 1331
1332 if (source.HasKey(keys::kPublicKey)) { 1332 if (source.HasKey(keys::kPublicKey)) {
1333 std::string public_key_bytes; 1333 std::string public_key_bytes;
1334 if (!source.GetString(keys::kPublicKey, 1334 if (!source.GetString(keys::kPublicKey,
1335 &public_key_) || 1335 &public_key_) ||
1336 !ParsePEMKeyBytes(public_key_, 1336 !ParsePEMKeyBytes(public_key_,
1337 &public_key_bytes) || 1337 &public_key_bytes) ||
(...skipping 1341 matching lines...) Expand 10 before | Expand all | Expand 10 after
2679 2679
2680 UninstalledExtensionInfo::~UninstalledExtensionInfo() {} 2680 UninstalledExtensionInfo::~UninstalledExtensionInfo() {}
2681 2681
2682 2682
2683 UnloadedExtensionInfo::UnloadedExtensionInfo( 2683 UnloadedExtensionInfo::UnloadedExtensionInfo(
2684 const Extension* extension, 2684 const Extension* extension,
2685 Reason reason) 2685 Reason reason)
2686 : reason(reason), 2686 : reason(reason),
2687 already_disabled(false), 2687 already_disabled(false),
2688 extension(extension) {} 2688 extension(extension) {}
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698