Commit 391770e1 authored by piman@chromium.org's avatar piman@chromium.org

aura: fix fullscreen pepper flash

2 parts:
- not all RenderWidgetHosts are RenderViewHosts
- correctly set window/viewport size regardless of order of RenderWidgetFullscreenPepper::OnResize vs RenderWidgetFullscreenPepper::CreateContext

BUG=101848
TEST=Pepper Flash on Youtube, go fullscreen


Review URL: http://codereview.chromium.org/8758017

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@112503 0039d316-1c4b-4281-b951-d872f2087c98
parent 534e326a
......@@ -81,6 +81,18 @@ class ScopedSendOnIOThread {
bool cancelled_;
};
RenderWidgetHostView* GetRenderWidgetHostViewFromID(int render_process_id,
int render_widget_id) {
content::RenderProcessHost* process =
content::RenderProcessHost::FromID(render_process_id);
if (!process)
return NULL;
RenderWidgetHost* host = static_cast<RenderWidgetHost*>(
process->GetListenerByID(render_widget_id));
return host ? host->view() : NULL;
}
} // namespace
RouteToGpuProcessHostUIShimTask::RouteToGpuProcessHostUIShimTask(
......@@ -230,11 +242,8 @@ void GpuProcessHostUIShim::OnResizeView(int32 renderer_id,
host_id_,
new AcceleratedSurfaceMsg_ResizeViewACK(route_id));
RenderViewHost* host = RenderViewHost::FromID(renderer_id, render_view_id);
if (!host)
return;
RenderWidgetHostView* view = host->view();
RenderWidgetHostView* view = GetRenderWidgetHostViewFromID(renderer_id,
render_view_id);
if (!view)
return;
......@@ -277,12 +286,8 @@ void GpuProcessHostUIShim::OnAcceleratedSurfaceNew(
params.surface_id,
TransportDIB::DefaultHandleValue()));
RenderViewHost* host = RenderViewHost::FromID(params.renderer_id,
params.render_view_id);
if (!host)
return;
RenderWidgetHostView* view = host->view();
RenderWidgetHostView* view = GetRenderWidgetHostViewFromID(
params.renderer_id, params.render_view_id);
if (!view)
return;
......@@ -336,12 +341,8 @@ void GpuProcessHostUIShim::OnAcceleratedSurfaceBuffersSwapped(
host_id_,
new AcceleratedSurfaceMsg_BuffersSwappedACK(params.route_id));
RenderViewHost* host = RenderViewHost::FromID(params.renderer_id,
params.render_view_id);
if (!host)
return;
RenderWidgetHostView* view = host->view();
RenderWidgetHostView* view = GetRenderWidgetHostViewFromID(
params.renderer_id, params.render_view_id);
if (!view)
return;
......@@ -360,12 +361,8 @@ void GpuProcessHostUIShim::OnAcceleratedSurfacePostSubBuffer(
host_id_,
new AcceleratedSurfaceMsg_PostSubBufferACK(params.route_id));
RenderViewHost* host = RenderViewHost::FromID(params.renderer_id,
params.render_view_id);
if (!host)
return;
RenderWidgetHostView* view = host->view();
RenderWidgetHostView* view = GetRenderWidgetHostViewFromID(
params.renderer_id, params.render_view_id);
if (!view)
return;
......@@ -379,11 +376,8 @@ void GpuProcessHostUIShim::OnAcceleratedSurfacePostSubBuffer(
void GpuProcessHostUIShim::OnAcceleratedSurfaceRelease(
const GpuHostMsg_AcceleratedSurfaceRelease_Params& params) {
RenderViewHost* host = RenderViewHost::FromID(params.renderer_id,
params.render_view_id);
if (!host)
return;
RenderWidgetHostView* view = host->view();
RenderWidgetHostView* view = GetRenderWidgetHostViewFromID(
params.renderer_id, params.render_view_id);
if (!view)
return;
view->AcceleratedSurfaceRelease(params.identifier);
......
......@@ -424,6 +424,9 @@ const float kTexCoords[] = {
bool RenderWidgetFullscreenPepper::InitContext() {
gpu::gles2::GLES2Implementation* gl = context_->GetImplementation();
gl->ResizeCHROMIUM(size().width(), size().height());
gl->Viewport(0, 0, size().width(), size().height());
program_ = gl->CreateProgram();
GLuint vertex_shader =
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment