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

Side by Side Diff: ash/wm/panels/panel_layout_manager.cc

Issue 115153002: wm: public window_types. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: ozone deps Created 7 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 | Annotate | Revision Log
OLDNEW
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 "ash/wm/panels/panel_layout_manager.h" 5 #include "ash/wm/panels/panel_layout_manager.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <map> 8 #include <map>
9 9
10 #include "ash/launcher/launcher.h" 10 #include "ash/launcher/launcher.h"
(...skipping 323 matching lines...) Expand 10 before | Expand all | Expand 10 after
334 return found->callout_widget; 334 return found->callout_widget;
335 } 335 }
336 336
337 //////////////////////////////////////////////////////////////////////////////// 337 ////////////////////////////////////////////////////////////////////////////////
338 // PanelLayoutManager, aura::LayoutManager implementation: 338 // PanelLayoutManager, aura::LayoutManager implementation:
339 void PanelLayoutManager::OnWindowResized() { 339 void PanelLayoutManager::OnWindowResized() {
340 Relayout(); 340 Relayout();
341 } 341 }
342 342
343 void PanelLayoutManager::OnWindowAddedToLayout(aura::Window* child) { 343 void PanelLayoutManager::OnWindowAddedToLayout(aura::Window* child) {
344 if (child->type() == aura::client::WINDOW_TYPE_POPUP) 344 if (child->type() == ui::wm::WINDOW_TYPE_POPUP)
345 return; 345 return;
346 if (in_add_window_) 346 if (in_add_window_)
347 return; 347 return;
348 base::AutoReset<bool> auto_reset_in_add_window(&in_add_window_, true); 348 base::AutoReset<bool> auto_reset_in_add_window(&in_add_window_, true);
349 if (!wm::GetWindowState(child)->panel_attached()) { 349 if (!wm::GetWindowState(child)->panel_attached()) {
350 // This should only happen when a window is added to panel container as a 350 // This should only happen when a window is added to panel container as a
351 // result of bounds change from within the application during a drag. 351 // result of bounds change from within the application during a drag.
352 // If so we have already stopped the drag and should reparent the panel 352 // If so we have already stopped the drag and should reparent the panel
353 // back to appropriate container and ignore it. 353 // back to appropriate container and ignore it.
354 // TODO(varkha): Updating bounds during a drag can cause problems and a more 354 // TODO(varkha): Updating bounds during a drag can cause problems and a more
(...skipping 17 matching lines...) Expand all
372 panel_windows_.push_back(panel_info); 372 panel_windows_.push_back(panel_info);
373 child->AddObserver(this); 373 child->AddObserver(this);
374 wm::GetWindowState(child)->AddObserver(this); 374 wm::GetWindowState(child)->AddObserver(this);
375 Relayout(); 375 Relayout();
376 } 376 }
377 377
378 void PanelLayoutManager::OnWillRemoveWindowFromLayout(aura::Window* child) { 378 void PanelLayoutManager::OnWillRemoveWindowFromLayout(aura::Window* child) {
379 } 379 }
380 380
381 void PanelLayoutManager::OnWindowRemovedFromLayout(aura::Window* child) { 381 void PanelLayoutManager::OnWindowRemovedFromLayout(aura::Window* child) {
382 if (child->type() == aura::client::WINDOW_TYPE_POPUP) 382 if (child->type() == ui::wm::WINDOW_TYPE_POPUP)
383 return; 383 return;
384 PanelList::iterator found = 384 PanelList::iterator found =
385 std::find(panel_windows_.begin(), panel_windows_.end(), child); 385 std::find(panel_windows_.begin(), panel_windows_.end(), child);
386 if (found != panel_windows_.end()) { 386 if (found != panel_windows_.end()) {
387 delete found->callout_widget; 387 delete found->callout_widget;
388 panel_windows_.erase(found); 388 panel_windows_.erase(found);
389 } 389 }
390 child->RemoveObserver(this); 390 child->RemoveObserver(this);
391 wm::GetWindowState(child)->RemoveObserver(this); 391 wm::GetWindowState(child)->RemoveObserver(this);
392 392
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
485 if (visible) 485 if (visible)
486 wm::GetWindowState(window)->Restore(); 486 wm::GetWindowState(window)->Restore();
487 } 487 }
488 488
489 //////////////////////////////////////////////////////////////////////////////// 489 ////////////////////////////////////////////////////////////////////////////////
490 // PanelLayoutManager, aura::client::ActivationChangeObserver implementation: 490 // PanelLayoutManager, aura::client::ActivationChangeObserver implementation:
491 491
492 void PanelLayoutManager::OnWindowActivated(aura::Window* gained_active, 492 void PanelLayoutManager::OnWindowActivated(aura::Window* gained_active,
493 aura::Window* lost_active) { 493 aura::Window* lost_active) {
494 // Ignore if the panel that is not managed by this was activated. 494 // Ignore if the panel that is not managed by this was activated.
495 if (gained_active && 495 if (gained_active && gained_active->type() == ui::wm::WINDOW_TYPE_PANEL &&
496 gained_active->type() == aura::client::WINDOW_TYPE_PANEL &&
497 gained_active->parent() == panel_container_) { 496 gained_active->parent() == panel_container_) {
498 UpdateStacking(gained_active); 497 UpdateStacking(gained_active);
499 UpdateCallouts(); 498 UpdateCallouts();
500 } 499 }
501 } 500 }
502 501
503 //////////////////////////////////////////////////////////////////////////////// 502 ////////////////////////////////////////////////////////////////////////////////
504 // PanelLayoutManager, DisplayController::Observer implementation: 503 // PanelLayoutManager, DisplayController::Observer implementation:
505 504
506 void PanelLayoutManager::OnDisplayConfigurationChanged() { 505 void PanelLayoutManager::OnDisplayConfigurationChanged() {
(...skipping 379 matching lines...) Expand 10 before | Expand all | Expand 10 after
886 885
887 void PanelLayoutManager::OnKeyboardBoundsChanging( 886 void PanelLayoutManager::OnKeyboardBoundsChanging(
888 const gfx::Rect& keyboard_bounds) { 887 const gfx::Rect& keyboard_bounds) {
889 // This bounds change will have caused a change to the Shelf which does not 888 // This bounds change will have caused a change to the Shelf which does not
890 // propogate automatically to this class, so manually recalculate bounds. 889 // propogate automatically to this class, so manually recalculate bounds.
891 OnWindowResized(); 890 OnWindowResized();
892 } 891 }
893 892
894 } // namespace internal 893 } // namespace internal
895 } // namespace ash 894 } // namespace ash
OLDNEW
« no previous file with comments | « ash/wm/overview/window_selector_unittest.cc ('k') | ash/wm/panels/panel_layout_manager_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698