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

Side by Side Diff: content/browser/renderer_host/render_widget_host_impl.cc

Issue 11194042: Implement TextureImageTransportSurface using texture mailbox (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebased, fixed post sub buffer, use multiple mailbox names Created 8 years, 1 month 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) 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/browser/renderer_host/render_widget_host_impl.h" 5 #include "content/browser/renderer_host/render_widget_host_impl.h"
6 6
7 #include <math.h> 7 #include <math.h>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/auto_reset.h" 10 #include "base/auto_reset.h"
(...skipping 1421 matching lines...) Expand 10 before | Expand all | Expand 10 after
1432 int32 surface_id, 1432 int32 surface_id,
1433 uint64 surface_handle, 1433 uint64 surface_handle,
1434 int32 route_id, 1434 int32 route_id,
1435 const gfx::Size& size, 1435 const gfx::Size& size,
1436 int32 gpu_process_host_id) { 1436 int32 gpu_process_host_id) {
1437 TRACE_EVENT0("renderer_host", 1437 TRACE_EVENT0("renderer_host",
1438 "RenderWidgetHostImpl::OnCompositorSurfaceBuffersSwapped"); 1438 "RenderWidgetHostImpl::OnCompositorSurfaceBuffersSwapped");
1439 if (!view_) { 1439 if (!view_) {
1440 RenderWidgetHostImpl::AcknowledgeBufferPresent(route_id, 1440 RenderWidgetHostImpl::AcknowledgeBufferPresent(route_id,
1441 gpu_process_host_id, 1441 gpu_process_host_id,
1442 false, 1442 surface_handle,
1443 0); 1443 0);
1444 return; 1444 return;
1445 } 1445 }
1446 GpuHostMsg_AcceleratedSurfaceBuffersSwapped_Params gpu_params; 1446 GpuHostMsg_AcceleratedSurfaceBuffersSwapped_Params gpu_params;
1447 gpu_params.surface_id = surface_id; 1447 gpu_params.surface_id = surface_id;
1448 gpu_params.surface_handle = surface_handle; 1448 gpu_params.surface_handle = surface_handle;
1449 gpu_params.route_id = route_id; 1449 gpu_params.route_id = route_id;
1450 gpu_params.size = size; 1450 gpu_params.size = size;
1451 #if defined(OS_MACOSX) 1451 #if defined(OS_MACOSX)
1452 // Compositor window is always gfx::kNullPluginWindow. 1452 // Compositor window is always gfx::kNullPluginWindow.
(...skipping 744 matching lines...) Expand 10 before | Expand all | Expand 10 after
2197 return false; 2197 return false;
2198 } else { 2198 } else {
2199 Send(new ViewMsg_LockMouse_ACK(routing_id_, true)); 2199 Send(new ViewMsg_LockMouse_ACK(routing_id_, true));
2200 return true; 2200 return true;
2201 } 2201 }
2202 } 2202 }
2203 } 2203 }
2204 2204
2205 // static 2205 // static
2206 void RenderWidgetHostImpl::AcknowledgeBufferPresent( 2206 void RenderWidgetHostImpl::AcknowledgeBufferPresent(
2207 int32 route_id, int gpu_host_id, bool presented, uint32 sync_point) { 2207 int32 route_id, int gpu_host_id, uint64 surface_handle, uint32 sync_point) {
2208 GpuProcessHostUIShim* ui_shim = GpuProcessHostUIShim::FromID(gpu_host_id); 2208 GpuProcessHostUIShim* ui_shim = GpuProcessHostUIShim::FromID(gpu_host_id);
2209 if (ui_shim) 2209 if (ui_shim)
2210 ui_shim->Send(new AcceleratedSurfaceMsg_BufferPresented(route_id, 2210 ui_shim->Send(new AcceleratedSurfaceMsg_BufferPresented(route_id,
2211 presented, 2211 surface_handle,
2212 sync_point)); 2212 sync_point));
2213 } 2213 }
2214 2214
2215 void RenderWidgetHostImpl::AcknowledgeSwapBuffersToRenderer() { 2215 void RenderWidgetHostImpl::AcknowledgeSwapBuffersToRenderer() {
2216 if (!is_threaded_compositing_enabled_) 2216 if (!is_threaded_compositing_enabled_)
2217 Send(new ViewMsg_SwapBuffers_ACK(routing_id_)); 2217 Send(new ViewMsg_SwapBuffers_ACK(routing_id_));
2218 } 2218 }
2219 2219
2220 #if defined(USE_AURA) 2220 #if defined(USE_AURA)
2221 2221
2222 void RenderWidgetHostImpl::ParentChanged(gfx::NativeViewId new_parent) { 2222 void RenderWidgetHostImpl::ParentChanged(gfx::NativeViewId new_parent) {
2223 #if defined(OS_WIN) 2223 #if defined(OS_WIN)
2224 HWND hwnd = reinterpret_cast<HWND>(new_parent); 2224 HWND hwnd = reinterpret_cast<HWND>(new_parent);
2225 if (!hwnd) 2225 if (!hwnd)
2226 hwnd = WebPluginDelegateImpl::GetDefaultWindowParent(); 2226 hwnd = WebPluginDelegateImpl::GetDefaultWindowParent();
2227 for (std::list<HWND>::iterator i = dummy_windows_for_activation_.begin(); 2227 for (std::list<HWND>::iterator i = dummy_windows_for_activation_.begin();
2228 i != dummy_windows_for_activation_.end(); ++i) { 2228 i != dummy_windows_for_activation_.end(); ++i) {
2229 SetParent(*i, hwnd); 2229 SetParent(*i, hwnd);
2230 } 2230 }
2231 #endif 2231 #endif
2232 } 2232 }
2233 2233
2234 // static
2235 void RenderWidgetHostImpl::SendFrontSurfaceIsProtected(
2236 bool is_protected,
2237 uint32 protection_state_id,
2238 int32 route_id,
2239 int gpu_host_id) {
2240 GpuProcessHostUIShim* ui_shim = GpuProcessHostUIShim::FromID(gpu_host_id);
2241 if (ui_shim) {
2242 ui_shim->Send(new AcceleratedSurfaceMsg_SetFrontSurfaceIsProtected(
2243 route_id, is_protected, protection_state_id));
2244 }
2245 }
2246 #endif 2234 #endif
2247 2235
2248 void RenderWidgetHostImpl::DelayedAutoResized() { 2236 void RenderWidgetHostImpl::DelayedAutoResized() {
2249 gfx::Size new_size = new_auto_size_; 2237 gfx::Size new_size = new_auto_size_;
2250 // Clear the new_auto_size_ since the empty value is used as a flag to 2238 // Clear the new_auto_size_ since the empty value is used as a flag to
2251 // indicate that no callback is in progress (i.e. without this line 2239 // indicate that no callback is in progress (i.e. without this line
2252 // DelayedAutoResized will not get called again). 2240 // DelayedAutoResized will not get called again).
2253 new_auto_size_.SetSize(0, 0); 2241 new_auto_size_.SetSize(0, 0);
2254 if (!should_auto_resize_) 2242 if (!should_auto_resize_)
2255 return; 2243 return;
2256 2244
2257 OnRenderAutoResized(new_size); 2245 OnRenderAutoResized(new_size);
2258 } 2246 }
2259 2247
2260 void RenderWidgetHostImpl::DetachDelegate() { 2248 void RenderWidgetHostImpl::DetachDelegate() {
2261 delegate_ = NULL; 2249 delegate_ = NULL;
2262 } 2250 }
2263 2251
2264 } // namespace content 2252 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698