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

Unified Diff: chrome/browser/extensions/extension_shelf_model.cc

Issue 159763: Rolling back change 22245. (Closed) Base URL: svn://chrome-svn.corp.google.com/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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/extension_shelf_model.cc
===================================================================
--- chrome/browser/extensions/extension_shelf_model.cc (revision 22246)
+++ chrome/browser/extensions/extension_shelf_model.cc (working copy)
@@ -39,13 +39,11 @@
}
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::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,54 +94,35 @@
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();
+ExtensionHost* ExtensionShelfModel::ToolstripAt(int index) {
+ DCHECK(index >= 0);
+ return toolstrips_[index].host;
}
-const ExtensionShelfModel::ToolstripItem& ExtensionShelfModel::ToolstripAt(
- int index) {
+Extension::ToolstripInfo& ExtensionShelfModel::ToolstripInfoAt(int index) {
DCHECK(index >= 0);
- return toolstrips_[index];
+ return toolstrips_[index].info;
}
+void* ExtensionShelfModel::ToolstripDataAt(int index) {
+ DCHECK(index >= 0);
+ return toolstrips_[index].data;
+}
+
void ExtensionShelfModel::SetToolstripDataAt(int index, void* data) {
DCHECK(index >= 0);
toolstrips_[index].data = data;
}
-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::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::Observe(NotificationType type,
const NotificationSource& source,
const NotificationDetails& details) {
@@ -157,8 +136,7 @@
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 @@
item.host = manager->CreateView(extension, url, browser_);
item.info = *toolstrip;
item.data = NULL;
- item.height = 0;
AppendToolstrip(item);
}
}
@@ -205,7 +182,7 @@
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 @@
// 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::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 @@
// 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);
}
« no previous file with comments | « chrome/browser/extensions/extension_shelf_model.h ('k') | chrome/browser/extensions/extension_shelf_model_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698