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

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

Issue 7253001: Added a private chromeAuthPrivate API. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixed unittest failure Created 9 years, 6 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
« no previous file with comments | « chrome/common/extensions/extension.h ('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 256 matching lines...) Expand 10 before | Expand all | Expand 10 after
267 CHECK(loc1_rank != loc2_rank); 267 CHECK(loc1_rank != loc2_rank);
268 268
269 // Lowest rank has highest priority. 269 // Lowest rank has highest priority.
270 return (loc1_rank > loc2_rank ? loc1 : loc2 ); 270 return (loc1_rank > loc2_rank ? loc1 : loc2 );
271 } 271 }
272 272
273 ExtensionPermissionMessages Extension::GetPermissionMessages() const { 273 ExtensionPermissionMessages Extension::GetPermissionMessages() const {
274 return permission_set_->GetPermissionMessages(); 274 return permission_set_->GetPermissionMessages();
275 } 275 }
276 276
277 void Extension::OverrideLaunchUrl(const GURL& override_url) {
278 GURL new_url(override_url);
279 if (!new_url.is_valid()) {
280 LOG(WARNING) << "Invalid override url given for " << name();
281 } else {
282 if (new_url.has_port()) {
283 LOG(WARNING) << "Override URL passed for " << name()
284 << " should not contain a port. Removing it.";
285
286 GURL::Replacements remove_port;
287 remove_port.ClearPort();
288 new_url = new_url.ReplaceComponents(remove_port);
289 }
290
291 launch_web_url_ = new_url.spec();
292
293 URLPattern pattern(kValidWebExtentSchemes);
294 pattern.Parse(new_url.spec(), URLPattern::PARSE_STRICT);
295 pattern.SetPath(pattern.path() + '*');
296 extent_.AddPattern(pattern);
297 }
298 }
299
277 std::vector<string16> Extension::GetPermissionMessageStrings() const { 300 std::vector<string16> Extension::GetPermissionMessageStrings() const {
278 return permission_set_->GetWarningMessages(); 301 return permission_set_->GetWarningMessages();
279 } 302 }
280 303
281 FilePath Extension::MaybeNormalizePath(const FilePath& path) { 304 FilePath Extension::MaybeNormalizePath(const FilePath& path) {
282 #if defined(OS_WIN) 305 #if defined(OS_WIN)
283 // Normalize any drive letter to upper-case. We do this for consistency with 306 // Normalize any drive letter to upper-case. We do this for consistency with
284 // net_utils::FilePathToFileURL(), which does the same thing, to make string 307 // net_utils::FilePathToFileURL(), which does the same thing, to make string
285 // comparisons simpler. 308 // comparisons simpler.
286 std::wstring path_str = path.value(); 309 std::wstring path_str = path.value();
(...skipping 725 matching lines...) Expand 10 before | Expand all | Expand 10 after
1012 // In order for the --apps-gallery-url switch to work with the gallery 1035 // In order for the --apps-gallery-url switch to work with the gallery
1013 // process isolation, we must insert any provided value into the component 1036 // process isolation, we must insert any provided value into the component
1014 // app's launch url and web extent. 1037 // app's launch url and web extent.
1015 if (id() == extension_misc::kWebStoreAppId) { 1038 if (id() == extension_misc::kWebStoreAppId) {
1016 std::string gallery_url_str = CommandLine::ForCurrentProcess()-> 1039 std::string gallery_url_str = CommandLine::ForCurrentProcess()->
1017 GetSwitchValueASCII(switches::kAppsGalleryURL); 1040 GetSwitchValueASCII(switches::kAppsGalleryURL);
1018 1041
1019 // Empty string means option was not used. 1042 // Empty string means option was not used.
1020 if (!gallery_url_str.empty()) { 1043 if (!gallery_url_str.empty()) {
1021 GURL gallery_url(gallery_url_str); 1044 GURL gallery_url(gallery_url_str);
1022 if (!gallery_url.is_valid()) { 1045 OverrideLaunchUrl(gallery_url);
1023 LOG(WARNING) << "Invalid url given in switch " 1046 }
1024 << switches::kAppsGalleryURL; 1047 } else if (id() == extension_misc::kCloudPrintAppId) {
1025 } else { 1048 // In order for the --cloud-print-service switch to work, we must update
1026 if (gallery_url.has_port()) { 1049 // the launch URL and web extent.
1027 LOG(WARNING) << "URLs passed to switch " << switches::kAppsGalleryURL 1050 // TODO(sanjeevr): Ideally we want to use CloudPrintURL here but that is
1028 << " should not contain a port. Removing it."; 1051 // currently under chrome/browser.
1029 1052 const CommandLine& command_line = *CommandLine::ForCurrentProcess();
1030 GURL::Replacements remove_port; 1053 GURL cloud_print_service_url = GURL(command_line.GetSwitchValueASCII(
1031 remove_port.ClearPort(); 1054 switches::kCloudPrintServiceURL));
1032 gallery_url = gallery_url.ReplaceComponents(remove_port); 1055 if (!cloud_print_service_url.is_empty()) {
1033 } 1056 std::string path(
1034 1057 cloud_print_service_url.path() + "/enable_chrome_connector");
1035 launch_web_url_ = gallery_url.spec(); 1058 GURL::Replacements replacements;
1036 1059 replacements.SetPathStr(path);
1037 URLPattern pattern(kValidWebExtentSchemes); 1060 GURL cloud_print_enable_connector_url =
1038 pattern.Parse(gallery_url.spec(), URLPattern::PARSE_STRICT); 1061 cloud_print_service_url.ReplaceComponents(replacements);
1039 pattern.SetPath(pattern.path() + '*'); 1062 OverrideLaunchUrl(cloud_print_enable_connector_url);
1040 extent_.AddPattern(pattern);
1041 }
1042 } 1063 }
1043 } 1064 }
1044
1045 return true; 1065 return true;
1046 } 1066 }
1047 1067
1048 bool Extension::LoadLaunchContainer(const DictionaryValue* manifest, 1068 bool Extension::LoadLaunchContainer(const DictionaryValue* manifest,
1049 std::string* error) { 1069 std::string* error) {
1050 Value* temp = NULL; 1070 Value* temp = NULL;
1051 if (!manifest->Get(keys::kLaunchContainer, &temp)) 1071 if (!manifest->Get(keys::kLaunchContainer, &temp))
1052 return true; 1072 return true;
1053 1073
1054 std::string launch_container_string; 1074 std::string launch_container_string;
(...skipping 1624 matching lines...) Expand 10 before | Expand all | Expand 10 after
2679 2699
2680 UninstalledExtensionInfo::~UninstalledExtensionInfo() {} 2700 UninstalledExtensionInfo::~UninstalledExtensionInfo() {}
2681 2701
2682 2702
2683 UnloadedExtensionInfo::UnloadedExtensionInfo( 2703 UnloadedExtensionInfo::UnloadedExtensionInfo(
2684 const Extension* extension, 2704 const Extension* extension,
2685 Reason reason) 2705 Reason reason)
2686 : reason(reason), 2706 : reason(reason),
2687 already_disabled(false), 2707 already_disabled(false),
2688 extension(extension) {} 2708 extension(extension) {}
OLDNEW
« no previous file with comments | « chrome/common/extensions/extension.h ('k') | chrome/common/extensions/extension_constants.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698