OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "chrome/browser/chromeos/login/screen_locker_views.h" | 5 #include "chrome/browser/chromeos/login/screen_locker_views.h" |
6 | 6 |
7 #include <X11/extensions/XTest.h> | 7 #include <X11/extensions/XTest.h> |
8 #include <X11/keysym.h> | 8 #include <X11/keysym.h> |
9 #include <gdk/gdkkeysyms.h> | 9 #include <gdk/gdkkeysyms.h> |
10 #include <gdk/gdkx.h> | 10 #include <gdk/gdkx.h> |
(...skipping 729 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
740 | 740 |
741 views::View* ScreenLockerViews::GetViewByID(int id) { | 741 views::View* ScreenLockerViews::GetViewByID(int id) { |
742 return lock_widget_->GetRootView()->GetViewByID(id); | 742 return lock_widget_->GetRootView()->GetViewByID(id); |
743 } | 743 } |
744 | 744 |
745 void ScreenLockerViews::ScreenLockReady() { | 745 void ScreenLockerViews::ScreenLockReady() { |
746 ScreenLockerDelegate::ScreenLockReady(); | 746 ScreenLockerDelegate::ScreenLockReady(); |
747 | 747 |
748 if (background_view_->ScreenSaverEnabled()) { | 748 if (background_view_->ScreenSaverEnabled()) { |
749 lock_widget_->GetFocusManager()->RegisterAccelerator( | 749 lock_widget_->GetFocusManager()->RegisterAccelerator( |
750 views::Accelerator(ui::VKEY_ESCAPE, false, false, false), this); | 750 ui::Accelerator(ui::VKEY_ESCAPE, false, false, false), this); |
751 locker_input_event_observer_.reset(new LockerInputEventObserver(this)); | 751 locker_input_event_observer_.reset(new LockerInputEventObserver(this)); |
752 MessageLoopForUI::current()->AddObserver( | 752 MessageLoopForUI::current()->AddObserver( |
753 locker_input_event_observer_.get()); | 753 locker_input_event_observer_.get()); |
754 } else { | 754 } else { |
755 // Don't enable the password field until we grab all inputs. | 755 // Don't enable the password field until we grab all inputs. |
756 SetInputEnabled(true); | 756 SetInputEnabled(true); |
757 } | 757 } |
758 } | 758 } |
759 | 759 |
760 void ScreenLockerViews::OnAuthenticate() { | 760 void ScreenLockerViews::OnAuthenticate() { |
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
854 secondary_view_.reset(captcha_view_); | 854 secondary_view_.reset(captcha_view_); |
855 ShowErrorMessage(postponed_error_message_, false); | 855 ShowErrorMessage(postponed_error_message_, false); |
856 postponed_error_message_.clear(); | 856 postponed_error_message_.clear(); |
857 } | 857 } |
858 | 858 |
859 ScreenLockerViews::~ScreenLockerViews() { | 859 ScreenLockerViews::~ScreenLockerViews() { |
860 if (input_event_observer_.get()) | 860 if (input_event_observer_.get()) |
861 MessageLoopForUI::current()->RemoveObserver(input_event_observer_.get()); | 861 MessageLoopForUI::current()->RemoveObserver(input_event_observer_.get()); |
862 if (locker_input_event_observer_.get()) { | 862 if (locker_input_event_observer_.get()) { |
863 lock_widget_->GetFocusManager()->UnregisterAccelerator( | 863 lock_widget_->GetFocusManager()->UnregisterAccelerator( |
864 views::Accelerator(ui::VKEY_ESCAPE, false, false, false), this); | 864 ui::Accelerator(ui::VKEY_ESCAPE, false, false, false), this); |
865 MessageLoopForUI::current()->RemoveObserver( | 865 MessageLoopForUI::current()->RemoveObserver( |
866 locker_input_event_observer_.get()); | 866 locker_input_event_observer_.get()); |
867 } | 867 } |
868 | 868 |
869 gdk_keyboard_ungrab(GDK_CURRENT_TIME); | 869 gdk_keyboard_ungrab(GDK_CURRENT_TIME); |
870 gdk_pointer_ungrab(GDK_CURRENT_TIME); | 870 gdk_pointer_ungrab(GDK_CURRENT_TIME); |
871 | 871 |
872 DCHECK(lock_window_); | 872 DCHECK(lock_window_); |
873 VLOG(1) << "~ScreenLocker(): Closing ScreenLocker window."; | 873 VLOG(1) << "~ScreenLocker(): Closing ScreenLocker window."; |
874 lock_window_->Close(); | 874 lock_window_->Close(); |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
906 if (mouse_event_relay_.get()) | 906 if (mouse_event_relay_.get()) |
907 MessageLoopForUI::current()->RemoveObserver(mouse_event_relay_.get()); | 907 MessageLoopForUI::current()->RemoveObserver(mouse_event_relay_.get()); |
908 mouse_event_relay_.reset( | 908 mouse_event_relay_.reset( |
909 new MouseEventRelay(lock_widget_->GetNativeView()->window, | 909 new MouseEventRelay(lock_widget_->GetNativeView()->window, |
910 error_info_->GetNativeView()->window)); | 910 error_info_->GetNativeView()->window)); |
911 MessageLoopForUI::current()->AddObserver(mouse_event_relay_.get()); | 911 MessageLoopForUI::current()->AddObserver(mouse_event_relay_.get()); |
912 #endif | 912 #endif |
913 } | 913 } |
914 | 914 |
915 bool ScreenLockerViews::AcceleratorPressed( | 915 bool ScreenLockerViews::AcceleratorPressed( |
916 const views::Accelerator& accelerator) { | 916 const ui::Accelerator& accelerator) { |
917 if (!background_view_->IsScreenSaverVisible()) { | 917 if (!background_view_->IsScreenSaverVisible()) { |
918 screen_locker_view_->StartScreenSaver(); | 918 screen_locker_view_->StartScreenSaver(); |
919 return true; | 919 return true; |
920 } | 920 } |
921 return false; | 921 return false; |
922 } | 922 } |
923 | 923 |
924 void ScreenLockerViews::OnClientEvent(GtkWidget* widge, GdkEventClient* event) { | 924 void ScreenLockerViews::OnClientEvent(GtkWidget* widge, GdkEventClient* event) { |
925 #if defined(TOOLKIT_USES_GTK) | 925 #if defined(TOOLKIT_USES_GTK) |
926 WmIpc::Message msg; | 926 WmIpc::Message msg; |
927 WmIpc::instance()->DecodeMessage(*event, &msg); | 927 WmIpc::instance()->DecodeMessage(*event, &msg); |
928 if (msg.type() == WM_IPC_MESSAGE_CHROME_NOTIFY_SCREEN_REDRAWN_FOR_LOCK) { | 928 if (msg.type() == WM_IPC_MESSAGE_CHROME_NOTIFY_SCREEN_REDRAWN_FOR_LOCK) { |
929 OnWindowManagerReady(); | 929 OnWindowManagerReady(); |
930 } | 930 } |
931 #endif | 931 #endif |
932 } | 932 } |
933 | 933 |
934 } // namespace chromeos | 934 } // namespace chromeos |
OLD | NEW |