Index: ui/base/x/x11_util.cc |
diff --git a/ui/base/x/x11_util.cc b/ui/base/x/x11_util.cc |
index a51e6e54764fd7d96da2c10cfedefd939ad9f1ea..58c2c698a3cf825780d1c41ba5ce88bd7972b90c 100644 |
--- a/ui/base/x/x11_util.cc |
+++ b/ui/base/x/x11_util.cc |
@@ -72,11 +72,11 @@ namespace { |
// Used to cache the XRenderPictFormat for a visual/display pair. |
struct CachedPictFormat { |
- bool equals(Display* display, Visual* visual) const { |
+ bool equals(XDisplay* display, Visual* visual) const { |
return display == this->display && visual == this->visual; |
} |
- Display* display; |
+ XDisplay* display; |
Visual* visual; |
XRenderPictFormat* format; |
}; |
@@ -94,7 +94,7 @@ CachedPictFormats* get_cached_pict_formats() { |
// Maximum number of CachedPictFormats we keep around. |
const size_t kMaxCacheSize = 5; |
-int DefaultX11ErrorHandler(Display* d, XErrorEvent* e) { |
+int DefaultX11ErrorHandler(XDisplay* d, XErrorEvent* e) { |
if (base::MessageLoop::current()) { |
base::MessageLoop::current()->PostTask( |
FROM_HERE, base::Bind(&LogErrorEventDescription, d, *e)); |
@@ -109,7 +109,7 @@ int DefaultX11ErrorHandler(Display* d, XErrorEvent* e) { |
return 0; |
} |
-int DefaultX11IOErrorHandler(Display* d) { |
+int DefaultX11IOErrorHandler(XDisplay* d) { |
// If there's an IO error it likely means the X server has gone away |
LOG(ERROR) << "X IO error received (X server probably went away)"; |
_exit(1); |
@@ -121,7 +121,7 @@ bool GetProperty(XID window, const std::string& property_name, long max_length, |
unsigned char** property) { |
Atom property_atom = GetAtom(property_name.c_str()); |
unsigned long remaining_bytes = 0; |
- return XGetWindowProperty(GetXDisplay(), |
+ return XGetWindowProperty(gfx::GetXDisplay(), |
window, |
property_atom, |
0, // offset into property data to read |
@@ -159,7 +159,7 @@ int XKeyEventType(ui::EventType type) { |
// Converts KeyboardCode to XKeyEvent keycode. |
unsigned int XKeyEventKeyCode(ui::KeyboardCode key_code, |
int flags, |
- Display* display) { |
+ XDisplay* display) { |
const int keysym = XKeysymForWindowsKeyCode(key_code, |
flags & ui::EF_SHIFT_DOWN); |
// Tests assume the keycode for XK_less is equal to the one of XK_comma, |
@@ -182,14 +182,14 @@ class XCursorCache { |
std::pair<std::map<int, ::Cursor>::iterator, bool> it = cache_.insert( |
std::make_pair(cursor_shape, 0)); |
if (it.second) { |
- Display* display = base::MessagePumpForUI::GetDefaultXDisplay(); |
+ XDisplay* display = base::MessagePumpForUI::GetDefaultXDisplay(); |
it.first->second = XCreateFontCursor(display, cursor_shape); |
} |
return it.first->second; |
} |
void Clear() { |
- Display* display = base::MessagePumpForUI::GetDefaultXDisplay(); |
+ XDisplay* display = base::MessagePumpForUI::GetDefaultXDisplay(); |
for (std::map<int, ::Cursor>::iterator it = |
cache_.begin(); it != cache_.end(); ++it) { |
XFreeCursor(display, it->second); |
@@ -243,12 +243,12 @@ class XCustomCursorCache { |
XCustomCursor(XcursorImage* image) |
: image_(image), |
ref_(1) { |
- cursor_ = XcursorImageLoadCursor(GetXDisplay(), image); |
+ cursor_ = XcursorImageLoadCursor(gfx::GetXDisplay(), image); |
} |
~XCustomCursor() { |
XcursorImageDestroy(image_); |
- XFreeCursor(GetXDisplay(), cursor_); |
+ XFreeCursor(gfx::GetXDisplay(), cursor_); |
} |
::Cursor cursor() const { return cursor_; } |
@@ -292,7 +292,7 @@ class XButtonMap { |
} |
void UpdateMapping() { |
- count_ = XGetPointerMapping(ui::GetXDisplay(), map_, arraysize(map_)); |
+ count_ = XGetPointerMapping(gfx::GetXDisplay(), map_, arraysize(map_)); |
} |
int GetMappedButton(int button) { |
@@ -317,7 +317,7 @@ class XButtonMap { |
bool IsShapeAvailable() { |
int dummy; |
static bool is_shape_available = |
- XShapeQueryExtension(ui::GetXDisplay(), &dummy, &dummy); |
+ XShapeQueryExtension(gfx::GetXDisplay(), &dummy, &dummy); |
return is_shape_available; |
} |
@@ -325,14 +325,10 @@ bool IsShapeAvailable() { |
} // namespace |
bool XDisplayExists() { |
- return (GetXDisplay() != NULL); |
+ return (gfx::GetXDisplay() != NULL); |
} |
-Display* GetXDisplay() { |
- return base::MessagePumpForUI::GetDefaultXDisplay(); |
-} |
- |
-static SharedMemorySupport DoQuerySharedMemorySupport(Display* dpy) { |
+static SharedMemorySupport DoQuerySharedMemorySupport(XDisplay* dpy) { |
int dummy; |
Bool pixmaps_supported; |
// Query the server's support for XSHM. |
@@ -389,7 +385,7 @@ static SharedMemorySupport DoQuerySharedMemorySupport(Display* dpy) { |
return pixmaps_supported ? SHARED_MEMORY_PIXMAP : SHARED_MEMORY_PUTIMAGE; |
} |
-SharedMemorySupport QuerySharedMemorySupport(Display* dpy) { |
+SharedMemorySupport QuerySharedMemorySupport(XDisplay* dpy) { |
static SharedMemorySupport shared_memory_support = SHARED_MEMORY_NONE; |
static bool shared_memory_support_cached = false; |
@@ -402,7 +398,7 @@ SharedMemorySupport QuerySharedMemorySupport(Display* dpy) { |
return shared_memory_support; |
} |
-bool QueryRenderSupport(Display* dpy) { |
+bool QueryRenderSupport(XDisplay* dpy) { |
static bool render_supported = false; |
static bool render_supported_cached = false; |
@@ -418,7 +414,7 @@ bool QueryRenderSupport(Display* dpy) { |
return render_supported; |
} |
-int GetDefaultScreen(Display* display) { |
+int GetDefaultScreen(XDisplay* display) { |
return XDefaultScreen(display); |
} |
@@ -493,7 +489,7 @@ int CoalescePendingMotionEvents(const XEvent* xev, |
XEvent* last_event) { |
XIDeviceEvent* xievent = static_cast<XIDeviceEvent*>(xev->xcookie.data); |
int num_coalesced = 0; |
- Display* display = xev->xany.display; |
+ XDisplay* display = xev->xany.display; |
int event_type = xev->xgeneric.evtype; |
DCHECK_EQ(event_type, XI_Motion); |
@@ -563,13 +559,13 @@ int CoalescePendingMotionEvents(const XEvent* xev, |
void HideHostCursor() { |
CR_DEFINE_STATIC_LOCAL(XScopedCursor, invisible_cursor, |
- (CreateInvisibleCursor(), ui::GetXDisplay())); |
- XDefineCursor(ui::GetXDisplay(), DefaultRootWindow(ui::GetXDisplay()), |
+ (CreateInvisibleCursor(), gfx::GetXDisplay())); |
+ XDefineCursor(gfx::GetXDisplay(), DefaultRootWindow(gfx::GetXDisplay()), |
invisible_cursor.get()); |
} |
::Cursor CreateInvisibleCursor() { |
- Display* xdisplay = ui::GetXDisplay(); |
+ XDisplay* xdisplay = gfx::GetXDisplay(); |
::Cursor invisible_cursor; |
char nodata[] = { 0, 0, 0, 0, 0, 0, 0, 0 }; |
XColor black; |
@@ -584,7 +580,7 @@ void HideHostCursor() { |
} |
XID GetX11RootWindow() { |
- return DefaultRootWindow(GetXDisplay()); |
+ return DefaultRootWindow(gfx::GetXDisplay()); |
} |
bool GetCurrentDesktop(int* desktop) { |
@@ -621,7 +617,7 @@ void* GetVisualFromGtkWidget(GtkWidget* widget) { |
void SetHideTitlebarWhenMaximizedProperty(XID window, |
HideTitlebarWhenMaximized property) { |
uint32 hide = property; |
- XChangeProperty(GetXDisplay(), |
+ XChangeProperty(gfx::GetXDisplay(), |
window, |
GetAtom("_GTK_HIDE_TITLEBAR_WHEN_MAXIMIZED"), |
XA_CARDINAL, |
@@ -632,7 +628,7 @@ void SetHideTitlebarWhenMaximizedProperty(XID window, |
} |
void ClearX11DefaultRootWindow() { |
- Display* display = GetXDisplay(); |
+ XDisplay* display = gfx::GetXDisplay(); |
XID root_window = GetX11RootWindow(); |
gfx::Rect root_bounds; |
if (!GetWindowRect(root_window, &root_bounds)) { |
@@ -651,7 +647,7 @@ void ClearX11DefaultRootWindow() { |
XFreeGC(display, gc); |
} |
-int BitsPerPixelForPixmapDepth(Display* dpy, int depth) { |
+int BitsPerPixelForPixmapDepth(XDisplay* dpy, int depth) { |
int count; |
XPixmapFormatValues* formats = XListPixmapFormats(dpy, &count); |
if (!formats) |
@@ -671,7 +667,7 @@ int BitsPerPixelForPixmapDepth(Display* dpy, int depth) { |
bool IsWindowVisible(XID window) { |
XWindowAttributes win_attributes; |
- if (!XGetWindowAttributes(GetXDisplay(), window, &win_attributes)) |
+ if (!XGetWindowAttributes(gfx::GetXDisplay(), window, &win_attributes)) |
return false; |
if (win_attributes.map_state != IsViewable) |
return false; |
@@ -690,11 +686,11 @@ bool GetWindowRect(XID window, gfx::Rect* rect) { |
unsigned int width, height; |
unsigned int border_width, depth; |
- if (!XGetGeometry(GetXDisplay(), window, &root, &x, &y, |
+ if (!XGetGeometry(gfx::GetXDisplay(), window, &root, &x, &y, |
&width, &height, &border_width, &depth)) |
return false; |
- if (!XTranslateCoordinates(GetXDisplay(), window, root, |
+ if (!XTranslateCoordinates(gfx::GetXDisplay(), window, root, |
0, 0, &x, &y, &child)) |
return false; |
@@ -723,7 +719,7 @@ bool WindowContainsPoint(XID window, gfx::Point screen_loc) { |
int dummy; |
int input_rects_size = 0; |
XRectangle* input_rects = XShapeGetRectangles( |
- ui::GetXDisplay(), window, ShapeInput, &input_rects_size, &dummy); |
+ gfx::GetXDisplay(), window, ShapeInput, &input_rects_size, &dummy); |
if (!input_rects) |
return true; |
bool is_in_input_rects = false; |
@@ -771,7 +767,7 @@ bool GetRawBytesOfProperty(XID window, |
Atom prop_type = None; |
int prop_format = 0; |
unsigned char* property_data = NULL; |
- if (XGetWindowProperty(GetXDisplay(), window, property, |
+ if (XGetWindowProperty(gfx::GetXDisplay(), window, property, |
0, 0x1FFFFFFF /* MAXINT32 / 4 */, False, |
AnyPropertyType, &prop_type, &prop_format, |
&nitems, &nbytes, &property_data) != Success) { |
@@ -957,7 +953,7 @@ bool SetIntArrayProperty(XID window, |
data[i] = value[i]; |
X11ErrorTracker err_tracker; |
- XChangeProperty(ui::GetXDisplay(), |
+ XChangeProperty(gfx::GetXDisplay(), |
window, |
name_atom, |
type_atom, |
@@ -982,7 +978,7 @@ bool SetAtomArrayProperty(XID window, |
data[i] = value[i]; |
X11ErrorTracker err_tracker; |
- XChangeProperty(ui::GetXDisplay(), |
+ XChangeProperty(gfx::GetXDisplay(), |
window, |
name_atom, |
type_atom, |
@@ -999,11 +995,11 @@ Atom GetAtom(const char* name) { |
gdk_display_get_default(), name); |
#else |
// TODO(derat): Cache atoms to avoid round-trips to the server. |
- return XInternAtom(GetXDisplay(), name, false); |
+ return XInternAtom(gfx::GetXDisplay(), name, false); |
#endif |
} |
-void SetWindowClassHint(Display* display, |
+void SetWindowClassHint(XDisplay* display, |
XID window, |
std::string res_name, |
std::string res_class) { |
@@ -1021,7 +1017,7 @@ XID GetParentWindow(XID window) { |
XID parent = None; |
XID* children = NULL; |
unsigned int num_children = 0; |
- XQueryTree(GetXDisplay(), window, &root, &parent, &children, &num_children); |
+ XQueryTree(gfx::GetXDisplay(), window, &root, &parent, &children, &num_children); |
if (children) |
XFree(children); |
return parent; |
@@ -1042,7 +1038,7 @@ bool GetWindowDesktop(XID window, int* desktop) { |
return GetIntProperty(window, "_NET_WM_DESKTOP", desktop); |
} |
-std::string GetX11ErrorString(Display* display, int err) { |
+std::string GetX11ErrorString(XDisplay* display, int err) { |
char buffer[256]; |
XGetErrorText(display, err, buffer, arraysize(buffer)); |
return buffer; |
@@ -1051,7 +1047,7 @@ std::string GetX11ErrorString(Display* display, int err) { |
// Returns true if |window| is a named window. |
bool IsWindowNamed(XID window) { |
XTextProperty prop; |
- if (!XGetWMName(GetXDisplay(), window, &prop) || !prop.value) |
+ if (!XGetWMName(gfx::GetXDisplay(), window, &prop) || !prop.value) |
return false; |
XFree(prop.value); |
@@ -1065,7 +1061,7 @@ bool EnumerateChildren(EnumerateWindowsDelegate* delegate, XID window, |
XID root, parent, *children; |
unsigned int num_children; |
- int status = XQueryTree(GetXDisplay(), window, &root, &parent, &children, |
+ int status = XQueryTree(gfx::GetXDisplay(), window, &root, &parent, &children, |
&num_children); |
if (status == 0) |
return false; |
@@ -1157,10 +1153,10 @@ void RestackWindow(XID window, XID sibling, bool above) { |
XWindowChanges changes; |
changes.sibling = sibling; |
changes.stack_mode = above ? Above : Below; |
- XConfigureWindow(GetXDisplay(), window, CWSibling | CWStackMode, &changes); |
+ XConfigureWindow(gfx::GetXDisplay(), window, CWSibling | CWStackMode, &changes); |
} |
-XSharedMemoryId AttachSharedMemory(Display* display, int shared_memory_key) { |
+XSharedMemoryId AttachSharedMemory(XDisplay* display, int shared_memory_key) { |
DCHECK(QuerySharedMemorySupport(display)); |
XShmSegmentInfo shminfo; |
@@ -1181,7 +1177,7 @@ XSharedMemoryId AttachSharedMemory(Display* display, int shared_memory_key) { |
return shminfo.shmseg; |
} |
-void DetachSharedMemory(Display* display, XSharedMemoryId shmseg) { |
+void DetachSharedMemory(XDisplay* display, XSharedMemoryId shmseg) { |
DCHECK(QuerySharedMemorySupport(display)); |
XShmSegmentInfo shminfo; |
@@ -1197,7 +1193,7 @@ bool CopyAreaToCanvas(XID drawable, |
gfx::Point dest_offset, |
gfx::Canvas* canvas) { |
ui::XScopedImage scoped_image( |
- XGetImage(GetXDisplay(), drawable, |
+ XGetImage(gfx::GetXDisplay(), drawable, |
source_bounds.x(), source_bounds.y(), |
source_bounds.width(), source_bounds.height(), |
AllPlanes, ZPixmap)); |
@@ -1241,14 +1237,14 @@ bool CopyAreaToCanvas(XID drawable, |
return true; |
} |
-XID CreatePictureFromSkiaPixmap(Display* display, XID pixmap) { |
+XID CreatePictureFromSkiaPixmap(XDisplay* display, XID pixmap) { |
XID picture = XRenderCreatePicture( |
display, pixmap, GetRenderARGB32Format(display), 0, NULL); |
return picture; |
} |
-void PutARGBImage(Display* display, |
+void PutARGBImage(XDisplay* display, |
void* visual, int depth, |
XID pixmap, void* pixmap_gc, |
const uint8* data, |
@@ -1262,7 +1258,7 @@ void PutARGBImage(Display* display, |
width, height); |
} |
-void PutARGBImage(Display* display, |
+void PutARGBImage(XDisplay* display, |
void* visual, int depth, |
XID pixmap, void* pixmap_gc, |
const uint8* data, |
@@ -1367,11 +1363,11 @@ void PutARGBImage(Display* display, |
} |
} |
-void FreePicture(Display* display, XID picture) { |
+void FreePicture(XDisplay* display, XID picture) { |
XRenderFreePicture(display, picture); |
} |
-void FreePixmap(Display* display, XID pixmap) { |
+void FreePixmap(XDisplay* display, XID pixmap) { |
XFreePixmap(display, pixmap); |
} |
@@ -1457,7 +1453,7 @@ bool ChangeWindowDesktop(XID window, XID destination) { |
event.xclient.data.l[0] = desktop; |
event.xclient.data.l[1] = 1; // source indication |
- int result = XSendEvent(GetXDisplay(), GetX11RootWindow(), False, |
+ int result = XSendEvent(gfx::GetXDisplay(), GetX11RootWindow(), False, |
SubstructureNotifyMask, &event); |
return result == Success; |
} |
@@ -1508,7 +1504,7 @@ bool IsX11WindowFullScreen(XID window) { |
// |
// TODO(erg): Actually doing this correctly would require pulling out xrandr, |
// which we don't even do in the desktop screen yet. |
- ::Display* display = ui::GetXDisplay(); |
+ ::XDisplay* display = gfx::GetXDisplay(); |
::Screen* screen = DefaultScreenOfDisplay(display); |
int width = WidthOfScreen(screen); |
int height = HeightOfScreen(screen); |
@@ -1536,7 +1532,7 @@ void InitXKeyEventForTesting(EventType type, |
int flags, |
XEvent* event) { |
CHECK(event); |
- Display* display = GetXDisplay(); |
+ XDisplay* display = gfx::GetXDisplay(); |
XKeyEvent key_event; |
key_event.type = XKeyEventType(type); |
CHECK_NE(0, key_event.type); |
@@ -1586,7 +1582,7 @@ void XScopedImage::reset(XImage* image) { |
image_ = image; |
} |
-XScopedCursor::XScopedCursor(::Cursor cursor, Display* display) |
+XScopedCursor::XScopedCursor(::Cursor cursor, XDisplay* display) |
: cursor_(cursor), |
display_(display) { |
} |
@@ -1608,7 +1604,7 @@ void XScopedCursor::reset(::Cursor cursor) { |
// ---------------------------------------------------------------------------- |
// These functions are declared in x11_util_internal.h because they require |
// XLib.h to be included, and it conflicts with many other headers. |
-XRenderPictFormat* GetRenderARGB32Format(Display* dpy) { |
+XRenderPictFormat* GetRenderARGB32Format(XDisplay* dpy) { |
static XRenderPictFormat* pictformat = NULL; |
if (pictformat) |
return pictformat; |
@@ -1644,7 +1640,7 @@ XRenderPictFormat* GetRenderARGB32Format(Display* dpy) { |
return pictformat; |
} |
-XRenderPictFormat* GetRenderVisualFormat(Display* dpy, Visual* visual) { |
+XRenderPictFormat* GetRenderVisualFormat(XDisplay* dpy, Visual* visual) { |
DCHECK(QueryRenderSupport(dpy)); |
CachedPictFormats* formats = get_cached_pict_formats(); |
@@ -1688,7 +1684,7 @@ void SetX11ErrorHandlers(XErrorHandler error_handler, |
io_error_handler ? io_error_handler : DefaultX11IOErrorHandler); |
} |
-void LogErrorEventDescription(Display* dpy, |
+void LogErrorEventDescription(XDisplay* dpy, |
const XErrorEvent& error_event) { |
char error_str[256]; |
char request_str[256]; |