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

Side by Side Diff: chrome/browser/ui/ash/launcher/chrome_launcher_controller_unittest.cc

Issue 97173003: ash: Rename more Launcher classes to Shelf*. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: link chrome Created 7 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/ui/ash/launcher/chrome_launcher_controller.h" 5 #include "chrome/browser/ui/ash/launcher/chrome_launcher_controller.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
11 #include "ash/ash_switches.h" 11 #include "ash/ash_switches.h"
12 #include "ash/launcher/launcher_item_delegate_manager.h" 12 #include "ash/shelf/shelf_item_delegate_manager.h"
13 #include "ash/shelf/shelf_model.h" 13 #include "ash/shelf/shelf_model.h"
14 #include "ash/shelf/shelf_model_observer.h" 14 #include "ash/shelf/shelf_model_observer.h"
15 #include "ash/shell.h" 15 #include "ash/shell.h"
16 #include "ash/test/launcher_item_delegate_manager_test_api.h" 16 #include "ash/test/shelf_item_delegate_manager_test_api.h"
17 #include "base/command_line.h" 17 #include "base/command_line.h"
18 #include "base/compiler_specific.h" 18 #include "base/compiler_specific.h"
19 #include "base/files/file_path.h" 19 #include "base/files/file_path.h"
20 #include "base/memory/scoped_ptr.h" 20 #include "base/memory/scoped_ptr.h"
21 #include "base/message_loop/message_loop.h" 21 #include "base/message_loop/message_loop.h"
22 #include "base/strings/utf_string_conversions.h" 22 #include "base/strings/utf_string_conversions.h"
23 #include "base/values.h" 23 #include "base/values.h"
24 #include "chrome/browser/extensions/extension_service.h" 24 #include "chrome/browser/extensions/extension_service.h"
25 #include "chrome/browser/extensions/test_extension_system.h" 25 #include "chrome/browser/extensions/test_extension_system.h"
26 #include "chrome/browser/ui/ash/chrome_launcher_prefs.h" 26 #include "chrome/browser/ui/ash/chrome_launcher_prefs.h"
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after
234 virtual void Close() OVERRIDE {} 234 virtual void Close() OVERRIDE {}
235 virtual bool ItemSelected(const ui::Event& event) OVERRIDE { return false; } 235 virtual bool ItemSelected(const ui::Event& event) OVERRIDE { return false; }
236 virtual string16 GetTitle() OVERRIDE { return string16(); } 236 virtual string16 GetTitle() OVERRIDE { return string16(); }
237 virtual ChromeLauncherAppMenuItems GetApplicationList( 237 virtual ChromeLauncherAppMenuItems GetApplicationList(
238 int event_flags) OVERRIDE { 238 int event_flags) OVERRIDE {
239 ChromeLauncherAppMenuItems items; 239 ChromeLauncherAppMenuItems items;
240 items.push_back(new ChromeLauncherAppMenuItem(string16(), NULL, false)); 240 items.push_back(new ChromeLauncherAppMenuItem(string16(), NULL, false));
241 items.push_back(new ChromeLauncherAppMenuItem(string16(), NULL, false)); 241 items.push_back(new ChromeLauncherAppMenuItem(string16(), NULL, false));
242 return items.Pass(); 242 return items.Pass();
243 } 243 }
244 virtual ui::MenuModel* CreateContextMenu( 244 virtual ui::MenuModel* CreateContextMenu(aura::Window* root_window) OVERRIDE {
245 aura::Window* root_window) OVERRIDE { return NULL; } 245 return NULL;
246 virtual ash::LauncherMenuModel* CreateApplicationMenu( 246 }
247 int event_flags) OVERRIDE { return NULL; } 247 virtual ash::ShelfMenuModel* CreateApplicationMenu(int event_flags) OVERRIDE {
248 return NULL;
249 }
248 virtual bool IsDraggable() OVERRIDE { return false; } 250 virtual bool IsDraggable() OVERRIDE { return false; }
249 virtual bool ShouldShowTooltip() OVERRIDE { return false; } 251 virtual bool ShouldShowTooltip() OVERRIDE { return false; }
250 252
251 private: 253 private:
252 254
253 DISALLOW_COPY_AND_ASSIGN(TestV2AppLauncherItemController); 255 DISALLOW_COPY_AND_ASSIGN(TestV2AppLauncherItemController);
254 }; 256 };
255 257
256 } // namespace 258 } // namespace
257 259
258 class ChromeLauncherControllerTest : public BrowserWithTestWindowTest { 260 class ChromeLauncherControllerTest : public BrowserWithTestWindowTest {
259 protected: 261 protected:
260 ChromeLauncherControllerTest() : test_controller_(NULL), 262 ChromeLauncherControllerTest() : test_controller_(NULL),
261 extension_service_(NULL) { 263 extension_service_(NULL) {
262 SetHostDesktopType(chrome::HOST_DESKTOP_TYPE_ASH); 264 SetHostDesktopType(chrome::HOST_DESKTOP_TYPE_ASH);
263 } 265 }
264 266
265 virtual ~ChromeLauncherControllerTest() { 267 virtual ~ChromeLauncherControllerTest() {
266 } 268 }
267 269
268 virtual void SetUp() OVERRIDE { 270 virtual void SetUp() OVERRIDE {
269 BrowserWithTestWindowTest::SetUp(); 271 BrowserWithTestWindowTest::SetUp();
270 272
271 model_.reset(new ash::ShelfModel); 273 model_.reset(new ash::ShelfModel);
272 model_observer_.reset(new TestShelfModelObserver); 274 model_observer_.reset(new TestShelfModelObserver);
273 model_->AddObserver(model_observer_.get()); 275 model_->AddObserver(model_observer_.get());
274 276
275 if (ash::Shell::HasInstance()) { 277 if (ash::Shell::HasInstance()) {
276 item_delegate_manager_ = 278 item_delegate_manager_ =
277 ash::Shell::GetInstance()->launcher_item_delegate_manager(); 279 ash::Shell::GetInstance()->shelf_item_delegate_manager();
278 } else { 280 } else {
279 item_delegate_manager_ = 281 item_delegate_manager_ =
280 new ash::LauncherItemDelegateManager(model_.get()); 282 new ash::ShelfItemDelegateManager(model_.get());
281 } 283 }
282 284
283 DictionaryValue manifest; 285 DictionaryValue manifest;
284 manifest.SetString(extensions::manifest_keys::kName, 286 manifest.SetString(extensions::manifest_keys::kName,
285 "launcher controller test extension"); 287 "launcher controller test extension");
286 manifest.SetString(extensions::manifest_keys::kVersion, "1"); 288 manifest.SetString(extensions::manifest_keys::kVersion, "1");
287 manifest.SetString(extensions::manifest_keys::kDescription, 289 manifest.SetString(extensions::manifest_keys::kDescription,
288 "for testing pinned apps"); 290 "for testing pinned apps");
289 291
290 extensions::TestExtensionSystem* extension_system( 292 extensions::TestExtensionSystem* extension_system(
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
419 ash::LauncherItem app_list; 421 ash::LauncherItem app_list;
420 app_list.type = ash::TYPE_APP_LIST; 422 app_list.type = ash::TYPE_APP_LIST;
421 model_->Add(app_list); 423 model_->Add(app_list);
422 } 424 }
423 425
424 void InitLauncherController() { 426 void InitLauncherController() {
425 AddAppListLauncherItem(); 427 AddAppListLauncherItem();
426 launcher_controller_.reset( 428 launcher_controller_.reset(
427 new ChromeLauncherController(profile(), model_.get())); 429 new ChromeLauncherController(profile(), model_.get()));
428 if (!ash::Shell::HasInstance()) 430 if (!ash::Shell::HasInstance())
429 SetLauncherItemDelegateManager(item_delegate_manager_); 431 SetShelfItemDelegateManager(item_delegate_manager_);
430 launcher_controller_->Init(); 432 launcher_controller_->Init();
431 } 433 }
432 434
433 void InitLauncherControllerWithBrowser() { 435 void InitLauncherControllerWithBrowser() {
434 chrome::NewTab(browser()); 436 chrome::NewTab(browser());
435 BrowserList::SetLastActive(browser()); 437 BrowserList::SetLastActive(browser());
436 InitLauncherController(); 438 InitLauncherController();
437 } 439 }
438 440
439 void SetAppIconLoader(extensions::AppIconLoader* loader) { 441 void SetAppIconLoader(extensions::AppIconLoader* loader) {
440 launcher_controller_->SetAppIconLoaderForTest(loader); 442 launcher_controller_->SetAppIconLoaderForTest(loader);
441 } 443 }
442 444
443 void SetAppTabHelper(ChromeLauncherController::AppTabHelper* helper) { 445 void SetAppTabHelper(ChromeLauncherController::AppTabHelper* helper) {
444 launcher_controller_->SetAppTabHelperForTest(helper); 446 launcher_controller_->SetAppTabHelperForTest(helper);
445 } 447 }
446 448
447 void SetLauncherItemDelegateManager( 449 void SetShelfItemDelegateManager(ash::ShelfItemDelegateManager* manager) {
448 ash::LauncherItemDelegateManager* manager) { 450 launcher_controller_->SetShelfItemDelegateManagerForTest(manager);
449 launcher_controller_->SetLauncherItemDelegateManagerForTest(manager);
450 } 451 }
451 452
452 void InsertPrefValue(base::ListValue* pref_value, 453 void InsertPrefValue(base::ListValue* pref_value,
453 int index, 454 int index,
454 const std::string& extension_id) { 455 const std::string& extension_id) {
455 base::DictionaryValue* entry = new DictionaryValue(); 456 base::DictionaryValue* entry = new DictionaryValue();
456 entry->SetString(ash::kPinnedAppsPrefAppIDPath, extension_id); 457 entry->SetString(ash::kPinnedAppsPrefAppIDPath, extension_id);
457 pref_value->Insert(index, entry); 458 pref_value->Insert(index, entry);
458 } 459 }
459 460
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
588 scoped_refptr<Extension> extension8_; 589 scoped_refptr<Extension> extension8_;
589 scoped_ptr<ChromeLauncherController> launcher_controller_; 590 scoped_ptr<ChromeLauncherController> launcher_controller_;
590 scoped_ptr<TestShelfModelObserver> model_observer_; 591 scoped_ptr<TestShelfModelObserver> model_observer_;
591 scoped_ptr<ash::ShelfModel> model_; 592 scoped_ptr<ash::ShelfModel> model_;
592 593
593 // |item_delegate_manager_| owns |test_controller_|. 594 // |item_delegate_manager_| owns |test_controller_|.
594 LauncherItemController* test_controller_; 595 LauncherItemController* test_controller_;
595 596
596 ExtensionService* extension_service_; 597 ExtensionService* extension_service_;
597 598
598 ash::LauncherItemDelegateManager* item_delegate_manager_; 599 ash::ShelfItemDelegateManager* item_delegate_manager_;
599 600
600 DISALLOW_COPY_AND_ASSIGN(ChromeLauncherControllerTest); 601 DISALLOW_COPY_AND_ASSIGN(ChromeLauncherControllerTest);
601 }; 602 };
602 603
603 // The testing framework to test the legacy shelf layout. 604 // The testing framework to test the legacy shelf layout.
604 class LegacyShelfLayoutChromeLauncherControllerTest 605 class LegacyShelfLayoutChromeLauncherControllerTest
605 : public ChromeLauncherControllerTest { 606 : public ChromeLauncherControllerTest {
606 protected: 607 protected:
607 LegacyShelfLayoutChromeLauncherControllerTest() { 608 LegacyShelfLayoutChromeLauncherControllerTest() {
608 } 609 }
(...skipping 1459 matching lines...) Expand 10 before | Expand all | Expand 10 after
2068 EXPECT_FALSE(items[0]->IsEnabled()); 2069 EXPECT_FALSE(items[0]->IsEnabled());
2069 for (size_t i = 0; i < expected_items; i++) { 2070 for (size_t i = 0; i < expected_items; i++) {
2070 EXPECT_EQ(title[i], items[1 + i]->title()); 2071 EXPECT_EQ(title[i], items[1 + i]->title());
2071 // Check that the first real item has a leading separator. 2072 // Check that the first real item has a leading separator.
2072 if (i == 1) 2073 if (i == 1)
2073 EXPECT_TRUE(items[i]->HasLeadingSeparator()); 2074 EXPECT_TRUE(items[i]->HasLeadingSeparator());
2074 else 2075 else
2075 EXPECT_FALSE(items[i]->HasLeadingSeparator()); 2076 EXPECT_FALSE(items[i]->HasLeadingSeparator());
2076 } 2077 }
2077 2078
2078 scoped_ptr<ash::LauncherMenuModel> menu( 2079 scoped_ptr<ash::ShelfMenuModel> menu(new LauncherApplicationMenuItemModel(
2079 new LauncherApplicationMenuItemModel( 2080 controller->GetApplicationList(item, 0)));
2080 controller->GetApplicationList(item, 0)));
2081 // The first element in the menu is a spacing separator. On some systems 2081 // The first element in the menu is a spacing separator. On some systems
2082 // (e.g. Windows) such things do not exist. As such we check the existence 2082 // (e.g. Windows) such things do not exist. As such we check the existence
2083 // and adjust dynamically. 2083 // and adjust dynamically.
2084 int first_item = menu->GetTypeAt(0) == ui::MenuModel::TYPE_SEPARATOR ? 1 : 0; 2084 int first_item = menu->GetTypeAt(0) == ui::MenuModel::TYPE_SEPARATOR ? 1 : 0;
2085 int expected_menu_items = first_item + 2085 int expected_menu_items = first_item +
2086 (expected_items ? (expected_items + 3) : 2); 2086 (expected_items ? (expected_items + 3) : 2);
2087 EXPECT_EQ(expected_menu_items, menu->GetItemCount()); 2087 EXPECT_EQ(expected_menu_items, menu->GetItemCount());
2088 EXPECT_FALSE(menu->IsEnabledAt(first_item)); 2088 EXPECT_FALSE(menu->IsEnabledAt(first_item));
2089 if (expected_items) { 2089 if (expected_items) {
2090 EXPECT_EQ(ui::MenuModel::TYPE_SEPARATOR, 2090 EXPECT_EQ(ui::MenuModel::TYPE_SEPARATOR,
(...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after
2415 ash::LauncherItem item_gmail; 2415 ash::LauncherItem item_gmail;
2416 item_gmail.type = ash::TYPE_APP_SHORTCUT; 2416 item_gmail.type = ash::TYPE_APP_SHORTCUT;
2417 item_gmail.id = gmail_id; 2417 item_gmail.id = gmail_id;
2418 string16 two_menu_items[] = {title1, title2}; 2418 string16 two_menu_items[] = {title1, title2};
2419 EXPECT_TRUE(CheckMenuCreation( 2419 EXPECT_TRUE(CheckMenuCreation(
2420 launcher_controller_.get(), item_gmail, 2, two_menu_items, false)); 2420 launcher_controller_.get(), item_gmail, 2, two_menu_items, false));
2421 EXPECT_EQ(1, browser()->tab_strip_model()->active_index()); 2421 EXPECT_EQ(1, browser()->tab_strip_model()->active_index());
2422 // Execute the second item in the list (which shouldn't do anything since that 2422 // Execute the second item in the list (which shouldn't do anything since that
2423 // item is per definition already the active tab). 2423 // item is per definition already the active tab).
2424 { 2424 {
2425 scoped_ptr<ash::LauncherMenuModel> menu( 2425 scoped_ptr<ash::ShelfMenuModel> menu(new LauncherApplicationMenuItemModel(
2426 new LauncherApplicationMenuItemModel( 2426 launcher_controller_->GetApplicationList(item_gmail, 0)));
2427 launcher_controller_->GetApplicationList(item_gmail, 0)));
2428 // The first element in the menu is a spacing separator. On some systems 2427 // The first element in the menu is a spacing separator. On some systems
2429 // (e.g. Windows) such things do not exist. As such we check the existence 2428 // (e.g. Windows) such things do not exist. As such we check the existence
2430 // and adjust dynamically. 2429 // and adjust dynamically.
2431 int first_item = 2430 int first_item =
2432 (menu->GetTypeAt(0) == ui::MenuModel::TYPE_SEPARATOR) ? 1 : 0; 2431 (menu->GetTypeAt(0) == ui::MenuModel::TYPE_SEPARATOR) ? 1 : 0;
2433 menu->ActivatedAt(first_item + 3); 2432 menu->ActivatedAt(first_item + 3);
2434 } 2433 }
2435 EXPECT_EQ(1, browser()->tab_strip_model()->active_index()); 2434 EXPECT_EQ(1, browser()->tab_strip_model()->active_index());
2436 2435
2437 // Execute the first item. 2436 // Execute the first item.
2438 { 2437 {
2439 scoped_ptr<ash::LauncherMenuModel> menu( 2438 scoped_ptr<ash::ShelfMenuModel> menu(new LauncherApplicationMenuItemModel(
2440 new LauncherApplicationMenuItemModel( 2439 launcher_controller_->GetApplicationList(item_gmail, 0)));
2441 launcher_controller_->GetApplicationList(item_gmail, 0)));
2442 int first_item = 2440 int first_item =
2443 (menu->GetTypeAt(0) == ui::MenuModel::TYPE_SEPARATOR) ? 1 : 0; 2441 (menu->GetTypeAt(0) == ui::MenuModel::TYPE_SEPARATOR) ? 1 : 0;
2444 menu->ActivatedAt(first_item + 2); 2442 menu->ActivatedAt(first_item + 2);
2445 } 2443 }
2446 // Now the active tab should be the second item. 2444 // Now the active tab should be the second item.
2447 EXPECT_EQ(0, browser()->tab_strip_model()->active_index()); 2445 EXPECT_EQ(0, browser()->tab_strip_model()->active_index());
2448 } 2446 }
2449 2447
2450 // Checks that the generated menu list properly deletes items. 2448 // Checks that the generated menu list properly deletes items.
2451 TEST_F(ChromeLauncherControllerTest, V1AppMenuDeletionExecution) { 2449 TEST_F(ChromeLauncherControllerTest, V1AppMenuDeletionExecution) {
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after
2633 model_->Move(1, 3); 2631 model_->Move(1, 3);
2634 EXPECT_EQ(ash::TYPE_APP_LIST, model_->items()[0].type); 2632 EXPECT_EQ(ash::TYPE_APP_LIST, model_->items()[0].type);
2635 EXPECT_EQ(ash::TYPE_APP_SHORTCUT, model_->items()[1].type); 2633 EXPECT_EQ(ash::TYPE_APP_SHORTCUT, model_->items()[1].type);
2636 EXPECT_EQ(ash::TYPE_APP_SHORTCUT, model_->items()[2].type); 2634 EXPECT_EQ(ash::TYPE_APP_SHORTCUT, model_->items()[2].type);
2637 EXPECT_EQ(ash::TYPE_BROWSER_SHORTCUT, model_->items()[3].type); 2635 EXPECT_EQ(ash::TYPE_BROWSER_SHORTCUT, model_->items()[3].type);
2638 2636
2639 launcher_controller_.reset(); 2637 launcher_controller_.reset();
2640 if (!ash::Shell::HasInstance()) { 2638 if (!ash::Shell::HasInstance()) {
2641 delete item_delegate_manager_; 2639 delete item_delegate_manager_;
2642 } else { 2640 } else {
2643 // Clear already registered LauncherItemDelegate. 2641 // Clear already registered ShelfItemDelegate.
2644 ash::test::LauncherItemDelegateManagerTestAPI test(item_delegate_manager_); 2642 ash::test::ShelfItemDelegateManagerTestAPI test(item_delegate_manager_);
2645 test.RemoveAllLauncherItemDelegateForTest(); 2643 test.RemoveAllShelfItemDelegateForTest();
2646 } 2644 }
2647 model_.reset(new ash::ShelfModel); 2645 model_.reset(new ash::ShelfModel);
2648 2646
2649 AddAppListLauncherItem(); 2647 AddAppListLauncherItem();
2650 launcher_controller_.reset( 2648 launcher_controller_.reset(
2651 ChromeLauncherController::CreateInstance(profile(), model_.get())); 2649 ChromeLauncherController::CreateInstance(profile(), model_.get()));
2652 app_tab_helper = new TestAppTabHelperImpl; 2650 app_tab_helper = new TestAppTabHelperImpl;
2653 app_tab_helper->SetAppID(tab_strip_model->GetWebContentsAt(0), "1"); 2651 app_tab_helper->SetAppID(tab_strip_model->GetWebContentsAt(0), "1");
2654 app_tab_helper->SetAppID(tab_strip_model->GetWebContentsAt(1), "2"); 2652 app_tab_helper->SetAppID(tab_strip_model->GetWebContentsAt(1), "2");
2655 SetAppTabHelper(app_tab_helper); 2653 SetAppTabHelper(app_tab_helper);
2656 if (!ash::Shell::HasInstance()) { 2654 if (!ash::Shell::HasInstance()) {
2657 item_delegate_manager_ = 2655 item_delegate_manager_ = new ash::ShelfItemDelegateManager(model_.get());
2658 new ash::LauncherItemDelegateManager(model_.get()); 2656 SetShelfItemDelegateManager(item_delegate_manager_);
2659 SetLauncherItemDelegateManager(item_delegate_manager_);
2660 } 2657 }
2661 launcher_controller_->Init(); 2658 launcher_controller_->Init();
2662 2659
2663 // Check LauncherItems are restored after resetting ChromeLauncherController. 2660 // Check LauncherItems are restored after resetting ChromeLauncherController.
2664 EXPECT_EQ(ash::TYPE_APP_LIST, model_->items()[0].type); 2661 EXPECT_EQ(ash::TYPE_APP_LIST, model_->items()[0].type);
2665 EXPECT_EQ(ash::TYPE_APP_SHORTCUT, model_->items()[1].type); 2662 EXPECT_EQ(ash::TYPE_APP_SHORTCUT, model_->items()[1].type);
2666 EXPECT_EQ(ash::TYPE_APP_SHORTCUT, model_->items()[2].type); 2663 EXPECT_EQ(ash::TYPE_APP_SHORTCUT, model_->items()[2].type);
2667 EXPECT_EQ(ash::TYPE_BROWSER_SHORTCUT, model_->items()[3].type); 2664 EXPECT_EQ(ash::TYPE_BROWSER_SHORTCUT, model_->items()[3].type);
2668 } 2665 }
2669 2666
(...skipping 19 matching lines...) Expand all
2689 EXPECT_EQ(1, app_icon_loader->fetch_count()); 2686 EXPECT_EQ(1, app_icon_loader->fetch_count());
2690 EXPECT_EQ(ash::TYPE_APP_SHORTCUT, model_->items()[app_index].type); 2687 EXPECT_EQ(ash::TYPE_APP_SHORTCUT, model_->items()[app_index].type);
2691 EXPECT_TRUE(launcher_controller_->IsAppPinned("1")); 2688 EXPECT_TRUE(launcher_controller_->IsAppPinned("1"));
2692 EXPECT_FALSE(launcher_controller_->IsAppPinned("0")); 2689 EXPECT_FALSE(launcher_controller_->IsAppPinned("0"));
2693 EXPECT_EQ(initial_size + 1, model_->items().size()); 2690 EXPECT_EQ(initial_size + 1, model_->items().size());
2694 2691
2695 launcher_controller_.reset(); 2692 launcher_controller_.reset();
2696 if (!ash::Shell::HasInstance()) { 2693 if (!ash::Shell::HasInstance()) {
2697 delete item_delegate_manager_; 2694 delete item_delegate_manager_;
2698 } else { 2695 } else {
2699 // Clear already registered LauncherItemDelegate. 2696 // Clear already registered ShelfItemDelegate.
2700 ash::test::LauncherItemDelegateManagerTestAPI test(item_delegate_manager_); 2697 ash::test::ShelfItemDelegateManagerTestAPI test(item_delegate_manager_);
2701 test.RemoveAllLauncherItemDelegateForTest(); 2698 test.RemoveAllShelfItemDelegateForTest();
2702 } 2699 }
2703 model_.reset(new ash::ShelfModel); 2700 model_.reset(new ash::ShelfModel);
2704 2701
2705 AddAppListLauncherItem(); 2702 AddAppListLauncherItem();
2706 launcher_controller_.reset( 2703 launcher_controller_.reset(
2707 ChromeLauncherController::CreateInstance(profile(), model_.get())); 2704 ChromeLauncherController::CreateInstance(profile(), model_.get()));
2708 app_tab_helper = new TestAppTabHelperImpl; 2705 app_tab_helper = new TestAppTabHelperImpl;
2709 app_tab_helper->SetAppID(tab_strip_model->GetWebContentsAt(0), "1"); 2706 app_tab_helper->SetAppID(tab_strip_model->GetWebContentsAt(0), "1");
2710 SetAppTabHelper(app_tab_helper); 2707 SetAppTabHelper(app_tab_helper);
2711 app_icon_loader = new TestAppIconLoaderImpl; 2708 app_icon_loader = new TestAppIconLoaderImpl;
2712 SetAppIconLoader(app_icon_loader); 2709 SetAppIconLoader(app_icon_loader);
2713 if (!ash::Shell::HasInstance()) { 2710 if (!ash::Shell::HasInstance()) {
2714 item_delegate_manager_ = 2711 item_delegate_manager_ = new ash::ShelfItemDelegateManager(model_.get());
2715 new ash::LauncherItemDelegateManager(model_.get()); 2712 SetShelfItemDelegateManager(item_delegate_manager_);
2716 SetLauncherItemDelegateManager(item_delegate_manager_);
2717 } 2713 }
2718 launcher_controller_->Init(); 2714 launcher_controller_->Init();
2719 2715
2720 EXPECT_EQ(1, app_icon_loader->fetch_count()); 2716 EXPECT_EQ(1, app_icon_loader->fetch_count());
2721 ASSERT_EQ(initial_size + 1, model_->items().size()); 2717 ASSERT_EQ(initial_size + 1, model_->items().size());
2722 EXPECT_TRUE(launcher_controller_->IsAppPinned("1")); 2718 EXPECT_TRUE(launcher_controller_->IsAppPinned("1"));
2723 EXPECT_FALSE(launcher_controller_->IsAppPinned("0")); 2719 EXPECT_FALSE(launcher_controller_->IsAppPinned("0"));
2724 EXPECT_EQ(ash::TYPE_APP_SHORTCUT, model_->items()[app_index].type); 2720 EXPECT_EQ(ash::TYPE_APP_SHORTCUT, model_->items()[app_index].type);
2725 2721
2726 launcher_controller_->UnpinAppWithID("1"); 2722 launcher_controller_->UnpinAppWithID("1");
2727 ASSERT_EQ(initial_size, model_->items().size()); 2723 ASSERT_EQ(initial_size, model_->items().size());
2728 } 2724 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698