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

Side by Side Diff: chrome/browser/chromeos/login/screen_locker.cc

Issue 6257006: Move a bunch of random other files to src/ui/base... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 11 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) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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.h" 5 #include "chrome/browser/chromeos/login/screen_locker.h"
6 6
7 #include <gdk/gdkx.h> 7 #include <gdk/gdkx.h>
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 #include <X11/extensions/XTest.h> 10 #include <X11/extensions/XTest.h>
11 #include <X11/keysym.h> 11 #include <X11/keysym.h>
12 // Evil hack to undo X11 evil #define. See crosbug.com/ 12 // Evil hack to undo X11 evil #define. See crosbug.com/
13 #undef Status 13 #undef Status
14 14
15 #include "app/l10n_util.h" 15 #include "app/l10n_util.h"
16 #include "app/resource_bundle.h" 16 #include "app/resource_bundle.h"
17 #include "app/x11_util.h"
18 #include "base/command_line.h" 17 #include "base/command_line.h"
19 #include "base/lazy_instance.h" 18 #include "base/lazy_instance.h"
20 #include "base/metrics/histogram.h" 19 #include "base/metrics/histogram.h"
21 #include "base/message_loop.h" 20 #include "base/message_loop.h"
22 #include "base/string_util.h" 21 #include "base/string_util.h"
23 #include "base/timer.h" 22 #include "base/timer.h"
24 #include "base/utf_string_conversions.h" 23 #include "base/utf_string_conversions.h"
25 #include "chrome/browser/browser_list.h" 24 #include "chrome/browser/browser_list.h"
26 #include "chrome/browser/browser_thread.h" 25 #include "chrome/browser/browser_thread.h"
27 #include "chrome/browser/browser_window.h" 26 #include "chrome/browser/browser_window.h"
(...skipping 14 matching lines...) Expand all
42 #include "chrome/browser/metrics/user_metrics.h" 41 #include "chrome/browser/metrics/user_metrics.h"
43 #include "chrome/browser/profiles/profile_manager.h" 42 #include "chrome/browser/profiles/profile_manager.h"
44 #include "chrome/browser/sync/profile_sync_service.h" 43 #include "chrome/browser/sync/profile_sync_service.h"
45 #include "chrome/browser/ui/browser.h" 44 #include "chrome/browser/ui/browser.h"
46 #include "chrome/common/chrome_switches.h" 45 #include "chrome/common/chrome_switches.h"
47 #include "chrome/common/notification_service.h" 46 #include "chrome/common/notification_service.h"
48 #include "googleurl/src/gurl.h" 47 #include "googleurl/src/gurl.h"
49 #include "grit/generated_resources.h" 48 #include "grit/generated_resources.h"
50 #include "grit/theme_resources.h" 49 #include "grit/theme_resources.h"
51 #include "third_party/cros/chromeos_wm_ipc_enums.h" 50 #include "third_party/cros/chromeos_wm_ipc_enums.h"
51 #include "ui/base/x/x11_util.h"
52 #include "views/screen.h" 52 #include "views/screen.h"
53 #include "views/widget/root_view.h" 53 #include "views/widget/root_view.h"
54 #include "views/widget/widget_gtk.h" 54 #include "views/widget/widget_gtk.h"
55 55
56 namespace { 56 namespace {
57 57
58 // The maximum duration for which locker should try to grab the keyboard and 58 // The maximum duration for which locker should try to grab the keyboard and
59 // mouse and its interval for regrabbing on failure. 59 // mouse and its interval for regrabbing on failure.
60 const int kMaxGrabFailureSec = 30; 60 const int kMaxGrabFailureSec = 30;
61 const int64 kRetryGrabIntervalMs = 500; 61 const int64 kRetryGrabIntervalMs = 500;
(...skipping 336 matching lines...) Expand 10 before | Expand all | Expand 10 after
398 screen_locker_->OnGrabInputs(); 398 screen_locker_->OnGrabInputs();
399 } 399 }
400 } 400 }
401 401
402 void GrabWidget::TryUngrabOtherClients() { 402 void GrabWidget::TryUngrabOtherClients() {
403 #if !defined(NDEBUG) 403 #if !defined(NDEBUG)
404 { 404 {
405 int event_base, error_base; 405 int event_base, error_base;
406 int major, minor; 406 int major, minor;
407 // Make sure we have XTest extension. 407 // Make sure we have XTest extension.
408 DCHECK(XTestQueryExtension(x11_util::GetXDisplay(), 408 DCHECK(XTestQueryExtension(ui::GetXDisplay(),
409 &event_base, &error_base, 409 &event_base, &error_base,
410 &major, &minor)); 410 &major, &minor));
411 } 411 }
412 #endif 412 #endif
413 413
414 // The following code is an attempt to grab inputs by closing 414 // The following code is an attempt to grab inputs by closing
415 // supposedly opened menu. This happens when a plugin has a menu 415 // supposedly opened menu. This happens when a plugin has a menu
416 // opened. 416 // opened.
417 if (mouse_grab_status_ == GDK_GRAB_ALREADY_GRABBED || 417 if (mouse_grab_status_ == GDK_GRAB_ALREADY_GRABBED ||
418 mouse_grab_status_ == GDK_GRAB_FROZEN) { 418 mouse_grab_status_ == GDK_GRAB_FROZEN) {
419 // Successfully grabbed the keyboard, but pointer is still 419 // Successfully grabbed the keyboard, but pointer is still
420 // grabbed by other client. Another attempt to close supposedly 420 // grabbed by other client. Another attempt to close supposedly
421 // opened menu by emulating keypress at the left top corner. 421 // opened menu by emulating keypress at the left top corner.
422 Display* display = x11_util::GetXDisplay(); 422 Display* display = ui::GetXDisplay();
423 Window root, child; 423 Window root, child;
424 int root_x, root_y, win_x, winy; 424 int root_x, root_y, win_x, winy;
425 unsigned int mask; 425 unsigned int mask;
426 XQueryPointer(display, 426 XQueryPointer(display,
427 x11_util::GetX11WindowFromGtkWidget(window_contents()), 427 ui::GetX11WindowFromGtkWidget(window_contents()),
428 &root, &child, &root_x, &root_y, 428 &root, &child, &root_x, &root_y,
429 &win_x, &winy, &mask); 429 &win_x, &winy, &mask);
430 XTestFakeMotionEvent(display, -1, -10000, -10000, CurrentTime); 430 XTestFakeMotionEvent(display, -1, -10000, -10000, CurrentTime);
431 XTestFakeButtonEvent(display, 1, True, CurrentTime); 431 XTestFakeButtonEvent(display, 1, True, CurrentTime);
432 XTestFakeButtonEvent(display, 1, False, CurrentTime); 432 XTestFakeButtonEvent(display, 1, False, CurrentTime);
433 // Move the pointer back. 433 // Move the pointer back.
434 XTestFakeMotionEvent(display, -1, root_x, root_y, CurrentTime); 434 XTestFakeMotionEvent(display, -1, root_x, root_y, CurrentTime);
435 XFlush(display); 435 XFlush(display);
436 } else if (kbd_grab_status_ == GDK_GRAB_ALREADY_GRABBED || 436 } else if (kbd_grab_status_ == GDK_GRAB_ALREADY_GRABBED ||
437 kbd_grab_status_ == GDK_GRAB_FROZEN) { 437 kbd_grab_status_ == GDK_GRAB_FROZEN) {
438 // Successfully grabbed the pointer, but keyboard is still grabbed 438 // Successfully grabbed the pointer, but keyboard is still grabbed
439 // by other client. Another attempt to close supposedly opened 439 // by other client. Another attempt to close supposedly opened
440 // menu by emulating escape key. Such situation must be very 440 // menu by emulating escape key. Such situation must be very
441 // rare, but handling this just in case 441 // rare, but handling this just in case
442 Display* display = x11_util::GetXDisplay(); 442 Display* display = ui::GetXDisplay();
443 KeyCode escape = XKeysymToKeycode(display, XK_Escape); 443 KeyCode escape = XKeysymToKeycode(display, XK_Escape);
444 XTestFakeKeyEvent(display, escape, True, CurrentTime); 444 XTestFakeKeyEvent(display, escape, True, CurrentTime);
445 XTestFakeKeyEvent(display, escape, False, CurrentTime); 445 XTestFakeKeyEvent(display, escape, False, CurrentTime);
446 XFlush(display); 446 XFlush(display);
447 } 447 }
448 } 448 }
449 449
450 // BackgroundView for ScreenLocker, which layouts a lock widget in 450 // BackgroundView for ScreenLocker, which layouts a lock widget in
451 // addition to other background components. 451 // addition to other background components.
452 class ScreenLockerBackgroundView 452 class ScreenLockerBackgroundView
(...skipping 664 matching lines...) Expand 10 before | Expand all | Expand 10 after
1117 1117
1118 bool ScreenLocker::AcceleratorPressed(const views::Accelerator& accelerator) { 1118 bool ScreenLocker::AcceleratorPressed(const views::Accelerator& accelerator) {
1119 if (!background_view_->IsScreenSaverVisible()) { 1119 if (!background_view_->IsScreenSaverVisible()) {
1120 StartScreenSaver(); 1120 StartScreenSaver();
1121 return true; 1121 return true;
1122 } 1122 }
1123 return false; 1123 return false;
1124 } 1124 }
1125 1125
1126 } // namespace chromeos 1126 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/login/background_view.cc ('k') | chrome/browser/chromeos/native_dialog_window.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698