| 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 #include <utility> |
| 9 | 9 |
| 10 #include "base/macros.h" | 10 #include "base/macros.h" |
| (...skipping 11 matching lines...) Expand all Loading... |
| 22 #include "content/browser/renderer_host/render_widget_host_delegate.h" | 22 #include "content/browser/renderer_host/render_widget_host_delegate.h" |
| 23 #include "content/browser/renderer_host/render_widget_host_impl.h" | 23 #include "content/browser/renderer_host/render_widget_host_impl.h" |
| 24 #include "content/common/view_messages.h" | 24 #include "content/common/view_messages.h" |
| 25 #include "content/public/browser/browser_plugin_guest_delegate.h" | 25 #include "content/public/browser/browser_plugin_guest_delegate.h" |
| 26 #include "content/public/browser/render_widget_host_view.h" | 26 #include "content/public/browser/render_widget_host_view.h" |
| 27 #include "content/public/test/mock_render_process_host.h" | 27 #include "content/public/test/mock_render_process_host.h" |
| 28 #include "content/public/test/test_browser_context.h" | 28 #include "content/public/test/test_browser_context.h" |
| 29 #include "content/test/test_render_view_host.h" | 29 #include "content/test/test_render_view_host.h" |
| 30 #include "content/test/test_web_contents.h" | 30 #include "content/test/test_web_contents.h" |
| 31 #include "testing/gtest/include/gtest/gtest.h" | 31 #include "testing/gtest/include/gtest/gtest.h" |
| 32 #include "ui/compositor/compositor.h" |
| 32 | 33 |
| 33 #if defined(OS_ANDROID) | 34 #if defined(OS_ANDROID) |
| 34 #include "content/browser/renderer_host/context_provider_factory_impl_android.h" | 35 #include "content/browser/renderer_host/context_provider_factory_impl_android.h" |
| 35 #include "content/test/mock_gpu_channel_establish_factory.h" | 36 #include "content/test/mock_gpu_channel_establish_factory.h" |
| 36 #endif | 37 #endif |
| 37 | 38 |
| 38 namespace content { | 39 namespace content { |
| 39 namespace { | 40 namespace { |
| 40 class MockRenderWidgetHostDelegate : public RenderWidgetHostDelegate { | 41 class MockRenderWidgetHostDelegate : public RenderWidgetHostDelegate { |
| 41 public: | 42 public: |
| (...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 268 view_->Show(); | 269 view_->Show(); |
| 269 | 270 |
| 270 browser_plugin_guest_->set_attached(true); | 271 browser_plugin_guest_->set_attached(true); |
| 271 view_->OnSwapCompositorFrame( | 272 view_->OnSwapCompositorFrame( |
| 272 0, CreateDelegatedFrame(scale_factor, view_size, view_rect)); | 273 0, CreateDelegatedFrame(scale_factor, view_size, view_rect)); |
| 273 | 274 |
| 274 cc::SurfaceId id = GetSurfaceId(); | 275 cc::SurfaceId id = GetSurfaceId(); |
| 275 if (id.is_valid()) { | 276 if (id.is_valid()) { |
| 276 #if !defined(OS_ANDROID) | 277 #if !defined(OS_ANDROID) |
| 277 ImageTransportFactory* factory = ImageTransportFactory::GetInstance(); | 278 ImageTransportFactory* factory = ImageTransportFactory::GetInstance(); |
| 278 cc::SurfaceManager* manager = factory->GetSurfaceManager(); | 279 cc::SurfaceManager* manager = |
| 280 factory->GetContextFactory()->GetSurfaceManager(); |
| 279 cc::Surface* surface = manager->GetSurfaceForId(id); | 281 cc::Surface* surface = manager->GetSurfaceForId(id); |
| 280 EXPECT_TRUE(surface); | 282 EXPECT_TRUE(surface); |
| 281 // There should be a SurfaceSequence created by the RWHVGuest. | 283 // There should be a SurfaceSequence created by the RWHVGuest. |
| 282 EXPECT_EQ(1u, surface->GetDestructionDependencyCount()); | 284 EXPECT_EQ(1u, surface->GetDestructionDependencyCount()); |
| 283 #endif | 285 #endif |
| 284 // Surface ID should have been passed to BrowserPluginGuest to | 286 // Surface ID should have been passed to BrowserPluginGuest to |
| 285 // be sent to the embedding renderer. | 287 // be sent to the embedding renderer. |
| 286 EXPECT_EQ(id, browser_plugin_guest_->last_surface_id_received_); | 288 EXPECT_EQ(id, browser_plugin_guest_->last_surface_id_received_); |
| 287 EXPECT_EQ(view_size, browser_plugin_guest_->last_frame_size_received_); | 289 EXPECT_EQ(view_size, browser_plugin_guest_->last_frame_size_received_); |
| 288 EXPECT_EQ(scale_factor, browser_plugin_guest_->last_scale_factor_received_); | 290 EXPECT_EQ(scale_factor, browser_plugin_guest_->last_scale_factor_received_); |
| 289 } | 291 } |
| 290 | 292 |
| 291 browser_plugin_guest_->ResetTestData(); | 293 browser_plugin_guest_->ResetTestData(); |
| 292 browser_plugin_guest_->set_has_attached_since_surface_set(true); | 294 browser_plugin_guest_->set_has_attached_since_surface_set(true); |
| 293 | 295 |
| 294 view_->OnSwapCompositorFrame( | 296 view_->OnSwapCompositorFrame( |
| 295 0, CreateDelegatedFrame(scale_factor, view_size, view_rect)); | 297 0, CreateDelegatedFrame(scale_factor, view_size, view_rect)); |
| 296 | 298 |
| 297 id = GetSurfaceId(); | 299 id = GetSurfaceId(); |
| 298 if (id.is_valid()) { | 300 if (id.is_valid()) { |
| 299 #if !defined(OS_ANDROID) | 301 #if !defined(OS_ANDROID) |
| 300 ImageTransportFactory* factory = ImageTransportFactory::GetInstance(); | 302 ImageTransportFactory* factory = ImageTransportFactory::GetInstance(); |
| 301 cc::SurfaceManager* manager = factory->GetSurfaceManager(); | 303 cc::SurfaceManager* manager = |
| 304 factory->GetContextFactory()->GetSurfaceManager(); |
| 302 cc::Surface* surface = manager->GetSurfaceForId(id); | 305 cc::Surface* surface = manager->GetSurfaceForId(id); |
| 303 EXPECT_TRUE(surface); | 306 EXPECT_TRUE(surface); |
| 304 // There should be a SurfaceSequence created by the RWHVGuest. | 307 // There should be a SurfaceSequence created by the RWHVGuest. |
| 305 EXPECT_EQ(1u, surface->GetDestructionDependencyCount()); | 308 EXPECT_EQ(1u, surface->GetDestructionDependencyCount()); |
| 306 #endif | 309 #endif |
| 307 // Surface ID should have been passed to BrowserPluginGuest to | 310 // Surface ID should have been passed to BrowserPluginGuest to |
| 308 // be sent to the embedding renderer. | 311 // be sent to the embedding renderer. |
| 309 EXPECT_EQ(id, browser_plugin_guest_->last_surface_id_received_); | 312 EXPECT_EQ(id, browser_plugin_guest_->last_surface_id_received_); |
| 310 EXPECT_EQ(view_size, browser_plugin_guest_->last_frame_size_received_); | 313 EXPECT_EQ(view_size, browser_plugin_guest_->last_frame_size_received_); |
| 311 EXPECT_EQ(scale_factor, | 314 EXPECT_EQ(scale_factor, |
| 312 browser_plugin_guest_->last_scale_factor_received_); | 315 browser_plugin_guest_->last_scale_factor_received_); |
| 313 } | 316 } |
| 314 | 317 |
| 315 browser_plugin_guest_->set_attached(false); | 318 browser_plugin_guest_->set_attached(false); |
| 316 browser_plugin_guest_->ResetTestData(); | 319 browser_plugin_guest_->ResetTestData(); |
| 317 | 320 |
| 318 view_->OnSwapCompositorFrame( | 321 view_->OnSwapCompositorFrame( |
| 319 0, CreateDelegatedFrame(scale_factor, view_size, view_rect)); | 322 0, CreateDelegatedFrame(scale_factor, view_size, view_rect)); |
| 320 EXPECT_FALSE(GetSurfaceId().is_valid()); | 323 EXPECT_FALSE(GetSurfaceId().is_valid()); |
| 321 } | 324 } |
| 322 | 325 |
| 323 } // namespace content | 326 } // namespace content |
| OLD | NEW |