diff options
-rw-r--r-- | base/base.gypi | 8 | ||||
-rw-r--r-- | base/x11/x11_error_tracker_gtk.cc | 29 | ||||
-rw-r--r-- | chrome/browser/extensions/global_shortcut_listener_x11.cc | 4 | ||||
-rw-r--r-- | chrome/browser/screensaver_window_finder_x11.cc | 4 | ||||
-rw-r--r-- | ui/base/x/x11_util.cc | 10 | ||||
-rw-r--r-- | ui/display/chromeos/x11/DEPS | 3 | ||||
-rw-r--r-- | ui/display/chromeos/x11/native_display_delegate_x11.cc | 4 | ||||
-rw-r--r-- | ui/display/display.gyp | 2 | ||||
-rw-r--r-- | ui/gfx/gfx.gyp | 2 | ||||
-rw-r--r-- | ui/gfx/x/x11_error_tracker.cc (renamed from base/x11/x11_error_tracker.cc) | 17 | ||||
-rw-r--r-- | ui/gfx/x/x11_error_tracker.h (renamed from base/x11/x11_error_tracker.h) | 18 |
11 files changed, 33 insertions, 68 deletions
diff --git a/base/base.gypi b/base/base.gypi index c8fcb3c..d0ed5bb 100644 --- a/base/base.gypi +++ b/base/base.gypi @@ -719,9 +719,6 @@ 'win/windows_version.h', 'win/wrapped_window_proc.cc', 'win/wrapped_window_proc.h', - 'x11/x11_error_tracker.cc', - 'x11/x11_error_tracker.h', - 'x11/x11_error_tracker_gtk.cc', ], 'conditions': [ ['use_aura==1 and use_x11==1', { @@ -946,11 +943,6 @@ ['OS == "win" and >(nacl_untrusted_build)==1', { 'sources/': [ ['exclude', '\\.h$'] ], }], - ['<(toolkit_uses_gtk) == 1', { - 'sources!': [ - 'x11/x11_error_tracker.cc', - ], - }], ], }], ['base_i18n_target==1', { diff --git a/base/x11/x11_error_tracker_gtk.cc b/base/x11/x11_error_tracker_gtk.cc deleted file mode 100644 index 7a78a7c..0000000 --- a/base/x11/x11_error_tracker_gtk.cc +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright 2013 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "base/x11/x11_error_tracker.h" - -#include <gdk/gdkx.h> - -#include "base/logging.h" - -namespace base { - -X11ErrorTracker::X11ErrorTracker() { - gdk_error_trap_push(); -} - -X11ErrorTracker::~X11ErrorTracker() { - gdk_error_trap_pop(); -} - -bool X11ErrorTracker::FoundNewError() { - gdk_flush(); - bool found_error = gdk_error_trap_pop() != 0; - - gdk_error_trap_push(); - return found_error; -} - -} // namespace base diff --git a/chrome/browser/extensions/global_shortcut_listener_x11.cc b/chrome/browser/extensions/global_shortcut_listener_x11.cc index baba27f..556bd70 100644 --- a/chrome/browser/extensions/global_shortcut_listener_x11.cc +++ b/chrome/browser/extensions/global_shortcut_listener_x11.cc @@ -4,10 +4,10 @@ #include "chrome/browser/extensions/global_shortcut_listener_x11.h" -#include "base/x11/x11_error_tracker.h" #include "content/public/browser/browser_thread.h" #include "ui/base/accelerators/accelerator.h" #include "ui/events/keycodes/keyboard_code_conversion_x.h" +#include "ui/gfx/x/x11_error_tracker.h" #include "ui/gfx/x/x11_types.h" #if defined(TOOLKIT_GTK) @@ -115,7 +115,7 @@ bool GlobalShortcutListenerX11::RegisterAcceleratorImpl( int modifiers = GetNativeModifiers(accelerator); KeyCode keycode = XKeysymToKeycode(x_display_, XKeysymForWindowsKeyCode(accelerator.key_code(), false)); - base::X11ErrorTracker err_tracker; + gfx::X11ErrorTracker err_tracker; // Because XGrabKey only works on the exact modifiers mask, we should register // our hot keys with modifiers that we want to ignore, including Num lock, diff --git a/chrome/browser/screensaver_window_finder_x11.cc b/chrome/browser/screensaver_window_finder_x11.cc index 6638211..589ec2e 100644 --- a/chrome/browser/screensaver_window_finder_x11.cc +++ b/chrome/browser/screensaver_window_finder_x11.cc @@ -5,15 +5,15 @@ #include "chrome/browser/screensaver_window_finder_x11.h" #include "base/basictypes.h" -#include "base/x11/x11_error_tracker.h" #include "ui/base/x/x11_util.h" +#include "ui/gfx/x/x11_error_tracker.h" ScreensaverWindowFinder::ScreensaverWindowFinder() : exists_(false) { } bool ScreensaverWindowFinder::ScreensaverWindowExists() { - base::X11ErrorTracker err_tracker; + gfx::X11ErrorTracker err_tracker; ScreensaverWindowFinder finder; ui::EnumerateTopLevelWindows(&finder); return finder.exists_ && !err_tracker.FoundNewError(); diff --git a/ui/base/x/x11_util.cc b/ui/base/x/x11_util.cc index c71740c..007157c 100644 --- a/ui/base/x/x11_util.cc +++ b/ui/base/x/x11_util.cc @@ -33,7 +33,6 @@ #include "base/strings/stringprintf.h" #include "base/sys_byteorder.h" #include "base/threading/thread.h" -#include "base/x11/x11_error_tracker.h" #include "third_party/skia/include/core/SkBitmap.h" #include "third_party/skia/include/core/SkPostConfig.h" #include "ui/base/x/x11_util_internal.h" @@ -48,6 +47,7 @@ #include "ui/gfx/point_conversions.h" #include "ui/gfx/rect.h" #include "ui/gfx/size.h" +#include "ui/gfx/x/x11_error_tracker.h" #if defined(OS_FREEBSD) #include <sys/sysctl.h> @@ -317,7 +317,7 @@ static SharedMemorySupport DoQuerySharedMemorySupport(XDisplay* dpy) { memset(&shminfo, 0, sizeof(shminfo)); shminfo.shmid = shmkey; - base::X11ErrorTracker err_tracker; + gfx::X11ErrorTracker err_tracker; bool result = XShmAttach(dpy, &shminfo); if (result) VLOG(1) << "X got shared memory segment " << shmkey; @@ -928,7 +928,7 @@ bool SetIntArrayProperty(XID window, for (size_t i = 0; i < value.size(); ++i) data[i] = value[i]; - base::X11ErrorTracker err_tracker; + gfx::X11ErrorTracker err_tracker; XChangeProperty(gfx::GetXDisplay(), window, name_atom, @@ -953,7 +953,7 @@ bool SetAtomArrayProperty(XID window, for (size_t i = 0; i < value.size(); ++i) data[i] = value[i]; - base::X11ErrorTracker err_tracker; + gfx::X11ErrorTracker err_tracker; XChangeProperty(gfx::GetXDisplay(), window, name_atom, @@ -1277,7 +1277,7 @@ bool GetWindowManagerName(std::string* wm_name) { // _NET_SUPPORTING_WM_CHECK property pointing to itself (to avoid a stale // property referencing an ID that's been recycled for another window), so we // check that too. - base::X11ErrorTracker err_tracker; + gfx::X11ErrorTracker err_tracker; int wm_window_property = 0; bool result = GetIntProperty( wm_window, "_NET_SUPPORTING_WM_CHECK", &wm_window_property); diff --git a/ui/display/chromeos/x11/DEPS b/ui/display/chromeos/x11/DEPS new file mode 100644 index 0000000..25c2d71 --- /dev/null +++ b/ui/display/chromeos/x11/DEPS @@ -0,0 +1,3 @@ +include_rules = [ + "+ui/gfx/x", +] diff --git a/ui/display/chromeos/x11/native_display_delegate_x11.cc b/ui/display/chromeos/x11/native_display_delegate_x11.cc index 982d74a..de8a3aa 100644 --- a/ui/display/chromeos/x11/native_display_delegate_x11.cc +++ b/ui/display/chromeos/x11/native_display_delegate_x11.cc @@ -17,12 +17,12 @@ #include "base/message_loop/message_pump_x11.h" #include "base/stl_util.h" #include "base/x11/edid_parser_x11.h" -#include "base/x11/x11_error_tracker.h" #include "ui/display/chromeos/native_display_observer.h" #include "ui/display/chromeos/x11/display_mode_x11.h" #include "ui/display/chromeos/x11/display_snapshot_x11.h" #include "ui/display/chromeos/x11/display_util.h" #include "ui/display/chromeos/x11/native_display_event_dispatcher_x11.h" +#include "ui/gfx/x/x11_error_tracker.h" namespace ui { @@ -465,7 +465,7 @@ bool NativeDisplayDelegateX11::SetHDCPState(const DisplaySnapshot& output, NOTREACHED() << "Invalid HDCP state: " << state; return false; } - base::X11ErrorTracker err_tracker; + gfx::X11ErrorTracker err_tracker; unsigned char* data = reinterpret_cast<unsigned char*>(&value); RROutput output_id = static_cast<const DisplaySnapshotX11&>(output).output(); XRRChangeOutputProperty( diff --git a/ui/display/display.gyp b/ui/display/display.gyp index 48e8a7b..5f766ac 100644 --- a/ui/display/display.gyp +++ b/ui/display/display.gyp @@ -12,6 +12,7 @@ 'type': '<(component)', 'dependencies': [ '../../base/base.gyp:base', + '../../ui/gfx/gfx.gyp:gfx', '../../ui/gfx/gfx.gyp:gfx_geometry', ], 'defines': [ @@ -57,6 +58,7 @@ 'type': '<(component)', 'dependencies': [ '../../base/base.gyp:base', + '../../ui/gfx/gfx.gyp:gfx', '../../ui/gfx/gfx.gyp:gfx_geometry', 'display', ], diff --git a/ui/gfx/gfx.gyp b/ui/gfx/gfx.gyp index 23fe0b7..b712b0b 100644 --- a/ui/gfx/gfx.gyp +++ b/ui/gfx/gfx.gyp @@ -314,6 +314,8 @@ 'win/window_impl.h', 'x/x11_atom_cache.cc', 'x/x11_atom_cache.h', + 'x/x11_error_tracker.cc', + 'x/x11_error_tracker.h', 'x/x11_types.cc', 'x/x11_types.h', ], diff --git a/base/x11/x11_error_tracker.cc b/ui/gfx/x/x11_error_tracker.cc index 446408c..16ed595 100644 --- a/base/x11/x11_error_tracker.cc +++ b/ui/gfx/x/x11_error_tracker.cc @@ -1,10 +1,10 @@ -// Copyright 2013 The Chromium Authors. All rights reserved. +// Copyright 2014 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "base/x11/x11_error_tracker.h" +#include "ui/gfx/x/x11_error_tracker.h" -#include "base/message_loop/message_pump_x11.h" +#include "ui/gfx/x/x11_types.h" namespace { @@ -14,24 +14,21 @@ int X11ErrorHandler(Display* display, XErrorEvent* error) { g_x11_error_code = error->error_code; return 0; } - } -namespace base { +namespace gfx { X11ErrorTracker::X11ErrorTracker() { old_handler_ = XSetErrorHandler(X11ErrorHandler); } -X11ErrorTracker::~X11ErrorTracker() { - XSetErrorHandler(old_handler_); -} +X11ErrorTracker::~X11ErrorTracker() { XSetErrorHandler(old_handler_); } bool X11ErrorTracker::FoundNewError() { - XSync(MessagePumpForUI::GetDefaultXDisplay(), False); + XSync(GetXDisplay(), False); unsigned char error = g_x11_error_code; g_x11_error_code = 0; return error != 0; } -} // namespace ui +} // namespace gfx diff --git a/base/x11/x11_error_tracker.h b/ui/gfx/x/x11_error_tracker.h index 5542f52..efcac0c 100644 --- a/base/x11/x11_error_tracker.h +++ b/ui/gfx/x/x11_error_tracker.h @@ -1,21 +1,21 @@ -// Copyright 2013 The Chromium Authors. All rights reserved. +// Copyright 2014 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef BASE_X11_X11_ERROR_TRACKER_H_ -#define BASE_X11_X11_ERROR_TRACKER_H_ +#ifndef UI_GFX_X_X11_ERROR_TRACKER_H_ +#define UI_GFX_X_X11_ERROR_TRACKER_H_ #include <X11/Xlib.h> -#include "base/base_export.h" #include "base/basictypes.h" +#include "ui/gfx/gfx_export.h" -namespace base { +namespace gfx { // X11ErrorTracker catches X11 errors in a non-fatal way. It does so by // temporarily changing the X11 error handler. The old error handler is // restored when the tracker is destroyed. -class BASE_EXPORT X11ErrorTracker { +class GFX_EXPORT X11ErrorTracker { public: X11ErrorTracker(); ~X11ErrorTracker(); @@ -26,13 +26,11 @@ class BASE_EXPORT X11ErrorTracker { bool FoundNewError(); private: -#if !defined(TOOLKIT_GTK) XErrorHandler old_handler_; -#endif DISALLOW_COPY_AND_ASSIGN(X11ErrorTracker); }; -} // namespace base +} // namespace gfx -#endif // BASE_X11_X11_ERROR_TRACKER_H_ +#endif // UI_GFX_X_X11_ERROR_TRACKER_H_ |