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

Side by Side Diff: chrome/browser/extensions/extensions_service.cc

Issue 149046: PageActions can now specify multiple icons and switch between them... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 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) 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/browser/extensions/extensions_service.h" 5 #include "chrome/browser/extensions/extensions_service.h"
6 6
7 #include "app/l10n_util.h" 7 #include "app/l10n_util.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/crypto/signature_verifier.h" 9 #include "base/crypto/signature_verifier.h"
10 #include "base/file_util.h" 10 #include "base/file_util.h"
(...skipping 734 matching lines...) Expand 10 before | Expand all | Expand 10 after
745 WideToUTF8(plugin.path.ToWStringHack()).c_str())); 745 WideToUTF8(plugin.path.ToWStringHack()).c_str()));
746 return NULL; 746 return NULL;
747 } 747 }
748 } 748 }
749 749
750 // Validate icon location for page actions. 750 // Validate icon location for page actions.
751 const PageActionMap& page_actions = extension->page_actions(); 751 const PageActionMap& page_actions = extension->page_actions();
752 for (PageActionMap::const_iterator i(page_actions.begin()); 752 for (PageActionMap::const_iterator i(page_actions.begin());
753 i != page_actions.end(); ++i) { 753 i != page_actions.end(); ++i) {
754 PageAction* page_action = i->second; 754 PageAction* page_action = i->second;
755 FilePath path = page_action->icon_path(); 755 const std::vector<FilePath>& icon_paths = page_action->icon_paths();
756 if (!file_util::PathExists(path)) { 756 for (std::vector<FilePath>::const_iterator iter = icon_paths.begin();
757 ReportExtensionLoadError(extension_path, 757 iter != icon_paths.end(); ++iter) {
758 StringPrintf("Could not load icon '%s' for page action.", 758 FilePath path = *iter;
759 WideToUTF8(path.ToWStringHack()).c_str())); 759 if (!file_util::PathExists(path)) {
760 return NULL; 760 ReportExtensionLoadError(extension_path,
761 StringPrintf("Could not load icon '%s' for page action.",
762 WideToUTF8(path.ToWStringHack()).c_str()));
763 return NULL;
764 }
761 } 765 }
762 } 766 }
763 767
764 return extension.release(); 768 return extension.release();
765 } 769 }
766 770
767 void ExtensionsServiceBackend::ReportExtensionLoadError( 771 void ExtensionsServiceBackend::ReportExtensionLoadError(
768 const FilePath& extension_path, const std::string &error) { 772 const FilePath& extension_path, const std::string &error) {
769 // TODO(port): note that this isn't guaranteed to work properly on Linux. 773 // TODO(port): note that this isn't guaranteed to work properly on Linux.
770 std::string path_str = WideToASCII(extension_path.ToWStringHack()); 774 std::string path_str = WideToASCII(extension_path.ToWStringHack());
(...skipping 603 matching lines...) Expand 10 before | Expand all | Expand 10 after
1374 Extension::InstallType install_type = 1378 Extension::InstallType install_type =
1375 CompareToInstalledVersion(id, version->GetString(), &current_version); 1379 CompareToInstalledVersion(id, version->GetString(), &current_version);
1376 1380
1377 if (install_type == Extension::DOWNGRADE) 1381 if (install_type == Extension::DOWNGRADE)
1378 return false; 1382 return false;
1379 1383
1380 return (install_type == Extension::UPGRADE || 1384 return (install_type == Extension::UPGRADE ||
1381 install_type == Extension::NEW_INSTALL || 1385 install_type == Extension::NEW_INSTALL ||
1382 NeedsReinstall(id, current_version)); 1386 NeedsReinstall(id, current_version));
1383 } 1387 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698