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

Side by Side Diff: ash/common/wm/dock/docked_window_layout_manager.cc

Issue 2699033002: Replace WmWindowObserver with aura::WindowObserver. (Closed)
Patch Set: Check for null images in ShelfWindowWatcher. Created 3 years, 10 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/common/wm/dock/docked_window_layout_manager.h ('k') | ash/common/wm/lock_layout_manager.h » ('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 (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 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/common/wm/dock/docked_window_layout_manager.h" 5 #include "ash/common/wm/dock/docked_window_layout_manager.h"
6 6
7 #include "ash/animation/animation_change_type.h" 7 #include "ash/animation/animation_change_type.h"
8 #include "ash/common/shelf/shelf_background_animator.h" 8 #include "ash/common/shelf/shelf_background_animator.h"
9 #include "ash/common/shelf/shelf_background_animator_observer.h" 9 #include "ash/common/shelf/shelf_background_animator_observer.h"
10 #include "ash/common/shelf/shelf_constants.h" 10 #include "ash/common/shelf/shelf_constants.h"
11 #include "ash/common/shelf/wm_shelf.h" 11 #include "ash/common/shelf/wm_shelf.h"
12 #include "ash/common/shelf/wm_shelf_observer.h" 12 #include "ash/common/shelf/wm_shelf_observer.h"
13 #include "ash/common/wm/overview/window_selector_controller.h" 13 #include "ash/common/wm/overview/window_selector_controller.h"
14 #include "ash/common/wm/window_animation_types.h" 14 #include "ash/common/wm/window_animation_types.h"
15 #include "ash/common/wm/window_parenting_utils.h" 15 #include "ash/common/wm/window_parenting_utils.h"
16 #include "ash/common/wm/window_resizer.h" 16 #include "ash/common/wm/window_resizer.h"
17 #include "ash/common/wm/window_state.h" 17 #include "ash/common/wm/window_state.h"
18 #include "ash/common/wm_lookup.h" 18 #include "ash/common/wm_lookup.h"
19 #include "ash/common/wm_shell.h" 19 #include "ash/common/wm_shell.h"
20 #include "ash/common/wm_window.h" 20 #include "ash/common/wm_window.h"
21 #include "ash/public/cpp/shell_window_ids.h" 21 #include "ash/public/cpp/shell_window_ids.h"
22 #include "ash/root_window_controller.h" 22 #include "ash/root_window_controller.h"
23 #include "ash/screen_util.h"
24 #include "ash/wm/window_state_aura.h"
23 #include "base/auto_reset.h" 25 #include "base/auto_reset.h"
24 #include "base/metrics/histogram_macros.h" 26 #include "base/metrics/histogram_macros.h"
25 #include "grit/ash_resources.h" 27 #include "grit/ash_resources.h"
26 #include "third_party/skia/include/core/SkColor.h" 28 #include "third_party/skia/include/core/SkColor.h"
27 #include "ui/base/resource/resource_bundle.h" 29 #include "ui/base/resource/resource_bundle.h"
28 #include "ui/compositor/scoped_layer_animation_settings.h" 30 #include "ui/compositor/scoped_layer_animation_settings.h"
29 #include "ui/display/display.h" 31 #include "ui/display/display.h"
30 #include "ui/display/screen.h" 32 #include "ui/display/screen.h"
31 #include "ui/views/background.h" 33 #include "ui/views/background.h"
34 #include "ui/wm/core/window_animations.h"
32 35
33 namespace ash { 36 namespace ash {
34 37
35 // Minimum, maximum width of the dock area and a width of the gap 38 // Minimum, maximum width of the dock area and a width of the gap
36 // static 39 // static
37 const int DockedWindowLayoutManager::kMaxDockWidth = 360; 40 const int DockedWindowLayoutManager::kMaxDockWidth = 360;
38 // static 41 // static
39 const int DockedWindowLayoutManager::kMinDockWidth = 200; 42 const int DockedWindowLayoutManager::kMinDockWidth = 200;
40 // static 43 // static
41 const int DockedWindowLayoutManager::kMinDockGap = 2; 44 const int DockedWindowLayoutManager::kMinDockGap = 2;
(...skipping 257 matching lines...) Expand 10 before | Expand all | Expand 10 after
299 } 302 }
300 303
301 private: 304 private:
302 WmWindow* dragged_window_; 305 WmWindow* dragged_window_;
303 WmWindow* docked_container_; 306 WmWindow* docked_container_;
304 float delta_; 307 float delta_;
305 }; 308 };
306 309
307 //////////////////////////////////////////////////////////////////////////////// 310 ////////////////////////////////////////////////////////////////////////////////
308 // A class that observes shelf for bounds changes. 311 // A class that observes shelf for bounds changes.
309 class DockedWindowLayoutManager::ShelfWindowObserver : public WmWindowObserver { 312 class DockedWindowLayoutManager::ShelfWindowObserver
313 : public aura::WindowObserver {
310 public: 314 public:
311 explicit ShelfWindowObserver(DockedWindowLayoutManager* docked_layout_manager) 315 explicit ShelfWindowObserver(DockedWindowLayoutManager* docked_layout_manager)
312 : docked_layout_manager_(docked_layout_manager) { 316 : docked_layout_manager_(docked_layout_manager) {
313 DCHECK(docked_layout_manager_->shelf()->GetWindow()); 317 DCHECK(docked_layout_manager_->shelf()->GetWindow());
314 docked_layout_manager_->shelf()->GetWindow()->AddObserver(this); 318 docked_layout_manager_->shelf()->GetWindow()->aura_window()->AddObserver(
319 this);
315 } 320 }
316 321
317 ~ShelfWindowObserver() override { 322 ~ShelfWindowObserver() override {
318 if (docked_layout_manager_->shelf() && 323 if (docked_layout_manager_->shelf() &&
319 docked_layout_manager_->shelf()->GetWindow()) { 324 docked_layout_manager_->shelf()->GetWindow()) {
320 docked_layout_manager_->shelf()->GetWindow()->RemoveObserver(this); 325 docked_layout_manager_->shelf()
326 ->GetWindow()
327 ->aura_window()
328 ->RemoveObserver(this);
321 } 329 }
322 } 330 }
323 331
324 // WmWindowObserver: 332 // aura::WindowObserver:
325 void OnWindowBoundsChanged(WmWindow* window, 333 void OnWindowBoundsChanged(aura::Window* window,
326 const gfx::Rect& old_bounds, 334 const gfx::Rect& old_bounds,
327 const gfx::Rect& new_bounds) override { 335 const gfx::Rect& new_bounds) override {
328 shelf_bounds_in_screen_ = 336 shelf_bounds_in_screen_ =
329 window->GetParent()->ConvertRectToScreen(new_bounds); 337 ScreenUtil::ConvertRectToScreen(window->parent(), new_bounds);
330 338
331 // When the shelf is auto-hidden, it has an invisible height of 3px used 339 // When the shelf is auto-hidden, it has an invisible height of 3px used
332 // as a hit region which is specific to Chrome OS MD (for non-MD, the 3 340 // as a hit region which is specific to Chrome OS MD (for non-MD, the 3
333 // pixels are visible). In computing the work area we should consider a 341 // pixels are visible). In computing the work area we should consider a
334 // hidden shelf as having a height of 0 (for non-MD, shelf height is 3). 342 // hidden shelf as having a height of 0 (for non-MD, shelf height is 3).
335 if (docked_layout_manager_->shelf()->GetAutoHideState() == 343 if (docked_layout_manager_->shelf()->GetAutoHideState() ==
336 ShelfAutoHideState::SHELF_AUTO_HIDE_HIDDEN) { 344 ShelfAutoHideState::SHELF_AUTO_HIDE_HIDDEN) {
337 shelf_bounds_in_screen_.set_height( 345 shelf_bounds_in_screen_.set_height(
338 GetShelfConstant(SHELF_INSETS_FOR_AUTO_HIDE)); 346 GetShelfConstant(SHELF_INSETS_FOR_AUTO_HIDE));
339 } 347 }
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
390 return static_cast<DockedWindowLayoutManager*>( 398 return static_cast<DockedWindowLayoutManager*>(
391 root->GetChildByShellWindowId(kShellWindowId_DockedContainer) 399 root->GetChildByShellWindowId(kShellWindowId_DockedContainer)
392 ->GetLayoutManager()); 400 ->GetLayoutManager());
393 } 401 }
394 402
395 void DockedWindowLayoutManager::Shutdown() { 403 void DockedWindowLayoutManager::Shutdown() {
396 background_widget_.reset(); 404 background_widget_.reset();
397 shelf_observer_.reset(); 405 shelf_observer_.reset();
398 shelf_ = nullptr; 406 shelf_ = nullptr;
399 for (WmWindow* child : dock_container_->GetChildren()) { 407 for (WmWindow* child : dock_container_->GetChildren()) {
400 child->RemoveObserver(this); 408 child->aura_window()->RemoveObserver(this);
401 child->GetWindowState()->RemoveObserver(this); 409 child->GetWindowState()->RemoveObserver(this);
402 } 410 }
403 dock_container_->GetShell()->RemoveActivationObserver(this); 411 dock_container_->GetShell()->RemoveActivationObserver(this);
404 dock_container_->GetShell()->RemoveShellObserver(this); 412 dock_container_->GetShell()->RemoveShellObserver(this);
405 display::Screen::GetScreen()->RemoveObserver(this); 413 display::Screen::GetScreen()->RemoveObserver(this);
406 } 414 }
407 415
408 void DockedWindowLayoutManager::AddObserver( 416 void DockedWindowLayoutManager::AddObserver(
409 DockedWindowLayoutManagerObserver* observer) { 417 DockedWindowLayoutManagerObserver* observer) {
410 observer_list_.AddObserver(observer); 418 observer_list_.AddObserver(observer);
411 } 419 }
412 420
413 void DockedWindowLayoutManager::RemoveObserver( 421 void DockedWindowLayoutManager::RemoveObserver(
414 DockedWindowLayoutManagerObserver* observer) { 422 DockedWindowLayoutManagerObserver* observer) {
415 observer_list_.RemoveObserver(observer); 423 observer_list_.RemoveObserver(observer);
416 } 424 }
417 425
418 void DockedWindowLayoutManager::StartDragging(WmWindow* window) { 426 void DockedWindowLayoutManager::StartDragging(WmWindow* window) {
419 DCHECK(!dragged_window_); 427 DCHECK(!dragged_window_);
420 dragged_window_ = window; 428 dragged_window_ = window;
421 DCHECK(!IsPopupOrTransient(window)); 429 DCHECK(!IsPopupOrTransient(window));
422 // Start observing a window unless it is docked container's child in which 430 // Start observing a window unless it is docked container's child in which
423 // case it is already observed. 431 // case it is already observed.
424 wm::WindowState* dragged_state = dragged_window_->GetWindowState(); 432 wm::WindowState* dragged_state = dragged_window_->GetWindowState();
425 if (dragged_window_->GetParent() != dock_container_) { 433 if (dragged_window_->GetParent() != dock_container_) {
426 dragged_window_->AddObserver(this); 434 dragged_window_->aura_window()->AddObserver(this);
427 dragged_state->AddObserver(this); 435 dragged_state->AddObserver(this);
428 } else if (!IsAnyWindowDocked() && dragged_state->drag_details() && 436 } else if (!IsAnyWindowDocked() && dragged_state->drag_details() &&
429 !(dragged_state->drag_details()->bounds_change & 437 !(dragged_state->drag_details()->bounds_change &
430 WindowResizer::kBoundsChange_Resizes)) { 438 WindowResizer::kBoundsChange_Resizes)) {
431 // If there are no other docked windows clear alignment when a docked window 439 // If there are no other docked windows clear alignment when a docked window
432 // is moved (but not when it is resized or the window could get undocked 440 // is moved (but not when it is resized or the window could get undocked
433 // when resized away from the edge while docked). 441 // when resized away from the edge while docked).
434 alignment_ = DOCKED_ALIGNMENT_NONE; 442 alignment_ = DOCKED_ALIGNMENT_NONE;
435 } 443 }
436 is_dragged_from_dock_ = window->GetParent() == dock_container_; 444 is_dragged_from_dock_ = window->GetParent() == dock_container_;
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
469 void DockedWindowLayoutManager::FinishDragging(DockedAction action, 477 void DockedWindowLayoutManager::FinishDragging(DockedAction action,
470 DockedActionSource source) { 478 DockedActionSource source) {
471 DCHECK(dragged_window_); 479 DCHECK(dragged_window_);
472 DCHECK(!IsPopupOrTransient(dragged_window_)); 480 DCHECK(!IsPopupOrTransient(dragged_window_));
473 if (is_dragged_window_docked_) 481 if (is_dragged_window_docked_)
474 OnDraggedWindowUndocked(); 482 OnDraggedWindowUndocked();
475 DCHECK(!is_dragged_window_docked_); 483 DCHECK(!is_dragged_window_docked_);
476 // Stop observing a window unless it is docked container's child in which 484 // Stop observing a window unless it is docked container's child in which
477 // case it needs to keep being observed after the drag completes. 485 // case it needs to keep being observed after the drag completes.
478 if (dragged_window_->GetParent() != dock_container_) { 486 if (dragged_window_->GetParent() != dock_container_) {
479 dragged_window_->RemoveObserver(this); 487 dragged_window_->aura_window()->RemoveObserver(this);
480 dragged_window_->GetWindowState()->RemoveObserver(this); 488 dragged_window_->GetWindowState()->RemoveObserver(this);
481 if (last_active_window_ == dragged_window_) 489 if (last_active_window_ == dragged_window_)
482 last_active_window_ = nullptr; 490 last_active_window_ = nullptr;
483 } else { 491 } else {
484 // If this is the first window that got docked by a move update alignment. 492 // If this is the first window that got docked by a move update alignment.
485 if (alignment_ == DOCKED_ALIGNMENT_NONE) 493 if (alignment_ == DOCKED_ALIGNMENT_NONE)
486 alignment_ = GetEdgeNearestWindow(dragged_window_); 494 alignment_ = GetEdgeNearestWindow(dragged_window_);
487 // A window is no longer dragged and is a child. 495 // A window is no longer dragged and is a child.
488 // When a window becomes a child at drag start this is 496 // When a window becomes a child at drag start this is
489 // the only opportunity we will have to enforce a window 497 // the only opportunity we will have to enforce a window
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
638 // If this is the first window getting docked - update alignment. 646 // If this is the first window getting docked - update alignment.
639 // A window can be added without proper bounds when window is moved to another 647 // A window can be added without proper bounds when window is moved to another
640 // display via API or due to display configuration change, so the alignment 648 // display via API or due to display configuration change, so the alignment
641 // is set based on which edge is closer in the new display. 649 // is set based on which edge is closer in the new display.
642 if (alignment_ == DOCKED_ALIGNMENT_NONE) { 650 if (alignment_ == DOCKED_ALIGNMENT_NONE) {
643 alignment_ = preferred_alignment_ != DOCKED_ALIGNMENT_NONE 651 alignment_ = preferred_alignment_ != DOCKED_ALIGNMENT_NONE
644 ? preferred_alignment_ 652 ? preferred_alignment_
645 : GetEdgeNearestWindow(child); 653 : GetEdgeNearestWindow(child);
646 } 654 }
647 MaybeMinimizeChildrenExcept(child); 655 MaybeMinimizeChildrenExcept(child);
648 child->AddObserver(this); 656 child->aura_window()->AddObserver(this);
649 child->GetWindowState()->AddObserver(this); 657 child->GetWindowState()->AddObserver(this);
650 Relayout(); 658 Relayout();
651 UpdateDockBounds(DockedWindowLayoutManagerObserver::CHILD_CHANGED); 659 UpdateDockBounds(DockedWindowLayoutManagerObserver::CHILD_CHANGED);
652 660
653 // Only keyboard-initiated actions are recorded here. Dragging cases 661 // Only keyboard-initiated actions are recorded here. Dragging cases
654 // are handled in FinishDragging. 662 // are handled in FinishDragging.
655 if (event_source_ != DOCKED_ACTION_SOURCE_UNKNOWN) 663 if (event_source_ != DOCKED_ACTION_SOURCE_UNKNOWN)
656 RecordUmaAction(DOCKED_ACTION_DOCK, event_source_); 664 RecordUmaAction(DOCKED_ACTION_DOCK, event_source_);
657 } 665 }
658 666
659 void DockedWindowLayoutManager::OnWindowRemovedFromLayout(WmWindow* child) { 667 void DockedWindowLayoutManager::OnWindowRemovedFromLayout(WmWindow* child) {
660 if (IsPopupOrTransient(child)) 668 if (IsPopupOrTransient(child))
661 return; 669 return;
662 // Dragged windows are stopped being observed by FinishDragging and do not 670 // Dragged windows are stopped being observed by FinishDragging and do not
663 // change alignment during the drag. They also cannot be set to be the 671 // change alignment during the drag. They also cannot be set to be the
664 // |last_active_window_|. 672 // |last_active_window_|.
665 if (child == dragged_window_) 673 if (child == dragged_window_)
666 return; 674 return;
667 // If this is the last window, set alignment and maximize the workspace. 675 // If this is the last window, set alignment and maximize the workspace.
668 if (!IsAnyWindowDocked()) { 676 if (!IsAnyWindowDocked()) {
669 alignment_ = DOCKED_ALIGNMENT_NONE; 677 alignment_ = DOCKED_ALIGNMENT_NONE;
670 UpdateDockedWidth(0); 678 UpdateDockedWidth(0);
671 } 679 }
672 if (last_active_window_ == child) 680 if (last_active_window_ == child)
673 last_active_window_ = nullptr; 681 last_active_window_ = nullptr;
674 child->RemoveObserver(this); 682 child->aura_window()->RemoveObserver(this);
675 child->GetWindowState()->RemoveObserver(this); 683 child->GetWindowState()->RemoveObserver(this);
676 Relayout(); 684 Relayout();
677 UpdateDockBounds(DockedWindowLayoutManagerObserver::CHILD_CHANGED); 685 UpdateDockBounds(DockedWindowLayoutManagerObserver::CHILD_CHANGED);
678 } 686 }
679 687
680 void DockedWindowLayoutManager::OnChildWindowVisibilityChanged(WmWindow* child, 688 void DockedWindowLayoutManager::OnChildWindowVisibilityChanged(WmWindow* child,
681 bool visible) { 689 bool visible) {
682 if (IsPopupOrTransient(child)) 690 if (IsPopupOrTransient(child))
683 return; 691 return;
684 692
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
752 RestoreDockedWindow(window_state); 760 RestoreDockedWindow(window_state);
753 } else if (old_type == wm::WINDOW_STATE_TYPE_MINIMIZED) { 761 } else if (old_type == wm::WINDOW_STATE_TYPE_MINIMIZED) {
754 NOTREACHED() << "Minimized window in docked layout manager"; 762 NOTREACHED() << "Minimized window in docked layout manager";
755 } 763 }
756 } 764 }
757 765
758 ///////////////////////////////////////////////////////////////////////////// 766 /////////////////////////////////////////////////////////////////////////////
759 // DockedWindowLayoutManager, WindowObserver implementation: 767 // DockedWindowLayoutManager, WindowObserver implementation:
760 768
761 void DockedWindowLayoutManager::OnWindowBoundsChanged( 769 void DockedWindowLayoutManager::OnWindowBoundsChanged(
762 WmWindow* window, 770 aura::Window* window,
763 const gfx::Rect& old_bounds, 771 const gfx::Rect& old_bounds,
764 const gfx::Rect& new_bounds) { 772 const gfx::Rect& new_bounds) {
765 // Only relayout if the dragged window would get docked. 773 // Only relayout if the dragged window would get docked.
766 if (window == dragged_window_ && is_dragged_window_docked_) 774 if (WmWindow::Get(window) == dragged_window_ && is_dragged_window_docked_)
767 Relayout(); 775 Relayout();
768 } 776 }
769 777
770 void DockedWindowLayoutManager::OnWindowVisibilityChanging(WmWindow* window, 778 void DockedWindowLayoutManager::OnWindowVisibilityChanging(aura::Window* window,
771 bool visible) { 779 bool visible) {
772 if (IsPopupOrTransient(window)) 780 if (IsPopupOrTransient(WmWindow::Get(window)))
773 return; 781 return;
774 int animation_type = ::wm::WINDOW_VISIBILITY_ANIMATION_TYPE_DEFAULT; 782 int animation_type = ::wm::WINDOW_VISIBILITY_ANIMATION_TYPE_DEFAULT;
775 if (visible) { 783 if (visible) {
776 animation_type = ::wm::WINDOW_VISIBILITY_ANIMATION_TYPE_DROP; 784 animation_type = ::wm::WINDOW_VISIBILITY_ANIMATION_TYPE_DROP;
777 window->SetVisibilityAnimationDuration( 785 ::wm::SetWindowVisibilityAnimationDuration(
778 base::TimeDelta::FromMilliseconds(kFadeDurationMs)); 786 window, base::TimeDelta::FromMilliseconds(kFadeDurationMs));
779 } else if (window->GetWindowState()->IsMinimized()) { 787 } else if (wm::GetWindowState(window)->IsMinimized()) {
780 animation_type = wm::WINDOW_VISIBILITY_ANIMATION_TYPE_MINIMIZE; 788 animation_type = wm::WINDOW_VISIBILITY_ANIMATION_TYPE_MINIMIZE;
781 } 789 }
782 window->SetVisibilityAnimationType(animation_type); 790 ::wm::SetWindowVisibilityAnimationType(window, animation_type);
783 } 791 }
784 792
785 void DockedWindowLayoutManager::OnWindowDestroying(WmWindow* window) { 793 void DockedWindowLayoutManager::OnWindowDestroying(aura::Window* window) {
786 if (dragged_window_ == window) { 794 if (dragged_window_ == WmWindow::Get(window)) {
787 FinishDragging(DOCKED_ACTION_NONE, DOCKED_ACTION_SOURCE_UNKNOWN); 795 FinishDragging(DOCKED_ACTION_NONE, DOCKED_ACTION_SOURCE_UNKNOWN);
788 DCHECK(!dragged_window_); 796 DCHECK(!dragged_window_);
789 DCHECK(!is_dragged_window_docked_); 797 DCHECK(!is_dragged_window_docked_);
790 } 798 }
791 if (window == last_active_window_) 799 if (WmWindow::Get(window) == last_active_window_)
792 last_active_window_ = nullptr; 800 last_active_window_ = nullptr;
793 RecordUmaAction(DOCKED_ACTION_CLOSE, event_source_); 801 RecordUmaAction(DOCKED_ACTION_CLOSE, event_source_);
794 } 802 }
795 803
796 //////////////////////////////////////////////////////////////////////////////// 804 ////////////////////////////////////////////////////////////////////////////////
797 // DockedWindowLayoutManager, WmActivationObserver implementation: 805 // DockedWindowLayoutManager, WmActivationObserver implementation:
798 806
799 void DockedWindowLayoutManager::OnWindowActivated(WmWindow* gained_active, 807 void DockedWindowLayoutManager::OnWindowActivated(WmWindow* gained_active,
800 WmWindow* lost_active) { 808 WmWindow* lost_active) {
801 if (gained_active && IsPopupOrTransient(gained_active)) 809 if (gained_active && IsPopupOrTransient(gained_active))
(...skipping 517 matching lines...) Expand 10 before | Expand all | Expand 10 after
1319 const gfx::Rect& keyboard_bounds) { 1327 const gfx::Rect& keyboard_bounds) {
1320 // This bounds change will have caused a change to the Shelf which does not 1328 // This bounds change will have caused a change to the Shelf which does not
1321 // propagate automatically to this class, so manually recalculate bounds. 1329 // propagate automatically to this class, so manually recalculate bounds.
1322 Relayout(); 1330 Relayout();
1323 UpdateDockBounds(DockedWindowLayoutManagerObserver::KEYBOARD_BOUNDS_CHANGING); 1331 UpdateDockBounds(DockedWindowLayoutManagerObserver::KEYBOARD_BOUNDS_CHANGING);
1324 } 1332 }
1325 1333
1326 void DockedWindowLayoutManager::OnKeyboardClosed() {} 1334 void DockedWindowLayoutManager::OnKeyboardClosed() {}
1327 1335
1328 } // namespace ash 1336 } // namespace ash
OLDNEW
« no previous file with comments | « ash/common/wm/dock/docked_window_layout_manager.h ('k') | ash/common/wm/lock_layout_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698