summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--base/base.gypi8
-rw-r--r--base/x11/x11_error_tracker_gtk.cc29
-rw-r--r--chrome/browser/extensions/global_shortcut_listener_x11.cc4
-rw-r--r--chrome/browser/screensaver_window_finder_x11.cc4
-rw-r--r--ui/base/x/x11_util.cc10
-rw-r--r--ui/display/chromeos/x11/DEPS3
-rw-r--r--ui/display/chromeos/x11/native_display_delegate_x11.cc4
-rw-r--r--ui/display/display.gyp2
-rw-r--r--ui/gfx/gfx.gyp2
-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_