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

Side by Side Diff: ash/root_window_controller.cc

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