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

Side by Side Diff: ash/root_window_controller.cc

Issue 13164002: Create and show the virtual keyboard. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: make test compile Created 7 years, 8 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 | 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/root_window_controller.h" 5 #include "ash/root_window_controller.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "ash/ash_constants.h" 9 #include "ash/ash_constants.h"
10 #include "ash/ash_switches.h" 10 #include "ash/ash_switches.h"
(...skipping 30 matching lines...) Expand all
41 #include "ui/aura/client/capture_client.h" 41 #include "ui/aura/client/capture_client.h"
42 #include "ui/aura/client/focus_client.h" 42 #include "ui/aura/client/focus_client.h"
43 #include "ui/aura/client/tooltip_client.h" 43 #include "ui/aura/client/tooltip_client.h"
44 #include "ui/aura/root_window.h" 44 #include "ui/aura/root_window.h"
45 #include "ui/aura/window.h" 45 #include "ui/aura/window.h"
46 #include "ui/aura/window_observer.h" 46 #include "ui/aura/window_observer.h"
47 #include "ui/aura/window_tracker.h" 47 #include "ui/aura/window_tracker.h"
48 #include "ui/base/models/menu_model.h" 48 #include "ui/base/models/menu_model.h"
49 #include "ui/gfx/display.h" 49 #include "ui/gfx/display.h"
50 #include "ui/gfx/screen.h" 50 #include "ui/gfx/screen.h"
51 #include "ui/keyboard/keyboard_controller.h"
51 #include "ui/views/controls/menu/menu_model_adapter.h" 52 #include "ui/views/controls/menu/menu_model_adapter.h"
52 #include "ui/views/controls/menu/menu_runner.h" 53 #include "ui/views/controls/menu/menu_runner.h"
53 #include "ui/views/corewm/visibility_controller.h" 54 #include "ui/views/corewm/visibility_controller.h"
54 #include "ui/views/view_model.h" 55 #include "ui/views/view_model.h"
55 #include "ui/views/view_model_utils.h" 56 #include "ui/views/view_model_utils.h"
56 57
57 namespace ash { 58 namespace ash {
58 namespace { 59 namespace {
59 60
60 // Duration for the animation that hides the boot splash screen, in 61 // Duration for the animation that hides the boot splash screen, in
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after
255 GetContainer(kShellWindowId_DefaultContainer); 256 GetContainer(kShellWindowId_DefaultContainer);
256 // Workspace manager has its own layout managers. 257 // Workspace manager has its own layout managers.
257 workspace_controller_.reset( 258 workspace_controller_.reset(
258 new WorkspaceController(default_container)); 259 new WorkspaceController(default_container));
259 260
260 aura::Window* always_on_top_container = 261 aura::Window* always_on_top_container =
261 GetContainer(kShellWindowId_AlwaysOnTopContainer); 262 GetContainer(kShellWindowId_AlwaysOnTopContainer);
262 always_on_top_container->SetLayoutManager( 263 always_on_top_container->SetLayoutManager(
263 new BaseLayoutManager( 264 new BaseLayoutManager(
264 always_on_top_container->GetRootWindow())); 265 always_on_top_container->GetRootWindow()));
266
267 // TODO(bryeung): Move this to CreateContainersInRootWindow when the
268 // keyboard controller will take care of deferring creation of the keyboard.
269 InitKeyboard(root_window());
265 } 270 }
266 271
267 void RootWindowController::InitForPrimaryDisplay() { 272 void RootWindowController::InitForPrimaryDisplay() {
268 DCHECK(!shelf_.get()); 273 DCHECK(!shelf_.get());
269 aura::Window* shelf_container = 274 aura::Window* shelf_container =
270 GetContainer(ash::internal::kShellWindowId_ShelfContainer); 275 GetContainer(ash::internal::kShellWindowId_ShelfContainer);
271 // TODO(harrym): Remove when status area is view. 276 // TODO(harrym): Remove when status area is view.
272 aura::Window* status_container = 277 aura::Window* status_container =
273 GetContainer(ash::internal::kShellWindowId_StatusContainer); 278 GetContainer(ash::internal::kShellWindowId_StatusContainer);
274 shelf_.reset(new ash::ShelfWidget( 279 shelf_.reset(new ash::ShelfWidget(
(...skipping 11 matching lines...) Expand all
286 panel_container->SetLayoutManager(panel_layout_manager_); 291 panel_container->SetLayoutManager(panel_layout_manager_);
287 } 292 }
288 if (Shell::GetInstance()->delegate()->IsUserLoggedIn()) 293 if (Shell::GetInstance()->delegate()->IsUserLoggedIn())
289 shelf_->CreateLauncher(); 294 shelf_->CreateLauncher();
290 } 295 }
291 296
292 void RootWindowController::CreateContainers() { 297 void RootWindowController::CreateContainers() {
293 CreateContainersInRootWindow(root_window_.get()); 298 CreateContainersInRootWindow(root_window_.get());
294 } 299 }
295 300
301 void RootWindowController::InitKeyboard(aura::Window* parent) {
302 keyboard::KeyboardControllerProxy* proxy =
303 Shell::GetInstance()->delegate()->CreateKeyboardControllerProxy();
304 keyboard_controller_.reset(
305 new keyboard::KeyboardController(proxy));
306 aura::Window* keyboard_container =
307 keyboard_controller_->GetContainerWindow();
308 parent->AddChild(keyboard_container);
309 // TODO(bryeung): move this to the controller on visibility changed
310 parent->StackChildAtTop(keyboard_container);
311 }
312
296 void RootWindowController::CreateSystemBackground( 313 void RootWindowController::CreateSystemBackground(
297 bool is_first_run_after_boot) { 314 bool is_first_run_after_boot) {
298 SkColor color = SK_ColorBLACK; 315 SkColor color = SK_ColorBLACK;
299 #if defined(OS_CHROMEOS) 316 #if defined(OS_CHROMEOS)
300 if (is_first_run_after_boot) 317 if (is_first_run_after_boot)
301 color = kChromeOsBootColor; 318 color = kChromeOsBootColor;
302 #endif 319 #endif
303 system_background_.reset( 320 system_background_.reset(
304 new SystemBackgroundController(root_window_.get(), color)); 321 new SystemBackgroundController(root_window_.get(), color));
305 322
(...skipping 319 matching lines...) Expand 10 before | Expand all | Expand 10 after
625 "OverlayContainer", 642 "OverlayContainer",
626 lock_screen_related_containers); 643 lock_screen_related_containers);
627 SetUsesScreenCoordinates(overlay_container); 644 SetUsesScreenCoordinates(overlay_container);
628 645
629 CreateContainer(kShellWindowId_PowerButtonAnimationContainer, 646 CreateContainer(kShellWindowId_PowerButtonAnimationContainer,
630 "PowerButtonAnimationContainer", root_window) ; 647 "PowerButtonAnimationContainer", root_window) ;
631 } 648 }
632 649
633 } // namespace internal 650 } // namespace internal
634 } // namespace ash 651 } // namespace ash
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698