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

Issue 6557006: Moved creation of GPU transfer buffers into the browser process.... (Closed)

Created:
9 years, 10 months ago by apatrick_chromium
Modified:
9 years, 7 months ago
CC:
chromium-reviews, brettw-cc_chromium.org, darin-cc_chromium.org, apatrick_chromium, Paweł Hajdan Jr.
Visibility:
Public.

Description

Moved creation of GPU transfer buffers into the browser process. Transfer buffer creation was previously done in the GPU process. This is one step required to sandbox the GPU process. Rather than the GPU process opening a renderer process's handle by PID, which can't been done when sandboxed on Windows, the browser process passes the handle to the GPU process via the renderer process. TEST=try BUG=none Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=75980

Patch Set 1 : '' #

Total comments: 6
Unified diffs Side-by-side diffs Delta from patch set Stats (+353 lines, -88 lines) Patch
M chrome/browser/gpu_process_host.h View 1 chunk +1 line, -0 lines 0 comments Download
M chrome/browser/gpu_process_host.cc View 3 chunks +32 lines, -0 lines 1 comment Download
M chrome/browser/gpu_process_host_ui_shim.h View 4 chunks +13 lines, -1 line 0 comments Download
M chrome/browser/gpu_process_host_ui_shim.cc View 9 chunks +44 lines, -9 lines 0 comments Download
M chrome/common/gpu_messages_internal.h View 2 chunks +14 lines, -0 lines 2 comments Download
M chrome/common/render_messages_internal.h View 2 chunks +2 lines, -3 lines 0 comments Download
M chrome/gpu/gpu_channel.h View 5 chunks +14 lines, -8 lines 0 comments Download
M chrome/gpu/gpu_channel.cc View 5 chunks +26 lines, -10 lines 0 comments Download
M chrome/gpu/gpu_command_buffer_stub.h View 1 chunk +3 lines, -0 lines 0 comments Download
M chrome/gpu/gpu_command_buffer_stub.cc View 4 chunks +23 lines, -3 lines 0 comments Download
M chrome/gpu/gpu_video_service.cc View 1 chunk +1 line, -1 line 0 comments Download
M chrome/renderer/command_buffer_proxy.h View 1 chunk +2 lines, -0 lines 0 comments Download
M chrome/renderer/command_buffer_proxy.cc View 2 chunks +51 lines, -15 lines 1 comment Download
M chrome/renderer/gpu_channel_host.h View 2 chunks +3 lines, -1 line 0 comments Download
M chrome/renderer/gpu_channel_host.cc View 2 chunks +7 lines, -1 line 1 comment Download
M chrome/renderer/mock_render_thread.h View 1 chunk +0 lines, -2 lines 0 comments Download
M chrome/renderer/mock_render_thread.cc View 3 chunks +0 lines, -4 lines 0 comments Download
M chrome/renderer/render_thread.h View 1 chunk +1 line, -0 lines 0 comments Download
M chrome/renderer/render_thread.cc View 1 chunk +4 lines, -2 lines 0 comments Download
M content/browser/renderer_host/gpu_message_filter.cc View 4 chunks +33 lines, -5 lines 1 comment Download
M content/browser/renderer_host/render_message_filter.h View 1 chunk +0 lines, -2 lines 0 comments Download
M content/browser/renderer_host/render_message_filter.cc View 3 chunks +1 line, -5 lines 0 comments Download
M gpu/command_buffer/client/gles2_implementation_unittest.cc View 1 chunk +6 lines, -0 lines 0 comments Download
M gpu/command_buffer/common/command_buffer.h View 1 chunk +6 lines, -0 lines 0 comments Download
M gpu/command_buffer/common/command_buffer_mock.h View 2 chunks +6 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/command_buffer_service.h View 2 chunks +3 lines, -1 line 0 comments Download
M gpu/command_buffer/service/command_buffer_service.cc View 6 chunks +36 lines, -15 lines 0 comments Download
M gpu/pgl/command_buffer_pepper.h View 1 chunk +2 lines, -0 lines 0 comments Download
M gpu/pgl/command_buffer_pepper.cc View 1 chunk +8 lines, -0 lines 0 comments Download
M ppapi/proxy/ppb_context_3d_proxy.cc View 2 chunks +11 lines, -0 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
apatrick_chromium
9 years, 10 months ago (2011-02-24 02:23:15 UTC) #1
Ken Russell (switch to Gerrit)
LGTM with a few comment issues addressed. http://codereview.chromium.org/6557006/diff/9002/chrome/browser/gpu_process_host.cc File chrome/browser/gpu_process_host.cc (right): http://codereview.chromium.org/6557006/diff/9002/chrome/browser/gpu_process_host.cc#newcode181 chrome/browser/gpu_process_host.cc:181: // Send ...
9 years, 10 months ago (2011-02-24 19:48:47 UTC) #2
piman
9 years, 10 months ago (2011-02-25 04:13:48 UTC) #3
http://codereview.chromium.org/6557006/diff/9002/chrome/renderer/command_buff...
File chrome/renderer/command_buffer_proxy.cc (right):

http://codereview.chromium.org/6557006/diff/9002/chrome/renderer/command_buff...
chrome/renderer/command_buffer_proxy.cc:145: base::SharedMemory
shared_memory(handle, false);
This is wrong on posix.
When sending the handle (base::FileDescriptor), it will always be destroyed
whether Send succeeds or not.
The side effect of this is that the fd gets closed twice - once when this goes
out of scope, and once again when the message is sent on the IPC thread. The
second close may close another arbitrary fd that got open in the mean time with
the same number.

Powered by Google App Engine
This is Rietveld 408576698