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

Side by Side Diff: ash/root_window_controller.cc

Issue 74693002: . (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 1 month 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
« no previous file with comments | « ash/keyboard_controller_proxy_stub.cc ('k') | ash/root_window_controller_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 (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/root_window_controller.h" 5 #include "ash/root_window_controller.h"
6 6
7 #include <queue> 7 #include <queue>
8 #include <vector> 8 #include <vector>
9 9
10 #include "ash/ash_constants.h" 10 #include "ash/ash_constants.h"
(...skipping 524 matching lines...) Expand 10 before | Expand all | Expand 10 after
535 GetTopmostFullscreenWindow()); 535 GetTopmostFullscreenWindow());
536 } 536 }
537 537
538 void RootWindowController::ActivateKeyboard( 538 void RootWindowController::ActivateKeyboard(
539 keyboard::KeyboardController* keyboard_controller) { 539 keyboard::KeyboardController* keyboard_controller) {
540 if (!keyboard::IsKeyboardEnabled() || 540 if (!keyboard::IsKeyboardEnabled() ||
541 GetContainer(kShellWindowId_VirtualKeyboardContainer)) { 541 GetContainer(kShellWindowId_VirtualKeyboardContainer)) {
542 return; 542 return;
543 } 543 }
544 DCHECK(keyboard_controller); 544 DCHECK(keyboard_controller);
545 if (!keyboard::IsKeyboardUsabilityExperimentEnabled()) { 545 keyboard_controller->AddObserver(shelf()->shelf_layout_manager());
546 keyboard_controller->AddObserver(shelf()->shelf_layout_manager()); 546 keyboard_controller->AddObserver(panel_layout_manager_);
547 keyboard_controller->AddObserver(panel_layout_manager_); 547 keyboard_controller->AddObserver(docked_layout_manager_);
548 keyboard_controller->AddObserver(docked_layout_manager_);
549 }
550 aura::Window* parent = root_window(); 548 aura::Window* parent = root_window();
551 aura::Window* keyboard_container = 549 aura::Window* keyboard_container =
552 keyboard_controller->GetContainerWindow(); 550 keyboard_controller->GetContainerWindow();
553 keyboard_container->set_id(kShellWindowId_VirtualKeyboardContainer); 551 keyboard_container->set_id(kShellWindowId_VirtualKeyboardContainer);
554 parent->AddChild(keyboard_container); 552 parent->AddChild(keyboard_container);
555 // TODO(oshima): Bounds of keyboard container should be handled by 553 // TODO(oshima): Bounds of keyboard container should be handled by
556 // RootWindowLayoutManager. Remove this after fixed RootWindowLayoutManager. 554 // RootWindowLayoutManager. Remove this after fixed RootWindowLayoutManager.
557 keyboard_container->SetBounds(parent->bounds()); 555 keyboard_container->SetBounds(parent->bounds());
558 } 556 }
559 557
560 void RootWindowController::DeactivateKeyboard( 558 void RootWindowController::DeactivateKeyboard(
561 keyboard::KeyboardController* keyboard_controller) { 559 keyboard::KeyboardController* keyboard_controller) {
562 if (!keyboard::IsKeyboardEnabled()) 560 if (!keyboard::IsKeyboardEnabled())
563 return; 561 return;
564 562
565 DCHECK(keyboard_controller); 563 DCHECK(keyboard_controller);
566 aura::Window* keyboard_container = 564 aura::Window* keyboard_container =
567 keyboard_controller->GetContainerWindow(); 565 keyboard_controller->GetContainerWindow();
568 if (keyboard_container->GetRootWindow() == root_window()) { 566 if (keyboard_container->GetRootWindow() == root_window()) {
569 root_window()->RemoveChild(keyboard_container); 567 root_window()->RemoveChild(keyboard_container);
570 if (!keyboard::IsKeyboardUsabilityExperimentEnabled()) { 568 keyboard_controller->RemoveObserver(shelf()->shelf_layout_manager());
571 keyboard_controller->RemoveObserver(shelf()->shelf_layout_manager()); 569 keyboard_controller->RemoveObserver(panel_layout_manager_);
572 keyboard_controller->RemoveObserver(panel_layout_manager_); 570 keyboard_controller->RemoveObserver(docked_layout_manager_);
573 keyboard_controller->RemoveObserver(docked_layout_manager_);
574 }
575 } 571 }
576 } 572 }
577 573
578 //////////////////////////////////////////////////////////////////////////////// 574 ////////////////////////////////////////////////////////////////////////////////
579 // RootWindowController, private: 575 // RootWindowController, private:
580 576
581 RootWindowController::RootWindowController(aura::RootWindow* root_window) 577 RootWindowController::RootWindowController(aura::RootWindow* root_window)
582 : root_window_(root_window), 578 : root_window_(root_window),
583 root_window_layout_(NULL), 579 root_window_layout_(NULL),
584 docked_layout_manager_(NULL), 580 docked_layout_manager_(NULL),
585 panel_layout_manager_(NULL), 581 panel_layout_manager_(NULL),
586 touch_hud_debug_(NULL), 582 touch_hud_debug_(NULL),
587 touch_hud_projection_(NULL) { 583 touch_hud_projection_(NULL) {
588 GetRootWindowSettings(root_window_->window())->controller = this; 584 GetRootWindowSettings(root_window_->window())->controller = this;
589 screen_dimmer_.reset(new ScreenDimmer(root_window_->window())); 585 screen_dimmer_.reset(new ScreenDimmer(root_window_->window()));
590 586
591 stacking_controller_.reset(new StackingController); 587 stacking_controller_.reset(new StackingController);
592 aura::client::SetWindowTreeClient(root_window_->window(), 588 aura::client::SetWindowTreeClient(root_window_->window(),
593 stacking_controller_.get()); 589 stacking_controller_.get());
594 capture_client_.reset( 590 capture_client_.reset(
595 new views::corewm::ScopedCaptureClient(root_window_->window())); 591 new views::corewm::ScopedCaptureClient(root_window_->window()));
596 } 592 }
597 593
598 void RootWindowController::Init(RootWindowType root_window_type, 594 void RootWindowController::Init(RootWindowType root_window_type,
599 bool first_run_after_boot) { 595 bool first_run_after_boot) {
600 Shell* shell = Shell::GetInstance(); 596 Shell::GetInstance()->InitRootWindow(root_window());
601 shell->InitRootWindow(root_window());
602 597
603 root_window_->SetCursor(ui::kCursorPointer); 598 root_window_->SetCursor(ui::kCursorPointer);
604 CreateContainersInRootWindow(root_window_->window()); 599 CreateContainersInRootWindow(root_window_->window());
605 600
606 if (root_window_type == VIRTUAL_KEYBOARD) { 601 if (root_window_type == VIRTUAL_KEYBOARD)
607 shell->InitKeyboard();
608 return; 602 return;
609 }
610 603
611 CreateSystemBackground(first_run_after_boot); 604 CreateSystemBackground(first_run_after_boot);
612 605
613 InitLayoutManagers(); 606 InitLayoutManagers();
614 InitTouchHuds(); 607 InitTouchHuds();
615 608
616 if (Shell::GetPrimaryRootWindowController()-> 609 if (Shell::GetPrimaryRootWindowController()->
617 GetSystemModalLayoutManager(NULL)->has_modal_background()) { 610 GetSystemModalLayoutManager(NULL)->has_modal_background()) {
618 GetSystemModalLayoutManager(NULL)->CreateModalBackground(); 611 GetSystemModalLayoutManager(NULL)->CreateModalBackground();
619 } 612 }
620 613
614 Shell* shell = Shell::GetInstance();
621 shell->AddShellObserver(this); 615 shell->AddShellObserver(this);
622 616
623 if (root_window_type == PRIMARY) { 617 if (root_window_type == PRIMARY) {
624 root_window_layout()->OnWindowResized(); 618 root_window_layout()->OnWindowResized();
625 if (!keyboard::IsKeyboardUsabilityExperimentEnabled()) 619 shell->InitKeyboard(this);
626 shell->InitKeyboard();
627 } else { 620 } else {
628 root_window_layout()->OnWindowResized(); 621 root_window_layout()->OnWindowResized();
629 shell->desktop_background_controller()->OnRootWindowAdded(root_window()); 622 shell->desktop_background_controller()->OnRootWindowAdded(root_window());
630 shell->high_contrast_controller()->OnRootWindowAdded( 623 shell->high_contrast_controller()->OnRootWindowAdded(
631 root_window_->window()); 624 root_window_->window());
632 root_window_->host()->Show(); 625 root_window_->host()->Show();
633 626
634 // Create a launcher if a user is already logged in. 627 // Create a launcher if a user is already logged in.
635 if (shell->session_state_delegate()->NumberOfLoggedInUsers()) 628 if (shell->session_state_delegate()->NumberOfLoggedInUsers())
636 shelf()->CreateLauncher(); 629 shelf()->CreateLauncher();
(...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after
929 DisableTouchHudProjection(); 922 DisableTouchHudProjection();
930 } 923 }
931 924
932 RootWindowController* GetRootWindowController( 925 RootWindowController* GetRootWindowController(
933 const aura::Window* root_window) { 926 const aura::Window* root_window) {
934 return root_window ? GetRootWindowSettings(root_window)->controller : NULL; 927 return root_window ? GetRootWindowSettings(root_window)->controller : NULL;
935 } 928 }
936 929
937 } // namespace internal 930 } // namespace internal
938 } // namespace ash 931 } // namespace ash
OLDNEW
« no previous file with comments | « ash/keyboard_controller_proxy_stub.cc ('k') | ash/root_window_controller_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698