| 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 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 119 ASSERT_TRUE(view_->IsShowing()); | 119 ASSERT_TRUE(view_->IsShowing()); |
| 120 | 120 |
| 121 view_->Hide(); | 121 view_->Hide(); |
| 122 ASSERT_FALSE(view_->IsShowing()); | 122 ASSERT_FALSE(view_->IsShowing()); |
| 123 } | 123 } |
| 124 | 124 |
| 125 class TestBrowserPluginGuest : public BrowserPluginGuest { | 125 class TestBrowserPluginGuest : public BrowserPluginGuest { |
| 126 public: | 126 public: |
| 127 TestBrowserPluginGuest(WebContentsImpl* web_contents, | 127 TestBrowserPluginGuest(WebContentsImpl* web_contents, |
| 128 BrowserPluginGuestDelegate* delegate) | 128 BrowserPluginGuestDelegate* delegate) |
| 129 : BrowserPluginGuest(web_contents->HasOpener(), web_contents, delegate), | 129 : BrowserPluginGuest(web_contents->HasOpener(), web_contents, delegate) {} |
| 130 last_scale_factor_received_(0.f) {} | 130 |
| 131 ~TestBrowserPluginGuest() override {} | 131 ~TestBrowserPluginGuest() override {} |
| 132 | 132 |
| 133 void ResetTestData() { | 133 void ResetTestData() { last_surface_info_ = cc::SurfaceInfo(); } |
| 134 last_surface_id_received_ = cc::SurfaceId(); | |
| 135 last_frame_size_received_ = gfx::Size(); | |
| 136 last_scale_factor_received_ = 0.f; | |
| 137 } | |
| 138 | 134 |
| 139 void set_has_attached_since_surface_set(bool has_attached_since_surface_set) { | 135 void set_has_attached_since_surface_set(bool has_attached_since_surface_set) { |
| 140 BrowserPluginGuest::set_has_attached_since_surface_set_for_test( | 136 BrowserPluginGuest::set_has_attached_since_surface_set_for_test( |
| 141 has_attached_since_surface_set); | 137 has_attached_since_surface_set); |
| 142 } | 138 } |
| 143 | 139 |
| 144 void set_attached(bool attached) { | 140 void set_attached(bool attached) { |
| 145 BrowserPluginGuest::set_attached_for_test(attached); | 141 BrowserPluginGuest::set_attached_for_test(attached); |
| 146 } | 142 } |
| 147 | 143 |
| 148 void SetChildFrameSurface(const cc::SurfaceId& surface_id, | 144 void SetChildFrameSurface(const cc::SurfaceInfo& surface_info, |
| 149 const gfx::Size& frame_size, | |
| 150 float scale_factor, | |
| 151 const cc::SurfaceSequence& sequence) override { | 145 const cc::SurfaceSequence& sequence) override { |
| 152 last_surface_id_received_ = surface_id; | 146 last_surface_info_ = surface_info; |
| 153 last_frame_size_received_ = frame_size; | |
| 154 last_scale_factor_received_ = scale_factor; | |
| 155 } | 147 } |
| 156 | 148 |
| 157 cc::SurfaceId last_surface_id_received_; | 149 cc::SurfaceInfo last_surface_info_; |
| 158 gfx::Size last_frame_size_received_; | |
| 159 float last_scale_factor_received_; | |
| 160 }; | 150 }; |
| 161 | 151 |
| 162 // TODO(wjmaclean): we should restructure RenderWidgetHostViewChildFrameTest to | 152 // TODO(wjmaclean): we should restructure RenderWidgetHostViewChildFrameTest to |
| 163 // look more like this one, and then this one could be derived from it. Also, | 153 // look more like this one, and then this one could be derived from it. Also, |
| 164 // include CreateDelegatedFrame as part of the test class so we don't have to | 154 // include CreateDelegatedFrame as part of the test class so we don't have to |
| 165 // repeat it here. | 155 // repeat it here. |
| 166 class RenderWidgetHostViewGuestSurfaceTest | 156 class RenderWidgetHostViewGuestSurfaceTest |
| 167 : public testing::Test { | 157 : public testing::Test { |
| 168 public: | 158 public: |
| 169 RenderWidgetHostViewGuestSurfaceTest() | 159 RenderWidgetHostViewGuestSurfaceTest() |
| (...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 277 ImageTransportFactory* factory = ImageTransportFactory::GetInstance(); | 267 ImageTransportFactory* factory = ImageTransportFactory::GetInstance(); |
| 278 cc::SurfaceManager* manager = | 268 cc::SurfaceManager* manager = |
| 279 factory->GetContextFactoryPrivate()->GetSurfaceManager(); | 269 factory->GetContextFactoryPrivate()->GetSurfaceManager(); |
| 280 cc::Surface* surface = manager->GetSurfaceForId(id); | 270 cc::Surface* surface = manager->GetSurfaceForId(id); |
| 281 EXPECT_TRUE(surface); | 271 EXPECT_TRUE(surface); |
| 282 // There should be a SurfaceSequence created by the RWHVGuest. | 272 // There should be a SurfaceSequence created by the RWHVGuest. |
| 283 EXPECT_EQ(1u, surface->GetDestructionDependencyCount()); | 273 EXPECT_EQ(1u, surface->GetDestructionDependencyCount()); |
| 284 #endif | 274 #endif |
| 285 // Surface ID should have been passed to BrowserPluginGuest to | 275 // Surface ID should have been passed to BrowserPluginGuest to |
| 286 // be sent to the embedding renderer. | 276 // be sent to the embedding renderer. |
| 287 EXPECT_EQ(id, browser_plugin_guest_->last_surface_id_received_); | 277 EXPECT_EQ(cc::SurfaceInfo(id, scale_factor, view_size), |
| 288 EXPECT_EQ(view_size, browser_plugin_guest_->last_frame_size_received_); | 278 browser_plugin_guest_->last_surface_info_); |
| 289 EXPECT_EQ(scale_factor, browser_plugin_guest_->last_scale_factor_received_); | |
| 290 } | 279 } |
| 291 | 280 |
| 292 browser_plugin_guest_->ResetTestData(); | 281 browser_plugin_guest_->ResetTestData(); |
| 293 browser_plugin_guest_->set_has_attached_since_surface_set(true); | 282 browser_plugin_guest_->set_has_attached_since_surface_set(true); |
| 294 | 283 |
| 295 view_->OnSwapCompositorFrame( | 284 view_->OnSwapCompositorFrame( |
| 296 0, CreateDelegatedFrame(scale_factor, view_size, view_rect)); | 285 0, CreateDelegatedFrame(scale_factor, view_size, view_rect)); |
| 297 | 286 |
| 298 id = GetSurfaceId(); | 287 id = GetSurfaceId(); |
| 299 if (id.is_valid()) { | 288 if (id.is_valid()) { |
| 300 #if !defined(OS_ANDROID) | 289 #if !defined(OS_ANDROID) |
| 301 ImageTransportFactory* factory = ImageTransportFactory::GetInstance(); | 290 ImageTransportFactory* factory = ImageTransportFactory::GetInstance(); |
| 302 cc::SurfaceManager* manager = | 291 cc::SurfaceManager* manager = |
| 303 factory->GetContextFactoryPrivate()->GetSurfaceManager(); | 292 factory->GetContextFactoryPrivate()->GetSurfaceManager(); |
| 304 cc::Surface* surface = manager->GetSurfaceForId(id); | 293 cc::Surface* surface = manager->GetSurfaceForId(id); |
| 305 EXPECT_TRUE(surface); | 294 EXPECT_TRUE(surface); |
| 306 // There should be a SurfaceSequence created by the RWHVGuest. | 295 // There should be a SurfaceSequence created by the RWHVGuest. |
| 307 EXPECT_EQ(1u, surface->GetDestructionDependencyCount()); | 296 EXPECT_EQ(1u, surface->GetDestructionDependencyCount()); |
| 308 #endif | 297 #endif |
| 309 // Surface ID should have been passed to BrowserPluginGuest to | 298 // Surface ID should have been passed to BrowserPluginGuest to |
| 310 // be sent to the embedding renderer. | 299 // be sent to the embedding renderer. |
| 311 EXPECT_EQ(id, browser_plugin_guest_->last_surface_id_received_); | 300 EXPECT_EQ(cc::SurfaceInfo(id, scale_factor, view_size), |
| 312 EXPECT_EQ(view_size, browser_plugin_guest_->last_frame_size_received_); | 301 browser_plugin_guest_->last_surface_info_); |
| 313 EXPECT_EQ(scale_factor, | |
| 314 browser_plugin_guest_->last_scale_factor_received_); | |
| 315 } | 302 } |
| 316 | 303 |
| 317 browser_plugin_guest_->set_attached(false); | 304 browser_plugin_guest_->set_attached(false); |
| 318 browser_plugin_guest_->ResetTestData(); | 305 browser_plugin_guest_->ResetTestData(); |
| 319 | 306 |
| 320 view_->OnSwapCompositorFrame( | 307 view_->OnSwapCompositorFrame( |
| 321 0, CreateDelegatedFrame(scale_factor, view_size, view_rect)); | 308 0, CreateDelegatedFrame(scale_factor, view_size, view_rect)); |
| 322 EXPECT_FALSE(GetSurfaceId().is_valid()); | 309 EXPECT_FALSE(GetSurfaceId().is_valid()); |
| 323 } | 310 } |
| 324 | 311 |
| 325 } // namespace content | 312 } // namespace content |
| OLD | NEW |