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

Side by Side Diff: chrome/gpu/gpu_channel.cc

Issue 5607001: Removed kChromiumRendererIdProperty window property.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years 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
« no previous file with comments | « chrome/common/chrome_constants.cc ('k') | chrome/renderer/gpu_channel_host.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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/gpu/gpu_channel.h" 5 #include "chrome/gpu/gpu_channel.h"
6 6
7 #if defined(OS_WIN) 7 #if defined(OS_WIN)
8 #include <windows.h> 8 #include <windows.h>
9 #endif 9 #endif
10 10
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
112 int GpuChannel::GenerateRouteID() { 112 int GpuChannel::GenerateRouteID() {
113 static int last_id = 0; 113 static int last_id = 0;
114 return ++last_id; 114 return ++last_id;
115 } 115 }
116 116
117 void GpuChannel::OnCreateViewCommandBuffer( 117 void GpuChannel::OnCreateViewCommandBuffer(
118 gfx::NativeViewId view_id, 118 gfx::NativeViewId view_id,
119 int32 render_view_id, 119 int32 render_view_id,
120 const GPUCreateCommandBufferConfig& init_params, 120 const GPUCreateCommandBufferConfig& init_params,
121 int32* route_id) { 121 int32* route_id) {
122 *route_id = 0; 122 *route_id = MSG_ROUTING_NONE;
123 123
124 #if defined(ENABLE_GPU) 124 #if defined(ENABLE_GPU)
125 125
126 gfx::PluginWindowHandle handle = gfx::kNullPluginWindow; 126 gfx::PluginWindowHandle handle = gfx::kNullPluginWindow;
127 #if defined(OS_WIN) 127 #if defined(OS_WIN)
128 gfx::NativeView view = gfx::NativeViewFromId(view_id); 128 // TODO(apatrick): We don't actually need the window handle on the Windows
129 129 // platform. At this point, it only indicates to the GpuCommandBufferStub
130 // Check that the calling renderer is allowed to render to this window. 130 // whether onscreen or offscreen rendering is requested. The window handle
131 // TODO(apatrick): consider killing the renderer process rather than failing. 131 // that will be rendered to is the child compositor window and that window
132 int view_renderer_id = reinterpret_cast<int>( 132 // handle is provided by the browser process. Looking at what we are doing on
133 GetProp(view, chrome::kChromiumRendererIdProperty)); 133 // this and other platforms, I think a redesign is in order here. Perhaps
134 if (view_renderer_id != renderer_id_) 134 // on all platforms the renderer just indicates whether it wants onscreen or
135 return; 135 // offscreen rendering and the browser provides whichever platform specific
136 136 // "render target" the GpuCommandBufferStub targets.
137 // Note, we don't actually render into the view HWND. Instead, inside 137 handle = gfx::NativeViewFromId(view_id);
138 // the GpuCommandBufferStub, we will create a child window within the view
139 // HWND into which we will render.
140 handle = view;
141 #elif defined(OS_LINUX) 138 #elif defined(OS_LINUX)
142 ChildThread* gpu_thread = ChildThread::current(); 139 ChildThread* gpu_thread = ChildThread::current();
143 // Ask the browser for the view's XID. 140 // Ask the browser for the view's XID.
144 // TODO(piman): This assumes that it doesn't change. It can change however 141 // TODO(piman): This assumes that it doesn't change. It can change however
145 // when tearing off tabs. This needs a fix in the browser UI code. A possible 142 // when tearing off tabs. This needs a fix in the browser UI code. A possible
146 // alternative would be to add a socket/plug pair like with plugins but that 143 // alternative would be to add a socket/plug pair like with plugins but that
147 // has issues with events and focus. 144 // has issues with events and focus.
148 gpu_thread->Send(new GpuHostMsg_GetViewXID(view_id, &handle)); 145 gpu_thread->Send(new GpuHostMsg_GetViewXID(view_id, &handle));
149 #elif defined(OS_MACOSX) 146 #elif defined(OS_MACOSX)
150 // On Mac OS X we currently pass a (fake) PluginWindowHandle for the 147 // On Mac OS X we currently pass a (fake) PluginWindowHandle for the
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
187 parent_stub, 184 parent_stub,
188 size, 185 size,
189 init_params.allowed_extensions, 186 init_params.allowed_extensions,
190 init_params.attribs, 187 init_params.attribs,
191 parent_texture_id, 188 parent_texture_id,
192 *route_id, 189 *route_id,
193 0, 0)); 190 0, 0));
194 router_.AddRoute(*route_id, stub.get()); 191 router_.AddRoute(*route_id, stub.get());
195 stubs_.AddWithID(stub.release(), *route_id); 192 stubs_.AddWithID(stub.release(), *route_id);
196 #else 193 #else
197 *route_id = 0; 194 *route_id = MSG_ROUTING_NONE;
198 #endif 195 #endif
199 } 196 }
200 197
201 void GpuChannel::OnDestroyCommandBuffer(int32 route_id) { 198 void GpuChannel::OnDestroyCommandBuffer(int32 route_id) {
202 #if defined(ENABLE_GPU) 199 #if defined(ENABLE_GPU)
203 router_.RemoveRoute(route_id); 200 router_.RemoveRoute(route_id);
204 stubs_.Remove(route_id); 201 stubs_.Remove(route_id);
205 #endif 202 #endif
206 } 203 }
207 204
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
258 channel_name, IPC::Channel::MODE_SERVER, this, NULL, 255 channel_name, IPC::Channel::MODE_SERVER, this, NULL,
259 ChildProcess::current()->io_message_loop(), false, 256 ChildProcess::current()->io_message_loop(), false,
260 ChildProcess::current()->GetShutDownEvent())); 257 ChildProcess::current()->GetShutDownEvent()));
261 258
262 return true; 259 return true;
263 } 260 }
264 261
265 std::string GpuChannel::GetChannelName() { 262 std::string GpuChannel::GetChannelName() {
266 return StringPrintf("%d.r%d", base::GetCurrentProcId(), renderer_id_); 263 return StringPrintf("%d.r%d", base::GetCurrentProcId(), renderer_id_);
267 } 264 }
OLDNEW
« no previous file with comments | « chrome/common/chrome_constants.cc ('k') | chrome/renderer/gpu_channel_host.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698