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

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

Issue 10824344: Renamed ExtensionIdSet to ExtensionIds (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: undid files where I went too far Created 8 years, 4 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) 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/browser/extensions/extension_toolbar_model.h" 5 #include "chrome/browser/extensions/extension_toolbar_model.h"
6 6
7 #include "chrome/browser/extensions/browser_event_router.h" 7 #include "chrome/browser/extensions/browser_event_router.h"
8 #include "chrome/browser/extensions/extension_prefs.h" 8 #include "chrome/browser/extensions/extension_prefs.h"
9 #include "chrome/browser/extensions/extension_service.h" 9 #include "chrome/browser/extensions/extension_service.h"
10 #include "chrome/browser/extensions/tab_helper.h" 10 #include "chrome/browser/extensions/tab_helper.h"
(...skipping 253 matching lines...) Expand 10 before | Expand all | Expand 10 after
264 else 264 else
265 PopulateForNonActionBoxMode(); 265 PopulateForNonActionBoxMode();
266 266
267 UpdatePrefs(); 267 UpdatePrefs();
268 268
269 extensions_initialized_ = true; 269 extensions_initialized_ = true;
270 FOR_EACH_OBSERVER(Observer, observers_, ModelLoaded()); 270 FOR_EACH_OBSERVER(Observer, observers_, ModelLoaded());
271 } 271 }
272 272
273 void ExtensionToolbarModel::PopulateForActionBoxMode() { 273 void ExtensionToolbarModel::PopulateForActionBoxMode() {
274 const extensions::ExtensionPrefs::ExtensionIdSet toolbar_order = 274 const extensions::ExtensionPrefs::ExtensionIds toolbar_order =
275 service_->extension_prefs()->GetToolbarOrder(); 275 service_->extension_prefs()->GetToolbarOrder();
276 extensions::ExtensionPrefs::ExtensionIdSet action_box_order = 276 extensions::ExtensionPrefs::ExtensionIds action_box_order =
277 service_->extension_prefs()->GetActionBoxOrder(); 277 service_->extension_prefs()->GetActionBoxOrder();
278 278
279 // Add all browser actions not already in the toolbar or action box 279 // Add all browser actions not already in the toolbar or action box
280 // to the action box (the prefs list may omit some extensions). 280 // to the action box (the prefs list may omit some extensions).
281 for (ExtensionSet::const_iterator iter = service_->extensions()->begin(); 281 for (ExtensionSet::const_iterator iter = service_->extensions()->begin();
282 iter != service_->extensions()->end(); ++iter) { 282 iter != service_->extensions()->end(); ++iter) {
283 const Extension* extension = *iter; 283 const Extension* extension = *iter;
284 if (!extension->browser_action()) 284 if (!extension->browser_action())
285 continue; 285 continue;
286 286
287 if (std::find(toolbar_order.begin(), toolbar_order.end(), 287 if (std::find(toolbar_order.begin(), toolbar_order.end(),
288 extension->id()) != toolbar_order.end()) 288 extension->id()) != toolbar_order.end())
289 continue; 289 continue;
290 290
291 if (std::find(action_box_order.begin(), action_box_order.end(), 291 if (std::find(action_box_order.begin(), action_box_order.end(),
292 extension->id()) != action_box_order.end()) 292 extension->id()) != action_box_order.end())
293 continue; 293 continue;
294 294
295 action_box_order.push_back(extension->id()); 295 action_box_order.push_back(extension->id());
296 } 296 }
297 297
298 FillExtensionList(action_box_order, &action_box_menu_items_); 298 FillExtensionList(action_box_order, &action_box_menu_items_);
299 FillExtensionList(toolbar_order, &toolbar_items_); 299 FillExtensionList(toolbar_order, &toolbar_items_);
300 } 300 }
301 301
302 void ExtensionToolbarModel::PopulateForNonActionBoxMode() { 302 void ExtensionToolbarModel::PopulateForNonActionBoxMode() {
303 const extensions::ExtensionPrefs::ExtensionIdSet pref_order = 303 const extensions::ExtensionPrefs::ExtensionIds pref_order =
304 service_->extension_prefs()->GetToolbarOrder(); 304 service_->extension_prefs()->GetToolbarOrder();
305 // Items that have a pref for their position. 305 // Items that have a pref for their position.
306 ExtensionList sorted; 306 ExtensionList sorted;
307 sorted.resize(pref_order.size(), NULL); 307 sorted.resize(pref_order.size(), NULL);
308 // The items that don't have a pref for their position. 308 // The items that don't have a pref for their position.
309 ExtensionList unsorted; 309 ExtensionList unsorted;
310 310
311 // Create the lists. 311 // Create the lists.
312 for (ExtensionSet::const_iterator it = service_->extensions()->begin(); 312 for (ExtensionSet::const_iterator it = service_->extensions()->begin();
313 it != service_->extensions()->end(); ++it) { 313 it != service_->extensions()->end(); ++it) {
314 const Extension* extension = *it; 314 const Extension* extension = *it;
315 if (!extension->browser_action()) 315 if (!extension->browser_action())
316 continue; 316 continue;
317 if (!service_->extension_prefs()->GetBrowserActionVisibility(extension)) 317 if (!service_->extension_prefs()->GetBrowserActionVisibility(extension))
318 continue; 318 continue;
319 319
320 extensions::ExtensionPrefs::ExtensionIdSet::const_iterator pos = 320 extensions::ExtensionPrefs::ExtensionIds::const_iterator pos =
321 std::find(pref_order.begin(), pref_order.end(), extension->id()); 321 std::find(pref_order.begin(), pref_order.end(), extension->id());
322 if (pos != pref_order.end()) 322 if (pos != pref_order.end())
323 sorted[pos - pref_order.begin()] = extension; 323 sorted[pos - pref_order.begin()] = extension;
324 else 324 else
325 unsorted.push_back(make_scoped_refptr(extension)); 325 unsorted.push_back(make_scoped_refptr(extension));
326 } 326 }
327 327
328 // Merge the lists. 328 // Merge the lists.
329 toolbar_items_.clear(); 329 toolbar_items_.clear();
330 toolbar_items_.reserve(sorted.size() + unsorted.size()); 330 toolbar_items_.reserve(sorted.size() + unsorted.size());
(...skipping 12 matching lines...) Expand all
343 unsorted.end()); 343 unsorted.end());
344 344
345 // Inform observers. 345 // Inform observers.
346 for (size_t i = 0; i < toolbar_items_.size(); i++) { 346 for (size_t i = 0; i < toolbar_items_.size(); i++) {
347 FOR_EACH_OBSERVER(Observer, observers_, 347 FOR_EACH_OBSERVER(Observer, observers_,
348 BrowserActionAdded(toolbar_items_[i], i)); 348 BrowserActionAdded(toolbar_items_[i], i));
349 } 349 }
350 } 350 }
351 351
352 void ExtensionToolbarModel::FillExtensionList( 352 void ExtensionToolbarModel::FillExtensionList(
353 const extensions::ExtensionPrefs::ExtensionIdSet& order, 353 const extensions::ExtensionPrefs::ExtensionIds& order,
354 ExtensionList* list) { 354 ExtensionList* list) {
355 list->clear(); 355 list->clear();
356 list->reserve(order.size()); 356 list->reserve(order.size());
357 for (size_t i = 0; i < order.size(); ++i) { 357 for (size_t i = 0; i < order.size(); ++i) {
358 const extensions::Extension* extension = 358 const extensions::Extension* extension =
359 service_->GetExtensionById(order[i], false); 359 service_->GetExtensionById(order[i], false);
360 if (extension) 360 if (extension)
361 AddExtension(extension, list); 361 AddExtension(extension, list);
362 } 362 }
363 } 363 }
364 364
365 void ExtensionToolbarModel::UpdatePrefs() { 365 void ExtensionToolbarModel::UpdatePrefs() {
366 if (!service_->extension_prefs()) 366 if (!service_->extension_prefs())
367 return; 367 return;
368 368
369 extensions::ExtensionPrefs::ExtensionIdSet toolbar_ids; 369 extensions::ExtensionPrefs::ExtensionIds toolbar_ids;
370 toolbar_ids.reserve(toolbar_items_.size()); 370 toolbar_ids.reserve(toolbar_items_.size());
371 for (size_t i = 0; i < toolbar_items_.size(); ++i) 371 for (size_t i = 0; i < toolbar_items_.size(); ++i)
372 toolbar_ids.push_back(toolbar_items_[i]->id()); 372 toolbar_ids.push_back(toolbar_items_[i]->id());
373 service_->extension_prefs()->SetToolbarOrder(toolbar_ids); 373 service_->extension_prefs()->SetToolbarOrder(toolbar_ids);
374 374
375 extensions::ExtensionPrefs::ExtensionIdSet action_box_ids; 375 extensions::ExtensionPrefs::ExtensionIds action_box_ids;
376 action_box_ids.reserve(action_box_menu_items_.size()); 376 action_box_ids.reserve(action_box_menu_items_.size());
377 for (size_t i = 0; i < action_box_menu_items_.size(); ++i) 377 for (size_t i = 0; i < action_box_menu_items_.size(); ++i)
378 action_box_ids.push_back(action_box_menu_items_[i]->id()); 378 action_box_ids.push_back(action_box_menu_items_[i]->id());
379 service_->extension_prefs()->SetActionBoxOrder(action_box_ids); 379 service_->extension_prefs()->SetActionBoxOrder(action_box_ids);
380 } 380 }
381 381
382 int ExtensionToolbarModel::IncognitoIndexToOriginal(int incognito_index) { 382 int ExtensionToolbarModel::IncognitoIndexToOriginal(int incognito_index) {
383 int original_index = 0, i = 0; 383 int original_index = 0, i = 0;
384 for (ExtensionList::iterator iter = toolbar_items_.begin(); 384 for (ExtensionList::iterator iter = toolbar_items_.begin();
385 iter != toolbar_items_.end(); 385 iter != toolbar_items_.end();
(...skipping 12 matching lines...) Expand all
398 for (ExtensionList::iterator iter = toolbar_items_.begin(); 398 for (ExtensionList::iterator iter = toolbar_items_.begin();
399 iter != toolbar_items_.end(); 399 iter != toolbar_items_.end();
400 ++iter, ++i) { 400 ++iter, ++i) {
401 if (original_index == i) 401 if (original_index == i)
402 break; 402 break;
403 if (service_->IsIncognitoEnabled((*iter)->id())) 403 if (service_->IsIncognitoEnabled((*iter)->id()))
404 ++incognito_index; 404 ++incognito_index;
405 } 405 }
406 return incognito_index; 406 return incognito_index;
407 } 407 }
OLDNEW
« no previous file with comments | « chrome/browser/extensions/extension_toolbar_model.h ('k') | chrome/browser/protector/protected_prefs_watcher.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698