diff options
author | chrome-bot@google.com <chrome-bot@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-02 00:14:02 +0000 |
---|---|---|
committer | chrome-bot@google.com <chrome-bot@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-08-02 00:14:02 +0000 |
commit | 4523fd290e2915710025b46c15be689cb7638a00 (patch) | |
tree | 85ab2b1efd9ec09e08ac247128c8dda0735b4399 /chrome/browser/extensions/extension_shelf_model.cc | |
parent | bf0b51cbeef6ec8f7dc0d5fb46c76a739be5f84d (diff) | |
download | chromium_src-4523fd290e2915710025b46c15be689cb7638a00.zip chromium_src-4523fd290e2915710025b46c15be689cb7638a00.tar.gz chromium_src-4523fd290e2915710025b46c15be689cb7638a00.tar.bz2 |
Rolling back change 22245.
Too much red :-(
BUG=None
TEST=None
TBR=erikkay
Review URL: http://codereview.chromium.org/159763
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22247 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions/extension_shelf_model.cc')
-rw-r--r-- | chrome/browser/extensions/extension_shelf_model.cc | 71 |
1 files changed, 24 insertions, 47 deletions
diff --git a/chrome/browser/extensions/extension_shelf_model.cc b/chrome/browser/extensions/extension_shelf_model.cc index 6b7bd0c..1449d97 100644 --- a/chrome/browser/extensions/extension_shelf_model.cc +++ b/chrome/browser/extensions/extension_shelf_model.cc @@ -39,13 +39,11 @@ ExtensionShelfModel::ExtensionShelfModel(Browser* browser) } ExtensionShelfModel::~ExtensionShelfModel() { - FOR_EACH_OBSERVER(ExtensionShelfModelObserver, observers_, - ShelfModelDeleting()); - while (observers_.size()) observers_.RemoveObserver(observers_.GetElementAt(0)); - for (iterator t = toolstrips_.begin(); t != toolstrips_.end(); ++t) + ExtensionToolstrips::iterator t; + for (t = toolstrips_.begin(); t != toolstrips_.end(); ++t) delete t->host; toolstrips_.clear(); } @@ -73,7 +71,7 @@ void ExtensionShelfModel::InsertToolstripAt(int index, } void ExtensionShelfModel::RemoveToolstripAt(int index) { - ExtensionHost* host = ToolstripAt(index).host; + ExtensionHost* host = ToolstripAt(index); FOR_EACH_OBSERVER(ExtensionShelfModelObserver, observers_, ToolstripRemovingAt(host, index)); toolstrips_.erase(toolstrips_.begin() + index); @@ -96,52 +94,33 @@ void ExtensionShelfModel::MoveToolstripAt(int index, int to_index) { UpdatePrefs(); } -int ExtensionShelfModel::IndexOfHost(ExtensionHost* host) { - for (iterator i = toolstrips_.begin(); i != toolstrips_.end(); ++i) { - if (i->host == host) +int ExtensionShelfModel::IndexOfToolstrip(ExtensionHost* toolstrip) { + ExtensionToolstrips::iterator i; + for (i = toolstrips_.begin(); i != toolstrips_.end(); ++i) { + if (i->host == toolstrip) return i - toolstrips_.begin(); } return -1; } -ExtensionShelfModel::iterator ExtensionShelfModel::ToolstripForHost( - ExtensionHost* host) { - for (iterator i = toolstrips_.begin(); i != toolstrips_.end(); ++i) { - if (i->host == host) - return i; - } - return toolstrips_.end(); -} - -const ExtensionShelfModel::ToolstripItem& ExtensionShelfModel::ToolstripAt( - int index) { +ExtensionHost* ExtensionShelfModel::ToolstripAt(int index) { DCHECK(index >= 0); - return toolstrips_[index]; + return toolstrips_[index].host; } -void ExtensionShelfModel::SetToolstripDataAt(int index, void* data) { +Extension::ToolstripInfo& ExtensionShelfModel::ToolstripInfoAt(int index) { DCHECK(index >= 0); - toolstrips_[index].data = data; + return toolstrips_[index].info; } -void ExtensionShelfModel::ExpandToolstrip(iterator toolstrip, - const GURL& url, int height) { - if (toolstrip == end()) - return; - toolstrip->height = height; - toolstrip->url = url; - FOR_EACH_OBSERVER(ExtensionShelfModelObserver, observers_, - ToolstripChanged(toolstrip)); +void* ExtensionShelfModel::ToolstripDataAt(int index) { + DCHECK(index >= 0); + return toolstrips_[index].data; } -void ExtensionShelfModel::CollapseToolstrip(iterator toolstrip, - const GURL& url) { - if (toolstrip == end()) - return; - toolstrip->height = 0; - toolstrip->url = url; - FOR_EACH_OBSERVER(ExtensionShelfModelObserver, observers_, - ToolstripChanged(toolstrip)); +void ExtensionShelfModel::SetToolstripDataAt(int index, void* data) { + DCHECK(index >= 0); + toolstrips_[index].data = data; } void ExtensionShelfModel::Observe(NotificationType type, @@ -157,8 +136,7 @@ void ExtensionShelfModel::Observe(NotificationType type, break; case NotificationType::EXTENSIONS_READY: if (browser_->profile()->GetExtensionsService()) { - AddExtensions( - browser_->profile()->GetExtensionsService()->extensions()); + AddExtensions(browser_->profile()->GetExtensionsService()->extensions()); SortToolstrips(); } ready_ = true; @@ -189,7 +167,6 @@ void ExtensionShelfModel::AddExtension(Extension* extension) { item.host = manager->CreateView(extension, url, browser_); item.info = *toolstrip; item.data = NULL; - item.height = 0; AppendToolstrip(item); } } @@ -205,7 +182,7 @@ void ExtensionShelfModel::AddExtensions(const ExtensionList* extensions) { void ExtensionShelfModel::RemoveExtension(Extension* extension) { bool changed = false; for (int i = count() - 1; i >= 0; --i) { - ExtensionHost* t = ToolstripAt(i).host; + ExtensionHost* t = ToolstripAt(i); if (t->extension()->id() == extension->id()) { changed = true; RemoveToolstripAt(i); @@ -225,7 +202,7 @@ void ExtensionShelfModel::UpdatePrefs() { // It's easiest to just rebuild the list each time. ExtensionPrefs::URLList urls; for (int i = 0; i < count(); ++i) - urls.push_back(ToolstripAt(i).host->GetURL()); + urls.push_back(ToolstripAt(i)->GetURL()); prefs_->SetShelfToolstripOrder(urls); NotificationService::current()->Notify( @@ -236,15 +213,15 @@ void ExtensionShelfModel::UpdatePrefs() { void ExtensionShelfModel::SortToolstrips() { ExtensionPrefs::URLList urls = prefs_->GetShelfToolstripOrder(); - ToolstripList copy = - ToolstripList(toolstrips_.begin(), toolstrips_.end()); + ExtensionToolstrips copy = + ExtensionToolstrips(toolstrips_.begin(), toolstrips_.end()); toolstrips_.clear(); // Go through the urls and find the matching toolstrip, re-adding it to the // new list in the proper order. for (size_t i = 0; i < urls.size(); ++i) { GURL& url = urls[i]; - for (iterator toolstrip = copy.begin(); + for (ExtensionToolstrips::iterator toolstrip = copy.begin(); toolstrip != copy.end(); ++toolstrip) { if (url == toolstrip->host->GetURL()) { // Note that it's technically possible for the same URL to appear in @@ -261,7 +238,7 @@ void ExtensionShelfModel::SortToolstrips() { // Any toolstrips remaining in |copy| were somehow missing from the prefs, // so just append them to the end. - for (iterator toolstrip = copy.begin(); + for (ExtensionToolstrips::iterator toolstrip = copy.begin(); toolstrip != copy.end(); ++toolstrip) { toolstrips_.push_back(*toolstrip); } |