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

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

Issue 2886253002: mash: remove more shell/shelf WmWindow usage. (Closed)
Patch Set: Fix WmShelf::ForWindow. 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
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 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
124 124
125 private: 125 private:
126 int corner_radius_; 126 int corner_radius_;
127 SkColor background_; 127 SkColor background_;
128 128
129 DISALLOW_COPY_AND_ASSIGN(RoundedContainerView); 129 DISALLOW_COPY_AND_ASSIGN(RoundedContainerView);
130 }; 130 };
131 131
132 // Triggers a shelf visibility update on all root window controllers. 132 // Triggers a shelf visibility update on all root window controllers.
133 void UpdateShelfVisibility() { 133 void UpdateShelfVisibility() {
134 for (WmWindow* root : ShellPort::Get()->GetAllRootWindows()) 134 for (aura::Window* root : Shell::GetAllRootWindows())
135 WmShelf::ForWindow(root)->UpdateVisibilityState(); 135 WmShelf::ForWindow(root)->UpdateVisibilityState();
136 } 136 }
137 137
138 gfx::Rect GetTextFilterPosition(WmWindow* root_window) { 138 gfx::Rect GetTextFilterPosition(WmWindow* root_window) {
139 gfx::Rect total_bounds = root_window->ConvertRectToScreen( 139 gfx::Rect total_bounds = root_window->ConvertRectToScreen(
140 ScreenUtil::GetDisplayWorkAreaBoundsInParent( 140 ScreenUtil::GetDisplayWorkAreaBoundsInParent(
141 root_window->GetChildByShellWindowId(kShellWindowId_DefaultContainer) 141 root_window->GetChildByShellWindowId(kShellWindowId_DefaultContainer)
142 ->aura_window())); 142 ->aura_window()));
143 return gfx::Rect( 143 return gfx::Rect(
144 0.5 * (total_bounds.width() - 144 0.5 * (total_bounds.width() -
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after
292 // Do not call PrepareForOverview until all items are added to window_list_ 292 // Do not call PrepareForOverview until all items are added to window_list_
293 // as we don't want to cause any window updates until all windows in 293 // as we don't want to cause any window updates until all windows in
294 // overview are observed. See http://crbug.com/384495. 294 // overview are observed. See http://crbug.com/384495.
295 for (std::unique_ptr<WindowGrid>& window_grid : grid_list_) { 295 for (std::unique_ptr<WindowGrid>& window_grid : grid_list_) {
296 window_grid->PrepareForOverview(); 296 window_grid->PrepareForOverview();
297 window_grid->PositionWindows(true); 297 window_grid->PositionWindows(true);
298 } 298 }
299 299
300 search_image_ = gfx::CreateVectorIcon(ui::kSearchIcon, kTextFilterIconSize, 300 search_image_ = gfx::CreateVectorIcon(ui::kSearchIcon, kTextFilterIconSize,
301 kTextFilterIconColor); 301 kTextFilterIconColor);
302 WmWindow* root_window = shell_port->GetPrimaryRootWindow(); 302 WmWindow* root_window = WmWindow::Get(Shell::GetPrimaryRootWindow());
303 text_filter_widget_.reset(CreateTextFilter(this, root_window, search_image_, 303 text_filter_widget_.reset(CreateTextFilter(this, root_window, search_image_,
304 &text_filter_bottom_)); 304 &text_filter_bottom_));
305 } 305 }
306 306
307 DCHECK(!grid_list_.empty()); 307 DCHECK(!grid_list_.empty());
308 UMA_HISTOGRAM_COUNTS_100("Ash.WindowSelector.Items", num_items_); 308 UMA_HISTOGRAM_COUNTS_100("Ash.WindowSelector.Items", num_items_);
309 309
310 Shell::Get()->activation_client()->AddObserver(this); 310 Shell::Get()->activation_client()->AddObserver(this);
311 311
312 display::Screen::GetScreen()->AddObserver(this); 312 display::Screen::GetScreen()->AddObserver(this);
(...skipping 317 matching lines...) Expand 10 before | Expand all | Expand 10 after
630 WmWindow* WindowSelector::GetTextFilterWidgetWindow() { 630 WmWindow* WindowSelector::GetTextFilterWidgetWindow() {
631 return WmWindow::Get(text_filter_widget_->GetNativeWindow()); 631 return WmWindow::Get(text_filter_widget_->GetNativeWindow());
632 } 632 }
633 633
634 void WindowSelector::PositionWindows(bool animate) { 634 void WindowSelector::PositionWindows(bool animate) {
635 for (std::unique_ptr<WindowGrid>& grid : grid_list_) 635 for (std::unique_ptr<WindowGrid>& grid : grid_list_)
636 grid->PositionWindows(animate); 636 grid->PositionWindows(animate);
637 } 637 }
638 638
639 void WindowSelector::RepositionTextFilterOnDisplayMetricsChange() { 639 void WindowSelector::RepositionTextFilterOnDisplayMetricsChange() {
640 WmWindow* root_window = ShellPort::Get()->GetPrimaryRootWindow(); 640 WmWindow* root_window = WmWindow::Get(Shell::GetPrimaryRootWindow());
641 const gfx::Rect rect = GetTextFilterPosition(root_window); 641 const gfx::Rect rect = GetTextFilterPosition(root_window);
642 text_filter_bottom_ = rect.bottom() + kTextFieldBottomMargin; 642 text_filter_bottom_ = rect.bottom() + kTextFieldBottomMargin;
643 text_filter_widget_->SetBounds(rect); 643 text_filter_widget_->SetBounds(rect);
644 644
645 gfx::Transform transform; 645 gfx::Transform transform;
646 transform.Translate( 646 transform.Translate(
647 0, text_filter_string_length_ == 0 ? -text_filter_bottom_ : 0); 647 0, text_filter_string_length_ == 0 ? -text_filter_bottom_ : 0);
648 WmWindow* text_filter_window = GetTextFilterWidgetWindow(); 648 WmWindow* text_filter_window = GetTextFilterWidgetWindow();
649 text_filter_window->SetOpacity(text_filter_string_length_ == 0 ? 0 : 1); 649 text_filter_window->SetOpacity(text_filter_string_length_ == 0 ? 0 : 1);
650 text_filter_window->SetTransform(transform); 650 text_filter_window->SetTransform(transform);
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
682 for (size_t i = 0; i <= grid_list_.size() && 682 for (size_t i = 0; i <= grid_list_.size() &&
683 grid_list_[selected_grid_index_]->Move(direction, animate); 683 grid_list_[selected_grid_index_]->Move(direction, animate);
684 i++) { 684 i++) {
685 selected_grid_index_ = 685 selected_grid_index_ =
686 (selected_grid_index_ + display_direction + grid_list_.size()) % 686 (selected_grid_index_ + display_direction + grid_list_.size()) %
687 grid_list_.size(); 687 grid_list_.size();
688 } 688 }
689 } 689 }
690 690
691 } // namespace ash 691 } // namespace ash
OLDNEW
« no previous file with comments | « ash/wm/overview/window_grid.cc ('k') | ash/wm/system_modal_container_layout_manager_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698