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

Unified Diff: chrome/common/extensions/extension.cc

Issue 11644057: Move BrowserAction out of Extension (Closed) Base URL: http://git.chromium.org/chromium/src.git@dc_ungoop_extension_action
Patch Set: Combined ActionInfo wrappers Created 8 years 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 side-by-side diff with in-line comments
Download patch
Index: chrome/common/extensions/extension.cc
diff --git a/chrome/common/extensions/extension.cc b/chrome/common/extensions/extension.cc
index 2325ce811d96e296e77417ac95484f46cf831622..b86d1b5e57ae07e2ae2f1b5b22948e9349650145 100644
--- a/chrome/common/extensions/extension.cc
+++ b/chrome/common/extensions/extension.cc
@@ -956,10 +956,11 @@ std::set<FilePath> Extension::GetBrowserImages() const {
}
}
- if (browser_action_info() && !browser_action_info()->default_icon.empty()) {
+ const ActionInfo* browser_action = ActionInfoData::GetBrowserActionInfo(this);
+ if (browser_action && !browser_action->default_icon.empty()) {
for (ExtensionIconSet::IconMap::const_iterator iter =
- browser_action_info()->default_icon.map().begin();
- iter != browser_action_info()->default_icon.map().end();
+ browser_action->default_icon.map().begin();
+ iter != browser_action->default_icon.map().end();
++iter) {
image_paths.insert(FilePath::FromWStringHack(UTF8ToWide(iter->second)));
}
@@ -1264,7 +1265,7 @@ void Extension::ClearTabSpecificPermissions(int tab_id) const {
Extension::ManifestData* Extension::GetManifestData(const std::string& key)
const {
- DCHECK(finished_parsing_manifest_);
+ DCHECK(finished_parsing_manifest_ || thread_checker_.CalledOnValidThread());
ManifestDataMap::const_iterator iter = manifest_data_.find(key);
if (iter != manifest_data_.end())
return iter->second.get();
@@ -1273,7 +1274,7 @@ Extension::ManifestData* Extension::GetManifestData(const std::string& key)
void Extension::SetManifestData(const std::string& key,
Extension::ManifestData* data) {
- DCHECK(!finished_parsing_manifest_);
+ DCHECK(!finished_parsing_manifest_ && thread_checker_.CalledOnValidThread());
manifest_data_[key] = linked_ptr<ManifestData>(data);
}
@@ -2768,7 +2769,6 @@ bool Extension::LoadExtensionFeatures(APIPermissionSet* api_permissions,
!LoadInputComponents(*api_permissions, error) ||
!LoadContentScripts(error) ||
!LoadPageAction(error) ||
- !LoadBrowserAction(error) ||
!LoadSystemIndicator(api_permissions, error) ||
!LoadChromeURLOverrides(error) ||
!LoadTextToSpeechVoices(error) ||
@@ -3011,22 +3011,6 @@ bool Extension::LoadPageAction(string16* error) {
return true;
}
-bool Extension::LoadBrowserAction(string16* error) {
- if (!manifest_->HasKey(keys::kBrowserAction))
- return true;
- DictionaryValue* browser_action_value = NULL;
- if (!manifest_->GetDictionary(keys::kBrowserAction, &browser_action_value)) {
- *error = ASCIIToUTF16(errors::kInvalidBrowserAction);
- return false;
- }
-
- browser_action_info_ = LoadExtensionActionInfoHelper(
- this, browser_action_value, error);
- if (!browser_action_info_.get())
- return false; // Failed to parse browser action definition.
- return true;
-}
-
bool Extension::LoadSystemIndicator(APIPermissionSet* api_permissions,
string16* error) {
if (!manifest_->HasKey(keys::kSystemIndicator)) {
@@ -3659,7 +3643,7 @@ bool Extension::HasMultipleUISurfaces() const {
if (page_action_info())
++num_surfaces;
- if (browser_action_info())
+ if (ActionInfoData::GetBrowserActionInfo(this))
++num_surfaces;
if (is_app())

Powered by Google App Engine
This is Rietveld 408576698