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

Side by Side Diff: ash/wm/window_positioner.cc

Issue 786513003: Cleaning up MruWindowTracker::BuildWindowList() (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 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
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/window_positioner.h" 5 #include "ash/wm/window_positioner.h"
6 6
7 #include "ash/screen_util.h" 7 #include "ash/screen_util.h"
8 #include "ash/shell.h" 8 #include "ash/shell.h"
9 #include "ash/shell_window_ids.h" 9 #include "ash/shell_window_ids.h"
10 #include "ash/wm/mru_window_tracker.h" 10 #include "ash/wm/mru_window_tracker.h"
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
185 bool *single_window) { 185 bool *single_window) {
186 if (single_window) 186 if (single_window)
187 *single_window = true; 187 *single_window = true;
188 // Get the active window. 188 // Get the active window.
189 aura::Window* active = ash::wm::GetActiveWindow(); 189 aura::Window* active = ash::wm::GetActiveWindow();
190 if (active && active->GetRootWindow() != root_window) 190 if (active && active->GetRootWindow() != root_window)
191 active = NULL; 191 active = NULL;
192 192
193 // Get a list of all windows. 193 // Get a list of all windows.
194 const std::vector<aura::Window*> windows = 194 const std::vector<aura::Window*> windows =
195 ash::MruWindowTracker::BuildWindowList(false); 195 ash::MruWindowTracker::BuildWindowList();
196 196
197 if (windows.empty()) 197 if (windows.empty())
198 return NULL; 198 return NULL;
199 199
200 aura::Window::Windows::const_iterator iter = windows.begin(); 200 aura::Window::Windows::const_iterator iter = windows.begin();
201 // Find the index of the current active window. 201 // Find the index of the current active window.
202 if (active) 202 if (active)
203 iter = std::find(windows.begin(), windows.end(), active); 203 iter = std::find(windows.begin(), windows.end(), active);
204 204
205 int index = (iter == windows.end()) ? 0 : (iter - windows.begin()); 205 int index = (iter == windows.end()) ? 0 : (iter - windows.begin());
(...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after
496 last_popup_position_x_ += pop_position_offset_increment_x; 496 last_popup_position_x_ += pop_position_offset_increment_x;
497 last_popup_position_y_ += pop_position_offset_increment_y; 497 last_popup_position_y_ += pop_position_offset_increment_y;
498 } 498 }
499 return gfx::Rect(x + work_area.x(), y + work_area.y(), w, h); 499 return gfx::Rect(x + work_area.x(), y + work_area.y(), w, h);
500 } 500 }
501 501
502 gfx::Rect WindowPositioner::SmartPopupPosition( 502 gfx::Rect WindowPositioner::SmartPopupPosition(
503 const gfx::Rect& old_pos, 503 const gfx::Rect& old_pos,
504 const gfx::Rect& work_area, 504 const gfx::Rect& work_area,
505 int grid) { 505 int grid) {
506 const std::vector<aura::Window*> windows = 506 const std::vector<aura::Window*> windows =
oshima 2014/12/06 00:26:03 does this fit single line?
afakhry 2014/12/06 00:30:40 It doesn't ... the semicolon will exceed the bound
507 MruWindowTracker::BuildWindowList(false); 507 MruWindowTracker::BuildWindowList();
508 508
509 std::vector<const gfx::Rect*> regions; 509 std::vector<const gfx::Rect*> regions;
510 // Process the window list and check if we can bail immediately. 510 // Process the window list and check if we can bail immediately.
511 for (size_t i = 0; i < windows.size(); i++) { 511 for (size_t i = 0; i < windows.size(); i++) {
512 // We only include opaque and visible windows. 512 // We only include opaque and visible windows.
513 if (windows[i] && windows[i]->IsVisible() && windows[i]->layer() && 513 if (windows[i] && windows[i]->IsVisible() && windows[i]->layer() &&
514 (!windows[i]->transparent() || 514 (!windows[i]->transparent() ||
515 windows[i]->layer()->GetTargetOpacity() == 1.0)) { 515 windows[i]->layer()->GetTargetOpacity() == 1.0)) {
516 wm::WindowState* window_state = wm::GetWindowState(windows[i]); 516 wm::WindowState* window_state = wm::GetWindowState(windows[i]);
517 // When any window is maximized we cannot find any free space. 517 // When any window is maximized we cannot find any free space.
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
582 // If the alignment was pushing the window out of the screen, we ignore the 582 // If the alignment was pushing the window out of the screen, we ignore the
583 // alignment for that call. 583 // alignment for that call.
584 if (abs(pos.right() - work_area.right()) < grid) 584 if (abs(pos.right() - work_area.right()) < grid)
585 x = work_area.right() - w; 585 x = work_area.right() - w;
586 if (abs(pos.bottom() - work_area.bottom()) < grid) 586 if (abs(pos.bottom() - work_area.bottom()) < grid)
587 y = work_area.bottom() - h; 587 y = work_area.bottom() - h;
588 return gfx::Rect(x, y, w, h); 588 return gfx::Rect(x, y, w, h);
589 } 589 }
590 590
591 } // namespace ash 591 } // namespace ash
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698