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

Side by Side Diff: ash/wm/overview/window_selector.cc

Issue 2896273004: chromeos: converts PanelLayoutManager to aura::Window (Closed)
Patch Set: feedback Created 3 years, 7 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
« no previous file with comments | « ash/wm/container_finder.cc ('k') | ash/wm/overview/window_selector_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "ash/wm/overview/window_selector.h" 5 #include "ash/wm/overview/window_selector.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <functional> 8 #include <functional>
9 #include <set> 9 #include <set>
10 #include <utility> 10 #include <utility>
(...skipping 250 matching lines...) Expand 10 before | Expand all | Expand 10 after
261 // windows. 261 // windows.
262 for (size_t i = 0; i < wm::kSwitchableWindowContainerIdsLength; ++i) { 262 for (size_t i = 0; i < wm::kSwitchableWindowContainerIdsLength; ++i) {
263 aura::Window* container = 263 aura::Window* container =
264 root->GetChildById(wm::kSwitchableWindowContainerIds[i]); 264 root->GetChildById(wm::kSwitchableWindowContainerIds[i]);
265 container->AddObserver(this); 265 container->AddObserver(this);
266 observed_windows_.insert(container); 266 observed_windows_.insert(container);
267 } 267 }
268 268
269 // Hide the callout widgets for panels. It is safe to call this for 269 // Hide the callout widgets for panels. It is safe to call this for
270 // root windows that don't contain any panel windows. 270 // root windows that don't contain any panel windows.
271 PanelLayoutManager::Get(WmWindow::Get(root))->SetShowCalloutWidgets(false); 271 PanelLayoutManager::Get(root)->SetShowCalloutWidgets(false);
272 272
273 std::unique_ptr<WindowGrid> grid(new WindowGrid(root, windows, this)); 273 std::unique_ptr<WindowGrid> grid(new WindowGrid(root, windows, this));
274 if (grid->empty()) 274 if (grid->empty())
275 continue; 275 continue;
276 num_items_ += grid->size(); 276 num_items_ += grid->size();
277 grid_list_.push_back(std::move(grid)); 277 grid_list_.push_back(std::move(grid));
278 } 278 }
279 279
280 { 280 {
281 // The calls to WindowGrid::PrepareForOverview() and CreateTextFilter(...) 281 // The calls to WindowGrid::PrepareForOverview() and CreateTextFilter(...)
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
330 for (std::unique_ptr<WindowGrid>& window_grid : grid_list_) { 330 for (std::unique_ptr<WindowGrid>& window_grid : grid_list_) {
331 for (const auto& window_selector_item : window_grid->window_list()) 331 for (const auto& window_selector_item : window_grid->window_list())
332 window_selector_item->RestoreWindow(); 332 window_selector_item->RestoreWindow();
333 remaining_items += window_grid->size(); 333 remaining_items += window_grid->size();
334 } 334 }
335 335
336 // Setting focus after restoring windows' state avoids unnecessary animations. 336 // Setting focus after restoring windows' state avoids unnecessary animations.
337 ResetFocusRestoreWindow(true); 337 ResetFocusRestoreWindow(true);
338 RemoveAllObservers(); 338 RemoveAllObservers();
339 339
340 std::vector<WmWindow*> root_windows = ShellPort::Get()->GetAllRootWindows(); 340 for (aura::Window* window : Shell::GetAllRootWindows()) {
341 for (WmWindow* window : root_windows) {
342 // Un-hide the callout widgets for panels. It is safe to call this for 341 // Un-hide the callout widgets for panels. It is safe to call this for
343 // root_windows that don't contain any panel windows. 342 // root_windows that don't contain any panel windows.
344 PanelLayoutManager::Get(window)->SetShowCalloutWidgets(true); 343 PanelLayoutManager::Get(window)->SetShowCalloutWidgets(true);
345 } 344 }
346 345
347 for (std::unique_ptr<WindowGrid>& window_grid : grid_list_) 346 for (std::unique_ptr<WindowGrid>& window_grid : grid_list_)
348 window_grid->Shutdown(); 347 window_grid->Shutdown();
349 348
350 DCHECK(num_items_ >= remaining_items); 349 DCHECK(num_items_ >= remaining_items);
351 UMA_HISTOGRAM_COUNTS_100("Ash.WindowSelector.OverviewClosedItems", 350 UMA_HISTOGRAM_COUNTS_100("Ash.WindowSelector.OverviewClosedItems",
(...skipping 327 matching lines...) Expand 10 before | Expand all | Expand 10 after
679 for (size_t i = 0; i <= grid_list_.size() && 678 for (size_t i = 0; i <= grid_list_.size() &&
680 grid_list_[selected_grid_index_]->Move(direction, animate); 679 grid_list_[selected_grid_index_]->Move(direction, animate);
681 i++) { 680 i++) {
682 selected_grid_index_ = 681 selected_grid_index_ =
683 (selected_grid_index_ + display_direction + grid_list_.size()) % 682 (selected_grid_index_ + display_direction + grid_list_.size()) %
684 grid_list_.size(); 683 grid_list_.size();
685 } 684 }
686 } 685 }
687 686
688 } // namespace ash 687 } // namespace ash
OLDNEW
« no previous file with comments | « ash/wm/container_finder.cc ('k') | ash/wm/overview/window_selector_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698