| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 <ostream> | 7 #include <ostream> |
| 8 | 8 |
| 9 #include "base/base64.h" | 9 #include "base/base64.h" |
| 10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
| (...skipping 1403 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1414 | 1414 |
| 1415 bool Extension::LoadIcons(string16* error) { | 1415 bool Extension::LoadIcons(string16* error) { |
| 1416 if (!manifest_->HasKey(keys::kIcons)) | 1416 if (!manifest_->HasKey(keys::kIcons)) |
| 1417 return true; | 1417 return true; |
| 1418 DictionaryValue* icons_value = NULL; | 1418 DictionaryValue* icons_value = NULL; |
| 1419 if (!manifest_->GetDictionary(keys::kIcons, &icons_value)) { | 1419 if (!manifest_->GetDictionary(keys::kIcons, &icons_value)) { |
| 1420 *error = ASCIIToUTF16(errors::kInvalidIcons); | 1420 *error = ASCIIToUTF16(errors::kInvalidIcons); |
| 1421 return false; | 1421 return false; |
| 1422 } | 1422 } |
| 1423 | 1423 |
| 1424 for (size_t i = 0; i < ExtensionIconSet::kNumIconSizes; ++i) { | 1424 for (size_t i = 0; i < extension_misc::kNumExtensionIconSizes; ++i) { |
| 1425 std::string key = base::IntToString(ExtensionIconSet::kIconSizes[i]); | 1425 std::string key = |
| 1426 base::IntToString(extension_misc::kExtensionIconSizes[i]); |
| 1426 if (icons_value->HasKey(key)) { | 1427 if (icons_value->HasKey(key)) { |
| 1427 std::string icon_path; | 1428 std::string icon_path; |
| 1428 if (!icons_value->GetString(key, &icon_path)) { | 1429 if (!icons_value->GetString(key, &icon_path)) { |
| 1429 *error = ExtensionErrorUtils::FormatErrorMessageUTF16( | 1430 *error = ExtensionErrorUtils::FormatErrorMessageUTF16( |
| 1430 errors::kInvalidIconPath, key); | 1431 errors::kInvalidIconPath, key); |
| 1431 return false; | 1432 return false; |
| 1432 } | 1433 } |
| 1433 | 1434 |
| 1434 if (!icon_path.empty() && icon_path[0] == '/') | 1435 if (!icon_path.empty() && icon_path[0] == '/') |
| 1435 icon_path = icon_path.substr(1); | 1436 icon_path = icon_path.substr(1); |
| 1436 | 1437 |
| 1437 if (icon_path.empty()) { | 1438 if (icon_path.empty()) { |
| 1438 *error = ExtensionErrorUtils::FormatErrorMessageUTF16( | 1439 *error = ExtensionErrorUtils::FormatErrorMessageUTF16( |
| 1439 errors::kInvalidIconPath, key); | 1440 errors::kInvalidIconPath, key); |
| 1440 return false; | 1441 return false; |
| 1441 } | 1442 } |
| 1442 icons_.Add(ExtensionIconSet::kIconSizes[i], icon_path); | 1443 icons_.Add(extension_misc::kExtensionIconSizes[i], icon_path); |
| 1443 } | 1444 } |
| 1444 } | 1445 } |
| 1445 return true; | 1446 return true; |
| 1446 } | 1447 } |
| 1447 | 1448 |
| 1448 bool Extension::LoadCommands(string16* error) { | 1449 bool Extension::LoadCommands(string16* error) { |
| 1449 if (manifest_->HasKey(keys::kCommands)) { | 1450 if (manifest_->HasKey(keys::kCommands)) { |
| 1450 DictionaryValue* commands = NULL; | 1451 DictionaryValue* commands = NULL; |
| 1451 if (!manifest_->GetDictionary(keys::kCommands, &commands)) { | 1452 if (!manifest_->GetDictionary(keys::kCommands, &commands)) { |
| 1452 *error = ASCIIToUTF16(errors::kInvalidCommandsKey); | 1453 *error = ASCIIToUTF16(errors::kInvalidCommandsKey); |
| (...skipping 911 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2364 InstallWarning(InstallWarning::FORMAT_TEXT, | 2365 InstallWarning(InstallWarning::FORMAT_TEXT, |
| 2365 errors::kScriptBadgeTitleIgnored)); | 2366 errors::kScriptBadgeTitleIgnored)); |
| 2366 } | 2367 } |
| 2367 script_badge_->SetTitle(ExtensionAction::kDefaultTabId, name()); | 2368 script_badge_->SetTitle(ExtensionAction::kDefaultTabId, name()); |
| 2368 | 2369 |
| 2369 if (!script_badge_->default_icon_path().empty()) { | 2370 if (!script_badge_->default_icon_path().empty()) { |
| 2370 install_warnings_.push_back( | 2371 install_warnings_.push_back( |
| 2371 InstallWarning(InstallWarning::FORMAT_TEXT, | 2372 InstallWarning(InstallWarning::FORMAT_TEXT, |
| 2372 errors::kScriptBadgeIconIgnored)); | 2373 errors::kScriptBadgeIconIgnored)); |
| 2373 } | 2374 } |
| 2374 std::string icon16_path = icons().Get(ExtensionIconSet::EXTENSION_ICON_BITTY, | 2375 std::string icon16_path = icons().Get(extension_misc::EXTENSION_ICON_BITTY, |
| 2375 ExtensionIconSet::MATCH_EXACTLY); | 2376 ExtensionIconSet::MATCH_EXACTLY); |
| 2376 if (!icon16_path.empty()) { | 2377 if (!icon16_path.empty()) { |
| 2377 script_badge_->set_default_icon_path(icon16_path); | 2378 script_badge_->set_default_icon_path(icon16_path); |
| 2378 } else { | 2379 } else { |
| 2379 script_badge_->SetIcon( | 2380 script_badge_->SetIcon( |
| 2380 ExtensionAction::kDefaultTabId, | 2381 ExtensionAction::kDefaultTabId, |
| 2381 ui::ResourceBundle::GetSharedInstance().GetImageNamed( | 2382 ui::ResourceBundle::GetSharedInstance().GetImageNamed( |
| 2382 IDR_EXTENSIONS_FAVICON)); | 2383 IDR_EXTENSIONS_FAVICON)); |
| 2383 } | 2384 } |
| 2384 | 2385 |
| (...skipping 622 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3007 output->append(is_public ? kPublic : kPrivate); | 3008 output->append(is_public ? kPublic : kPrivate); |
| 3008 output->append(" "); | 3009 output->append(" "); |
| 3009 output->append(kKeyInfoEndMarker); | 3010 output->append(kKeyInfoEndMarker); |
| 3010 output->append("\n"); | 3011 output->append("\n"); |
| 3011 | 3012 |
| 3012 return true; | 3013 return true; |
| 3013 } | 3014 } |
| 3014 | 3015 |
| 3015 // static | 3016 // static |
| 3016 void Extension::DecodeIcon(const Extension* extension, | 3017 void Extension::DecodeIcon(const Extension* extension, |
| 3017 ExtensionIconSet::Icons preferred_icon_size, | 3018 int preferred_icon_size, |
| 3018 ExtensionIconSet::MatchType match_type, | 3019 ExtensionIconSet::MatchType match_type, |
| 3019 scoped_ptr<SkBitmap>* result) { | 3020 scoped_ptr<SkBitmap>* result) { |
| 3020 std::string path = extension->icons().Get(preferred_icon_size, match_type); | 3021 std::string path = extension->icons().Get(preferred_icon_size, match_type); |
| 3021 ExtensionIconSet::Icons size = extension->icons().GetIconSizeFromPath(path); | 3022 int size = extension->icons().GetIconSizeFromPath(path); |
| 3022 ExtensionResource icon_resource = extension->GetResource(path); | 3023 ExtensionResource icon_resource = extension->GetResource(path); |
| 3023 DecodeIconFromPath(icon_resource.GetFilePath(), size, result); | 3024 DecodeIconFromPath(icon_resource.GetFilePath(), size, result); |
| 3024 } | 3025 } |
| 3025 | 3026 |
| 3026 // static | 3027 // static |
| 3027 void Extension::DecodeIcon(const Extension* extension, | 3028 void Extension::DecodeIcon(const Extension* extension, |
| 3028 ExtensionIconSet::Icons icon_size, | 3029 int icon_size, |
| 3029 scoped_ptr<SkBitmap>* result) { | 3030 scoped_ptr<SkBitmap>* result) { |
| 3030 DecodeIcon(extension, icon_size, ExtensionIconSet::MATCH_EXACTLY, result); | 3031 DecodeIcon(extension, icon_size, ExtensionIconSet::MATCH_EXACTLY, result); |
| 3031 } | 3032 } |
| 3032 | 3033 |
| 3033 // static | 3034 // static |
| 3034 void Extension::DecodeIconFromPath(const FilePath& icon_path, | 3035 void Extension::DecodeIconFromPath(const FilePath& icon_path, |
| 3035 ExtensionIconSet::Icons icon_size, | 3036 int icon_size, |
| 3036 scoped_ptr<SkBitmap>* result) { | 3037 scoped_ptr<SkBitmap>* result) { |
| 3037 if (icon_path.empty()) | 3038 if (icon_path.empty()) |
| 3038 return; | 3039 return; |
| 3039 | 3040 |
| 3040 std::string file_contents; | 3041 std::string file_contents; |
| 3041 if (!file_util::ReadFileToString(icon_path, &file_contents)) { | 3042 if (!file_util::ReadFileToString(icon_path, &file_contents)) { |
| 3042 DLOG(ERROR) << "Could not read icon file: " << icon_path.LossyDisplayName(); | 3043 DLOG(ERROR) << "Could not read icon file: " << icon_path.LossyDisplayName(); |
| 3043 return; | 3044 return; |
| 3044 } | 3045 } |
| 3045 | 3046 |
| (...skipping 879 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3925 | 3926 |
| 3926 UpdatedExtensionPermissionsInfo::UpdatedExtensionPermissionsInfo( | 3927 UpdatedExtensionPermissionsInfo::UpdatedExtensionPermissionsInfo( |
| 3927 const Extension* extension, | 3928 const Extension* extension, |
| 3928 const PermissionSet* permissions, | 3929 const PermissionSet* permissions, |
| 3929 Reason reason) | 3930 Reason reason) |
| 3930 : reason(reason), | 3931 : reason(reason), |
| 3931 extension(extension), | 3932 extension(extension), |
| 3932 permissions(permissions) {} | 3933 permissions(permissions) {} |
| 3933 | 3934 |
| 3934 } // namespace extensions | 3935 } // namespace extensions |
| OLD | NEW |