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

Side by Side Diff: chrome/browser/renderer_host/render_widget_host_view_views_touch.cc

Issue 7980006: Implement OSMesa image transport for TOUCH_UI builds (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Fix mac build Created 9 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/renderer_host/render_widget_host_view_views.h" 5 #include "chrome/browser/renderer_host/render_widget_host_view_views.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "chrome/browser/renderer_host/accelerated_surface_container_touch.h" 9 #include "chrome/browser/renderer_host/accelerated_surface_container_touch.h"
10 #include "content/browser/gpu/gpu_process_host_ui_shim.h" 10 #include "content/browser/gpu/gpu_process_host_ui_shim.h"
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after
190 return status; 190 return status;
191 } 191 }
192 192
193 gfx::PluginWindowHandle RenderWidgetHostViewViews::GetCompositingSurface() { 193 gfx::PluginWindowHandle RenderWidgetHostViewViews::GetCompositingSurface() {
194 // On TOUCH_UI builds, the GPU process renders to an offscreen surface 194 // On TOUCH_UI builds, the GPU process renders to an offscreen surface
195 // (created by the GPU process), which is later displayed by the browser. 195 // (created by the GPU process), which is later displayed by the browser.
196 // As the GPU process creates this surface, we can return any non-zero value. 196 // As the GPU process creates this surface, we can return any non-zero value.
197 return 1; 197 return 1;
198 } 198 }
199 199
200 void RenderWidgetHostViewViews::AcceleratedSurfaceSetIOSurface( 200 void RenderWidgetHostViewViews::AcceleratedSurfaceNew(
201 int32 width, int32 height, uint64 surface_id) { 201 int32 width,
202 accelerated_surface_containers_[surface_id] = 202 int32 height,
203 AcceleratedSurfaceContainerTouch::CreateAcceleratedSurfaceContainer( 203 uint64* surface_id,
204 gfx::Size(width, height), 204 TransportDIB::Handle* surface_handle) {
205 surface_id); 205 AcceleratedSurfaceContainerTouch* surface =
sky 2011/09/21 21:39:55 Use a scoped_ptr or scoped_refptr.
206 AcceleratedSurfaceContainerTouch::CreateAcceleratedSurfaceContainer(
207 gfx::Size(width, height));
208 if (!surface->Initialize(surface_id)) {
209 LOG(ERROR) << "Failed to create AcceleratedSurfaceContainer";
210 delete surface;
211 return;
212 }
213 *surface_handle = surface->handle();
214
215 accelerated_surface_containers_[*surface_id] = surface;
206 } 216 }
207 217
208 void RenderWidgetHostViewViews::AcceleratedSurfaceRelease(uint64 surface_id) { 218 void RenderWidgetHostViewViews::AcceleratedSurfaceRelease(uint64 surface_id) {
209 accelerated_surface_containers_.erase(surface_id); 219 accelerated_surface_containers_.erase(surface_id);
210 } 220 }
211 221
212 void RenderWidgetHostViewViews::AcceleratedSurfaceBuffersSwapped( 222 void RenderWidgetHostViewViews::AcceleratedSurfaceBuffersSwapped(
213 uint64 surface_id, 223 uint64 surface_id,
214 int32 route_id, 224 int32 route_id,
215 int gpu_host_id) { 225 int gpu_host_id) {
(...skipping 16 matching lines...) Expand all
232 void RenderWidgetHostViewViews::OnCompositingEnded(ui::Compositor* compositor) { 242 void RenderWidgetHostViewViews::OnCompositingEnded(ui::Compositor* compositor) {
233 for (std::vector< base::Callback<void(void)> >::const_iterator 243 for (std::vector< base::Callback<void(void)> >::const_iterator
234 it = on_compositing_ended_callbacks_.begin(); 244 it = on_compositing_ended_callbacks_.begin();
235 it != on_compositing_ended_callbacks_.end(); ++it) { 245 it != on_compositing_ended_callbacks_.end(); ++it) {
236 it->Run(); 246 it->Run();
237 } 247 }
238 on_compositing_ended_callbacks_.clear(); 248 on_compositing_ended_callbacks_.clear();
239 compositor->RemoveObserver(this); 249 compositor->RemoveObserver(this);
240 } 250 }
241 251
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698