OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/frame_host/render_widget_host_view_guest.h" | 5 #include "content/browser/frame_host/render_widget_host_view_guest.h" |
6 | 6 |
7 #include <stdint.h> | 7 #include <stdint.h> |
| 8 #include <utility> |
8 | 9 |
9 #include "base/macros.h" | 10 #include "base/macros.h" |
10 #include "base/message_loop/message_loop.h" | 11 #include "base/message_loop/message_loop.h" |
11 #include "base/run_loop.h" | 12 #include "base/run_loop.h" |
12 #include "build/build_config.h" | 13 #include "build/build_config.h" |
13 #include "cc/surfaces/surface.h" | 14 #include "cc/surfaces/surface.h" |
14 #include "cc/surfaces/surface_factory.h" | 15 #include "cc/surfaces/surface_factory.h" |
15 #include "cc/surfaces/surface_manager.h" | 16 #include "cc/surfaces/surface_manager.h" |
16 #include "cc/surfaces/surface_sequence.h" | 17 #include "cc/surfaces/surface_sequence.h" |
17 #include "content/browser/browser_plugin/browser_plugin_guest.h" | 18 #include "content/browser/browser_plugin/browser_plugin_guest.h" |
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
132 int host_routing_id, | 133 int host_routing_id, |
133 scoped_ptr<cc::CompositorFrame> frame) override { | 134 scoped_ptr<cc::CompositorFrame> frame) override { |
134 received_delegated_frame_ = true; | 135 received_delegated_frame_ = true; |
135 last_frame_size_received_ = | 136 last_frame_size_received_ = |
136 frame->delegated_frame_data->render_pass_list.back() | 137 frame->delegated_frame_data->render_pass_list.back() |
137 ->output_rect.size(); | 138 ->output_rect.size(); |
138 last_scale_factor_received_ = frame->metadata.device_scale_factor; | 139 last_scale_factor_received_ = frame->metadata.device_scale_factor; |
139 | 140 |
140 // Call base-class version so that we can test UpdateGuestSizeIfNecessary(). | 141 // Call base-class version so that we can test UpdateGuestSizeIfNecessary(). |
141 BrowserPluginGuest::SwapCompositorFrame(output_surface_id, host_process_id, | 142 BrowserPluginGuest::SwapCompositorFrame(output_surface_id, host_process_id, |
142 host_routing_id, frame.Pass()); | 143 host_routing_id, std::move(frame)); |
143 } | 144 } |
144 | 145 |
145 void SetChildFrameSurface(const cc::SurfaceId& surface_id, | 146 void SetChildFrameSurface(const cc::SurfaceId& surface_id, |
146 const gfx::Size& frame_size, | 147 const gfx::Size& frame_size, |
147 float scale_factor, | 148 float scale_factor, |
148 const cc::SurfaceSequence& sequence) override { | 149 const cc::SurfaceSequence& sequence) override { |
149 last_surface_id_received_ = surface_id; | 150 last_surface_id_received_ = surface_id; |
150 last_frame_size_received_ = frame_size; | 151 last_frame_size_received_ = frame_size; |
151 last_scale_factor_received_ = scale_factor; | 152 last_scale_factor_received_ = scale_factor; |
152 } | 153 } |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
232 scoped_ptr<cc::CompositorFrame> CreateDelegatedFrame(float scale_factor, | 233 scoped_ptr<cc::CompositorFrame> CreateDelegatedFrame(float scale_factor, |
233 gfx::Size size, | 234 gfx::Size size, |
234 const gfx::Rect& damage) { | 235 const gfx::Rect& damage) { |
235 scoped_ptr<cc::CompositorFrame> frame(new cc::CompositorFrame); | 236 scoped_ptr<cc::CompositorFrame> frame(new cc::CompositorFrame); |
236 frame->metadata.device_scale_factor = scale_factor; | 237 frame->metadata.device_scale_factor = scale_factor; |
237 frame->delegated_frame_data.reset(new cc::DelegatedFrameData); | 238 frame->delegated_frame_data.reset(new cc::DelegatedFrameData); |
238 | 239 |
239 scoped_ptr<cc::RenderPass> pass = cc::RenderPass::Create(); | 240 scoped_ptr<cc::RenderPass> pass = cc::RenderPass::Create(); |
240 pass->SetNew(cc::RenderPassId(1, 1), gfx::Rect(size), damage, | 241 pass->SetNew(cc::RenderPassId(1, 1), gfx::Rect(size), damage, |
241 gfx::Transform()); | 242 gfx::Transform()); |
242 frame->delegated_frame_data->render_pass_list.push_back(pass.Pass()); | 243 frame->delegated_frame_data->render_pass_list.push_back(std::move(pass)); |
243 return frame; | 244 return frame; |
244 } | 245 } |
245 } // anonymous namespace | 246 } // anonymous namespace |
246 | 247 |
247 TEST_F(RenderWidgetHostViewGuestSurfaceTest, TestGuestSurface) { | 248 TEST_F(RenderWidgetHostViewGuestSurfaceTest, TestGuestSurface) { |
248 gfx::Size view_size(100, 100); | 249 gfx::Size view_size(100, 100); |
249 gfx::Rect view_rect(view_size); | 250 gfx::Rect view_rect(view_size); |
250 float scale_factor = 1.f; | 251 float scale_factor = 1.f; |
251 | 252 |
252 ASSERT_TRUE(browser_plugin_guest_); | 253 ASSERT_TRUE(browser_plugin_guest_); |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
315 browser_plugin_guest_->set_attached(false); | 316 browser_plugin_guest_->set_attached(false); |
316 browser_plugin_guest_->ResetTestData(); | 317 browser_plugin_guest_->ResetTestData(); |
317 | 318 |
318 view_->OnSwapCompositorFrame( | 319 view_->OnSwapCompositorFrame( |
319 0, CreateDelegatedFrame(scale_factor, view_size, view_rect)); | 320 0, CreateDelegatedFrame(scale_factor, view_size, view_rect)); |
320 if (UseSurfacesEnabled()) | 321 if (UseSurfacesEnabled()) |
321 EXPECT_TRUE(surface_id().is_null()); | 322 EXPECT_TRUE(surface_id().is_null()); |
322 } | 323 } |
323 | 324 |
324 } // namespace content | 325 } // namespace content |
OLD | NEW |