OLD | NEW |
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_impl.h" | 5 #include "chrome/browser/ui/ash/launcher/chrome_launcher_controller_impl.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <algorithm> | 9 #include <algorithm> |
10 #include <map> | 10 #include <map> |
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
243 TabToStringMap tab_id_map_; | 243 TabToStringMap tab_id_map_; |
244 | 244 |
245 DISALLOW_COPY_AND_ASSIGN(TestLauncherControllerHelper); | 245 DISALLOW_COPY_AND_ASSIGN(TestLauncherControllerHelper); |
246 }; | 246 }; |
247 | 247 |
248 // Test implementation of a V2 app launcher item controller. | 248 // Test implementation of a V2 app launcher item controller. |
249 class TestV2AppLauncherItemController : public LauncherItemController { | 249 class TestV2AppLauncherItemController : public LauncherItemController { |
250 public: | 250 public: |
251 TestV2AppLauncherItemController(const std::string& app_id, | 251 TestV2AppLauncherItemController(const std::string& app_id, |
252 ChromeLauncherController* controller) | 252 ChromeLauncherController* controller) |
253 : LauncherItemController(LauncherItemController::TYPE_APP, | 253 : LauncherItemController(app_id, "", controller) {} |
254 app_id, | |
255 "", | |
256 controller) {} | |
257 | 254 |
258 ~TestV2AppLauncherItemController() override {} | 255 ~TestV2AppLauncherItemController() override {} |
259 | 256 |
260 // Override for LauncherItemController: | 257 // Override for LauncherItemController: |
261 bool IsVisible() const override { return true; } | 258 bool IsVisible() const override { return true; } |
262 void Launch(ash::LaunchSource source, int event_flags) override {} | 259 void Launch(ash::LaunchSource source, int event_flags) override {} |
263 ash::ShelfItemDelegate::PerformedAction Activate( | 260 ash::ShelfItemDelegate::PerformedAction Activate( |
264 ash::LaunchSource source) override { | 261 ash::LaunchSource source) override { |
265 return kExistingWindowActivated; | 262 return kExistingWindowActivated; |
266 } | 263 } |
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
414 ash::ShelfID id = | 411 ash::ShelfID id = |
415 launcher_controller_->CreateAppShortcutLauncherItemWithType( | 412 launcher_controller_->CreateAppShortcutLauncherItemWithType( |
416 ash::launcher::AppLauncherId(app_id), model_->item_count(), | 413 ash::launcher::AppLauncherId(app_id), model_->item_count(), |
417 ash::TYPE_APP); | 414 ash::TYPE_APP); |
418 DCHECK(id); | 415 DCHECK(id); |
419 // Change the created launcher controller into a V2 app controller. | 416 // Change the created launcher controller into a V2 app controller. |
420 test_controller_ = new TestV2AppLauncherItemController(app_id, | 417 test_controller_ = new TestV2AppLauncherItemController(app_id, |
421 launcher_controller_.get()); | 418 launcher_controller_.get()); |
422 launcher_controller_->SetItemController(id, test_controller_); | 419 launcher_controller_->SetItemController(id, test_controller_); |
423 DCHECK(launcher_controller_->IsPlatformApp(id)); | 420 DCHECK(launcher_controller_->IsPlatformApp(id)); |
| 421 launcher_controller_->SetItemStatus(id, ash::STATUS_RUNNING); |
424 } | 422 } |
425 | 423 |
426 // Sets the stage for a multi user test. | 424 // Sets the stage for a multi user test. |
427 virtual void SetUpMultiUserScenario(syncer::SyncChangeList* user_a, | 425 virtual void SetUpMultiUserScenario(syncer::SyncChangeList* user_a, |
428 syncer::SyncChangeList* user_b) { | 426 syncer::SyncChangeList* user_b) { |
429 InitLauncherController(); | 427 InitLauncherController(); |
430 EXPECT_EQ("AppList, Chrome", GetPinnedAppStatus()); | 428 EXPECT_EQ("AppList, Chrome", GetPinnedAppStatus()); |
431 | 429 |
432 // Set an empty pinned pref to begin with. | 430 // Set an empty pinned pref to begin with. |
433 syncer::SyncChangeList sync_list; | 431 syncer::SyncChangeList sync_list; |
(...skipping 3074 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3508 // app_icon_loader1 and app_icon_loader2 are owned by | 3506 // app_icon_loader1 and app_icon_loader2 are owned by |
3509 // ChromeLauncherControllerImpl. | 3507 // ChromeLauncherControllerImpl. |
3510 TestAppIconLoaderImpl* app_icon_loader1 = new TestAppIconLoaderImpl(); | 3508 TestAppIconLoaderImpl* app_icon_loader1 = new TestAppIconLoaderImpl(); |
3511 TestAppIconLoaderImpl* app_icon_loader2 = new TestAppIconLoaderImpl(); | 3509 TestAppIconLoaderImpl* app_icon_loader2 = new TestAppIconLoaderImpl(); |
3512 app_icon_loader1->AddSupportedApp(app_id1); | 3510 app_icon_loader1->AddSupportedApp(app_id1); |
3513 app_icon_loader2->AddSupportedApp(app_id2); | 3511 app_icon_loader2->AddSupportedApp(app_id2); |
3514 SetAppIconLoaders(std::unique_ptr<AppIconLoader>(app_icon_loader1), | 3512 SetAppIconLoaders(std::unique_ptr<AppIconLoader>(app_icon_loader1), |
3515 std::unique_ptr<AppIconLoader>(app_icon_loader2)); | 3513 std::unique_ptr<AppIconLoader>(app_icon_loader2)); |
3516 | 3514 |
3517 AppWindowLauncherItemController* app_controller3 = | 3515 AppWindowLauncherItemController* app_controller3 = |
3518 new ExtensionAppWindowLauncherItemController( | 3516 new ExtensionAppWindowLauncherItemController(app_id3, "id", |
3519 LauncherItemController::TYPE_APP, app_id3, "id", | 3517 launcher_controller_.get()); |
3520 launcher_controller_.get()); | |
3521 const ash::ShelfID shelfId3 = launcher_controller_->CreateAppLauncherItem( | 3518 const ash::ShelfID shelfId3 = launcher_controller_->CreateAppLauncherItem( |
3522 app_controller3, app_id3, ash::STATUS_RUNNING); | 3519 app_controller3, app_id3, ash::STATUS_RUNNING); |
3523 EXPECT_EQ(0, app_icon_loader1->fetch_count()); | 3520 EXPECT_EQ(0, app_icon_loader1->fetch_count()); |
3524 EXPECT_EQ(0, app_icon_loader1->clear_count()); | 3521 EXPECT_EQ(0, app_icon_loader1->clear_count()); |
3525 EXPECT_EQ(0, app_icon_loader2->fetch_count()); | 3522 EXPECT_EQ(0, app_icon_loader2->fetch_count()); |
3526 EXPECT_EQ(0, app_icon_loader2->clear_count()); | 3523 EXPECT_EQ(0, app_icon_loader2->clear_count()); |
3527 | 3524 |
3528 AppWindowLauncherItemController* app_controller2 = | 3525 AppWindowLauncherItemController* app_controller2 = |
3529 new ExtensionAppWindowLauncherItemController( | 3526 new ExtensionAppWindowLauncherItemController(app_id2, "id", |
3530 LauncherItemController::TYPE_APP, app_id2, "id", | 3527 launcher_controller_.get()); |
3531 launcher_controller_.get()); | |
3532 const ash::ShelfID shelfId2 = launcher_controller_->CreateAppLauncherItem( | 3528 const ash::ShelfID shelfId2 = launcher_controller_->CreateAppLauncherItem( |
3533 app_controller2, app_id2, ash::STATUS_RUNNING); | 3529 app_controller2, app_id2, ash::STATUS_RUNNING); |
3534 EXPECT_EQ(0, app_icon_loader1->fetch_count()); | 3530 EXPECT_EQ(0, app_icon_loader1->fetch_count()); |
3535 EXPECT_EQ(0, app_icon_loader1->clear_count()); | 3531 EXPECT_EQ(0, app_icon_loader1->clear_count()); |
3536 EXPECT_EQ(1, app_icon_loader2->fetch_count()); | 3532 EXPECT_EQ(1, app_icon_loader2->fetch_count()); |
3537 EXPECT_EQ(0, app_icon_loader2->clear_count()); | 3533 EXPECT_EQ(0, app_icon_loader2->clear_count()); |
3538 | 3534 |
3539 AppWindowLauncherItemController* app_controller1 = | 3535 AppWindowLauncherItemController* app_controller1 = |
3540 new ExtensionAppWindowLauncherItemController( | 3536 new ExtensionAppWindowLauncherItemController(app_id1, "id", |
3541 LauncherItemController::TYPE_APP, app_id1, "id", | 3537 launcher_controller_.get()); |
3542 launcher_controller_.get()); | |
3543 | 3538 |
3544 const ash::ShelfID shelfId1 = launcher_controller_->CreateAppLauncherItem( | 3539 const ash::ShelfID shelfId1 = launcher_controller_->CreateAppLauncherItem( |
3545 app_controller1, app_id1, ash::STATUS_RUNNING); | 3540 app_controller1, app_id1, ash::STATUS_RUNNING); |
3546 EXPECT_EQ(1, app_icon_loader1->fetch_count()); | 3541 EXPECT_EQ(1, app_icon_loader1->fetch_count()); |
3547 EXPECT_EQ(0, app_icon_loader1->clear_count()); | 3542 EXPECT_EQ(0, app_icon_loader1->clear_count()); |
3548 EXPECT_EQ(1, app_icon_loader2->fetch_count()); | 3543 EXPECT_EQ(1, app_icon_loader2->fetch_count()); |
3549 EXPECT_EQ(0, app_icon_loader2->clear_count()); | 3544 EXPECT_EQ(0, app_icon_loader2->clear_count()); |
3550 | 3545 |
3551 launcher_controller_->CloseLauncherItem(shelfId1); | 3546 launcher_controller_->CloseLauncherItem(shelfId1); |
3552 EXPECT_EQ(1, app_icon_loader1->fetch_count()); | 3547 EXPECT_EQ(1, app_icon_loader1->fetch_count()); |
(...skipping 513 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4066 | 4061 |
4067 // Pinned state should not change. | 4062 // Pinned state should not change. |
4068 EXPECT_EQ("AppList, Chrome, App1, App2", GetPinnedAppStatus()); | 4063 EXPECT_EQ("AppList, Chrome, App1, App2", GetPinnedAppStatus()); |
4069 launcher_controller_->UnpinAppWithID(extension2_->id()); | 4064 launcher_controller_->UnpinAppWithID(extension2_->id()); |
4070 EXPECT_EQ("AppList, Chrome, App1", GetPinnedAppStatus()); | 4065 EXPECT_EQ("AppList, Chrome, App1", GetPinnedAppStatus()); |
4071 | 4066 |
4072 // Resume syncing and sync information overrides local copy. | 4067 // Resume syncing and sync information overrides local copy. |
4073 StartAppSyncService(copy_sync_list); | 4068 StartAppSyncService(copy_sync_list); |
4074 EXPECT_EQ("AppList, Chrome, App1, App2", GetPinnedAppStatus()); | 4069 EXPECT_EQ("AppList, Chrome, App1, App2", GetPinnedAppStatus()); |
4075 } | 4070 } |
OLD | NEW |