OLD | NEW |
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/ui/views/ash/launcher/launcher_updater.h" | 5 #include "chrome/browser/ui/views/ash/launcher/launcher_updater.h" |
6 | 6 |
7 #include <map> | 7 #include <map> |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "ash/launcher/launcher_model.h" | 10 #include "ash/launcher/launcher_model.h" |
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
236 TestTabStripModelDelegate tab_strip_delegate; | 236 TestTabStripModelDelegate tab_strip_delegate; |
237 TabStripModel tab_strip(&tab_strip_delegate, profile()); | 237 TabStripModel tab_strip(&tab_strip_delegate, profile()); |
238 TabContentsWrapper panel_tab(CreateTestWebContents()); | 238 TabContentsWrapper panel_tab(CreateTestWebContents()); |
239 app_icon_loader_->SetAppID(&panel_tab, "1"); // Panels are apps. | 239 app_icon_loader_->SetAppID(&panel_tab, "1"); // Panels are apps. |
240 tab_strip.InsertTabContentsAt(0, &panel_tab, TabStripModel::ADD_ACTIVE); | 240 tab_strip.InsertTabContentsAt(0, &panel_tab, TabStripModel::ADD_ACTIVE); |
241 LauncherUpdater updater(&window, &tab_strip, launcher_delegate_.get(), | 241 LauncherUpdater updater(&window, &tab_strip, launcher_delegate_.get(), |
242 LauncherUpdater::TYPE_APP_PANEL, std::string()); | 242 LauncherUpdater::TYPE_APP_PANEL, std::string()); |
243 updater.Init(); | 243 updater.Init(); |
244 ASSERT_EQ(initial_size + 1, launcher_model_->items().size()); | 244 ASSERT_EQ(initial_size + 1, launcher_model_->items().size()); |
245 EXPECT_EQ(ash::TYPE_APP_PANEL, GetItem(&updater).type); | 245 EXPECT_EQ(ash::TYPE_APP_PANEL, GetItem(&updater).type); |
246 ash::LauncherID id = GetItem(&updater).id; | |
247 EXPECT_EQ(ChromeLauncherDelegate::APP_TYPE_APP_PANEL, | |
248 launcher_delegate_->GetAppType(id)); | |
249 EXPECT_EQ(static_cast<void*>(NULL), updater.favicon_loader_.get()); | 246 EXPECT_EQ(static_cast<void*>(NULL), updater.favicon_loader_.get()); |
250 } | 247 } |
251 | 248 |
252 // Add an Extension panel. | 249 // Add an Extension panel. |
253 { | 250 { |
254 aura::Window window(NULL); | 251 aura::Window window(NULL); |
255 TestTabStripModelDelegate tab_strip_delegate; | 252 TestTabStripModelDelegate tab_strip_delegate; |
256 TabStripModel tab_strip(&tab_strip_delegate, profile()); | 253 TabStripModel tab_strip(&tab_strip_delegate, profile()); |
257 TabContentsWrapper panel_tab(CreateTestWebContents()); | 254 TabContentsWrapper panel_tab(CreateTestWebContents()); |
258 app_icon_loader_->SetAppID(&panel_tab, "1"); // Panels are apps. | 255 app_icon_loader_->SetAppID(&panel_tab, "1"); // Panels are apps. |
259 tab_strip.InsertTabContentsAt(0, &panel_tab, TabStripModel::ADD_ACTIVE); | 256 tab_strip.InsertTabContentsAt(0, &panel_tab, TabStripModel::ADD_ACTIVE); |
260 LauncherUpdater updater(&window, &tab_strip, launcher_delegate_.get(), | 257 LauncherUpdater updater(&window, &tab_strip, launcher_delegate_.get(), |
261 LauncherUpdater::TYPE_EXTENSION_PANEL, | 258 LauncherUpdater::TYPE_EXTENSION_PANEL, |
262 std::string()); | 259 std::string()); |
263 updater.Init(); | 260 updater.Init(); |
264 ASSERT_EQ(initial_size + 1, launcher_model_->items().size()); | 261 ASSERT_EQ(initial_size + 1, launcher_model_->items().size()); |
265 EXPECT_EQ(ash::TYPE_APP_PANEL, GetItem(&updater).type); | 262 EXPECT_EQ(ash::TYPE_APP_PANEL, GetItem(&updater).type); |
266 ash::LauncherID id = GetItem(&updater).id; | |
267 EXPECT_EQ(ChromeLauncherDelegate::APP_TYPE_EXTENSION_PANEL, | |
268 launcher_delegate_->GetAppType(id)); | |
269 EXPECT_NE(static_cast<void*>(NULL), updater.favicon_loader_.get()); | 263 EXPECT_NE(static_cast<void*>(NULL), updater.favicon_loader_.get()); |
270 } | 264 } |
271 } | 265 } |
272 | 266 |
273 // Verifies pinned apps are persisted and restored. | 267 // Verifies pinned apps are persisted and restored. |
274 TEST_F(LauncherUpdaterTest, PersistPinned) { | 268 TEST_F(LauncherUpdaterTest, PersistPinned) { |
275 size_t initial_size = launcher_model_->items().size(); | 269 size_t initial_size = launcher_model_->items().size(); |
276 TabContentsWrapper tab1(CreateTestWebContents()); | 270 TabContentsWrapper tab1(CreateTestWebContents()); |
277 | 271 |
278 app_icon_loader_->SetAppID(&tab1, "1"); | 272 app_icon_loader_->SetAppID(&tab1, "1"); |
279 | 273 |
280 app_icon_loader_->GetAndClearFetchCount(); | 274 app_icon_loader_->GetAndClearFetchCount(); |
281 launcher_delegate_->PinAppWithID("1", | 275 launcher_delegate_->PinAppWithID("1"); |
282 ChromeLauncherDelegate::APP_TYPE_WINDOW); | |
283 EXPECT_GT(app_icon_loader_->GetAndClearFetchCount(), 0); | 276 EXPECT_GT(app_icon_loader_->GetAndClearFetchCount(), 0); |
284 EXPECT_EQ(ash::TYPE_APP_SHORTCUT, | 277 EXPECT_EQ(ash::TYPE_APP_SHORTCUT, |
285 launcher_model_->items()[1].type); | 278 launcher_model_->items()[1].type); |
286 EXPECT_TRUE(launcher_delegate_->IsAppPinned("1")); | 279 EXPECT_TRUE(launcher_delegate_->IsAppPinned("1")); |
287 EXPECT_FALSE(launcher_delegate_->IsAppPinned("0")); | 280 EXPECT_FALSE(launcher_delegate_->IsAppPinned("0")); |
288 EXPECT_EQ(initial_size + 1, launcher_model_->items().size()); | 281 EXPECT_EQ(initial_size + 1, launcher_model_->items().size()); |
289 | 282 |
290 launcher_delegate_.reset( | 283 launcher_delegate_.reset( |
291 new ChromeLauncherDelegate(profile(), launcher_model_.get())); | 284 new ChromeLauncherDelegate(profile(), launcher_model_.get())); |
292 app_icon_loader_ = new AppIconLoaderImpl; | 285 app_icon_loader_ = new AppIconLoaderImpl; |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
354 EXPECT_EQ(&state1.window, activation_client_->GetActiveWindow()); | 347 EXPECT_EQ(&state1.window, activation_client_->GetActiveWindow()); |
355 | 348 |
356 // And to the second item active. | 349 // And to the second item active. |
357 ash::LauncherItem new_item2(launcher_model_->items()[index2]); | 350 ash::LauncherItem new_item2(launcher_model_->items()[index2]); |
358 new_item2.status = ash::STATUS_ACTIVE; | 351 new_item2.status = ash::STATUS_ACTIVE; |
359 launcher_model_->Set(index2, new_item2); | 352 launcher_model_->Set(index2, new_item2); |
360 EXPECT_EQ(ash::STATUS_RUNNING, launcher_model_->items()[index1].status); | 353 EXPECT_EQ(ash::STATUS_RUNNING, launcher_model_->items()[index1].status); |
361 EXPECT_EQ(ash::STATUS_ACTIVE, launcher_model_->items()[index2].status); | 354 EXPECT_EQ(ash::STATUS_ACTIVE, launcher_model_->items()[index2].status); |
362 EXPECT_EQ(&state2.window, activation_client_->GetActiveWindow()); | 355 EXPECT_EQ(&state2.window, activation_client_->GetActiveWindow()); |
363 } | 356 } |
OLD | NEW |