OLD | NEW |
| (Empty) |
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 | |
3 // found in the LICENSE file. | |
4 | |
5 #include "chrome/browser/chromeos/login/lock_window_aura.h" | |
6 | |
7 #include "ash/shell.h" | |
8 #include "ash/shell_window_ids.h" | |
9 #include "ash/wm/window_animations.h" | |
10 #include "base/command_line.h" | |
11 #include "ui/aura/window.h" | |
12 #include "ui/aura/window_event_dispatcher.h" | |
13 | |
14 namespace chromeos { | |
15 | |
16 LockWindow* LockWindow::Create() { | |
17 LockWindowAura* lock_window = new LockWindowAura(); | |
18 // Cancel existing touch events when screen is locked. | |
19 ui::GestureRecognizer::Get()->TransferEventsTo( | |
20 lock_window->GetNativeWindow(), NULL); | |
21 return lock_window; | |
22 } | |
23 | |
24 //////////////////////////////////////////////////////////////////////////////// | |
25 // LockWindow implementation: | |
26 void LockWindowAura::Grab() { | |
27 // We already have grab from the lock screen container, just call the ready | |
28 // callback immediately. | |
29 if (observer_) | |
30 observer_->OnLockWindowReady(); | |
31 } | |
32 | |
33 views::Widget* LockWindowAura::GetWidget() { | |
34 return this; | |
35 } | |
36 | |
37 //////////////////////////////////////////////////////////////////////////////// | |
38 // LockWindowAura private: | |
39 LockWindowAura::LockWindowAura() { | |
40 Init(); | |
41 } | |
42 | |
43 LockWindowAura::~LockWindowAura() { | |
44 } | |
45 | |
46 void LockWindowAura::Init() { | |
47 views::Widget::InitParams params( | |
48 views::Widget::InitParams::TYPE_WINDOW_FRAMELESS); | |
49 params.show_state = ui::SHOW_STATE_FULLSCREEN; | |
50 params.opacity = views::Widget::InitParams::TRANSLUCENT_WINDOW; | |
51 // TODO(oshima): move the lock screen harness to ash. | |
52 params.parent = | |
53 ash::Shell::GetContainer(ash::Shell::GetPrimaryRootWindow(), | |
54 ash::kShellWindowId_LockScreenContainer); | |
55 views::Widget::Init(params); | |
56 wm::SetWindowVisibilityAnimationTransition( | |
57 GetNativeView(), wm::ANIMATE_NONE); | |
58 } | |
59 | |
60 } // namespace chromeos | |
OLD | NEW |