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

Side by Side Diff: content/plugin/webplugin_proxy.cc

Issue 23460052: Move XID, XDisplay, GetXDisplay and a few other types to ui/gfx/x/x11_types.h (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: sdf Created 7 years, 3 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "content/plugin/webplugin_proxy.h" 5 #include "content/plugin/webplugin_proxy.h"
6 6
7 #include "build/build_config.h" 7 #include "build/build_config.h"
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/lazy_instance.h" 10 #include "base/lazy_instance.h"
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
68 host_render_view_routing_id_(host_render_view_routing_id), 68 host_render_view_routing_id_(host_render_view_routing_id),
69 weak_factory_(this) { 69 weak_factory_(this) {
70 #if defined(USE_X11) 70 #if defined(USE_X11)
71 windowless_shm_pixmaps_[0] = None; 71 windowless_shm_pixmaps_[0] = None;
72 windowless_shm_pixmaps_[1] = None; 72 windowless_shm_pixmaps_[1] = None;
73 use_shm_pixmap_ = false; 73 use_shm_pixmap_ = false;
74 74
75 // If the X server supports SHM pixmaps 75 // If the X server supports SHM pixmaps
76 // and the color depth and masks match, 76 // and the color depth and masks match,
77 // then consider using SHM pixmaps for windowless plugin painting. 77 // then consider using SHM pixmaps for windowless plugin painting.
78 Display* display = ui::GetXDisplay(); 78 XDisplay* display = gfx::GetXDisplay();
79 if (ui::QuerySharedMemorySupport(display) == ui::SHARED_MEMORY_PIXMAP && 79 if (ui::QuerySharedMemorySupport(display) == ui::SHARED_MEMORY_PIXMAP &&
80 ui::BitsPerPixelForPixmapDepth( 80 ui::BitsPerPixelForPixmapDepth(
81 display, DefaultDepth(display, DefaultScreen(display))) == 32) { 81 display, DefaultDepth(display, DefaultScreen(display))) == 32) {
82 Visual* vis = DefaultVisual(display, DefaultScreen(display)); 82 Visual* vis = DefaultVisual(display, DefaultScreen(display));
83 83
84 if (vis->red_mask == 0xff0000 && 84 if (vis->red_mask == 0xff0000 &&
85 vis->green_mask == 0xff00 && 85 vis->green_mask == 0xff00 &&
86 vis->blue_mask == 0xff) 86 vis->blue_mask == 0xff)
87 use_shm_pixmap_ = true; 87 use_shm_pixmap_ = true;
88 } 88 }
89 #endif 89 #endif
90 } 90 }
91 91
92 WebPluginProxy::~WebPluginProxy() { 92 WebPluginProxy::~WebPluginProxy() {
93 #if defined(USE_X11) 93 #if defined(USE_X11)
94 if (windowless_shm_pixmaps_[0] != None) 94 if (windowless_shm_pixmaps_[0] != None)
95 XFreePixmap(ui::GetXDisplay(), windowless_shm_pixmaps_[0]); 95 XFreePixmap(gfx::GetXDisplay(), windowless_shm_pixmaps_[0]);
96 if (windowless_shm_pixmaps_[1] != None) 96 if (windowless_shm_pixmaps_[1] != None)
97 XFreePixmap(ui::GetXDisplay(), windowless_shm_pixmaps_[1]); 97 XFreePixmap(gfx::GetXDisplay(), windowless_shm_pixmaps_[1]);
98 #endif 98 #endif
99 99
100 #if defined(OS_MACOSX) 100 #if defined(OS_MACOSX)
101 // Destroy the surface early, since it may send messages during cleanup. 101 // Destroy the surface early, since it may send messages during cleanup.
102 if (accelerated_surface_) 102 if (accelerated_surface_)
103 accelerated_surface_.reset(); 103 accelerated_surface_.reset();
104 #endif 104 #endif
105 105
106 if (plugin_element_) 106 if (plugin_element_)
107 WebBindings::releaseObject(plugin_element_); 107 WebBindings::releaseObject(plugin_element_);
(...skipping 442 matching lines...) Expand 10 before | Expand all | Expand 10 after
550 canvas->clear(); 550 canvas->clear();
551 } 551 }
552 *dib_out = new SharedTransportDIB(dib); 552 *dib_out = new SharedTransportDIB(dib);
553 } 553 }
554 554
555 void WebPluginProxy::CreateShmPixmapFromDIB( 555 void WebPluginProxy::CreateShmPixmapFromDIB(
556 TransportDIB* dib, 556 TransportDIB* dib,
557 const gfx::Rect& window_rect, 557 const gfx::Rect& window_rect,
558 XID* pixmap_out) { 558 XID* pixmap_out) {
559 if (dib) { 559 if (dib) {
560 Display* display = ui::GetXDisplay(); 560 XDisplay* display = gfx::GetXDisplay();
561 XID root_window = ui::GetX11RootWindow(); 561 XID root_window = ui::GetX11RootWindow();
562 XShmSegmentInfo shminfo = {0}; 562 XShmSegmentInfo shminfo = {0};
563 563
564 if (*pixmap_out != None) 564 if (*pixmap_out != None)
565 XFreePixmap(display, *pixmap_out); 565 XFreePixmap(display, *pixmap_out);
566 566
567 shminfo.shmseg = dib->MapToX(display); 567 shminfo.shmseg = dib->MapToX(display);
568 // Create a shared memory pixmap based on the image buffer. 568 // Create a shared memory pixmap based on the image buffer.
569 *pixmap_out = XShmCreatePixmap(display, root_window, 569 *pixmap_out = XShmCreatePixmap(display, root_window,
570 NULL, &shminfo, 570 NULL, &shminfo,
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
717 int input_type; 717 int input_type;
718 gfx::Rect caret_rect; 718 gfx::Rect caret_rect;
719 if (!delegate_->GetIMEStatus(&input_type, &caret_rect)) 719 if (!delegate_->GetIMEStatus(&input_type, &caret_rect))
720 return; 720 return;
721 721
722 Send(new PluginHostMsg_NotifyIMEStatus(route_id_, input_type, caret_rect)); 722 Send(new PluginHostMsg_NotifyIMEStatus(route_id_, input_type, caret_rect));
723 } 723 }
724 #endif 724 #endif
725 725
726 } // namespace content 726 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/renderer_host/web_input_event_aura_unittest.cc ('k') | ui/aura/root_window_host_x11.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698