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

Unified Diff: content/browser/renderer_host/render_widget_host_view_aura_unittest.cc

Issue 2774373002: Use MojoCompositorFrameSink in RendererCompositorFrameSink (Closed)
Patch Set: Fixed mac Created 3 years, 8 months 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/renderer_host/render_widget_host_view_aura_unittest.cc
diff --git a/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc b/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc
index 2b7a0e2249900c9bf5050d69675c6a2b6191833b..19cc71c326f731ae222a596cbf617d24c84d7b41 100644
--- a/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc
+++ b/content/browser/renderer_host/render_widget_host_view_aura_unittest.cc
@@ -61,6 +61,7 @@
#include "content/public/common/context_menu_params.h"
#include "content/public/test/mock_render_process_host.h"
#include "content/public/test/test_browser_context.h"
+#include "content/test/fake_renderer_compositor_frame_sink.h"
#include "content/test/test_render_view_host.h"
#include "content/test/test_web_contents.h"
#include "ipc/ipc_message.h"
@@ -412,10 +413,25 @@ class FakeRenderWidgetHostViewAura : public RenderWidgetHostViewAura {
new FakeDelegatedFrameHostClientAura(this)) {
InstallDelegatedFrameHostClient(
this, base::WrapUnique(delegated_frame_host_client_));
+ CreateNewRendererCompositorFrameSink();
}
~FakeRenderWidgetHostViewAura() override {}
+ void CreateNewRendererCompositorFrameSink() {
+ cc::mojom::MojoCompositorFrameSinkPtr sink;
+ cc::mojom::MojoCompositorFrameSinkRequest sink_request =
+ mojo::MakeRequest(&sink);
+ cc::mojom::MojoCompositorFrameSinkClientPtr client;
+ cc::mojom::MojoCompositorFrameSinkClientRequest client_request =
+ mojo::MakeRequest(&client);
+ renderer_compositor_frame_sink_ =
+ base::MakeUnique<FakeRendererCompositorFrameSink>(
+ std::move(sink), std::move(client_request));
+ DidCreateNewRendererCompositorFrameSink(
+ renderer_compositor_frame_sink_.get());
+ }
+
void DisableResizeLock() {
delegated_frame_host_client_->DisableResizeLock();
}
@@ -477,6 +493,8 @@ class FakeRenderWidgetHostViewAura : public RenderWidgetHostViewAura {
gfx::Size last_frame_size_;
std::unique_ptr<cc::CopyOutputRequest> last_copy_request_;
FakeWindowEventDispatcher* dispatcher_;
+ std::unique_ptr<FakeRendererCompositorFrameSink>
+ renderer_compositor_frame_sink_;
private:
FakeDelegatedFrameHostClientAura* delegated_frame_host_client_;
@@ -2051,15 +2069,13 @@ TEST_F(RenderWidgetHostViewAuraTest, ReturnedResources) {
cc::ReturnedResource resource;
resource.id = 1;
resources.push_back(resource);
+ view_->renderer_compositor_frame_sink_->reset_did_receive_ack();
+ view_->renderer_compositor_frame_sink_->reset_last_reclaimed_resources();
view_->ReclaimResources(resources);
- EXPECT_EQ(1u, sink_->message_count());
- {
- const IPC::Message* msg = sink_->GetMessageAt(0);
- EXPECT_EQ(ViewMsg_ReclaimCompositorResources::ID, msg->type());
- ViewMsg_ReclaimCompositorResources::Param params;
- ViewMsg_ReclaimCompositorResources::Read(msg, &params);
- EXPECT_FALSE(std::get<1>(params)); // is_swap_ack
- }
+ EXPECT_FALSE(view_->renderer_compositor_frame_sink_->did_receive_ack());
+ EXPECT_FALSE(
+ view_->renderer_compositor_frame_sink_->last_reclaimed_resources()
+ .empty());
}
// This test verifies that when the compositor_frame_sink_id changes, the old
@@ -2091,7 +2107,7 @@ TEST_F(RenderWidgetHostViewAuraTest, TwoOutputSurfaces) {
EXPECT_EQ(0u, sink_->message_count());
// Signal that a new RendererCompositorFrameSink was created by the renderer.
- view_->DidCreateNewRendererCompositorFrameSink();
+ view_->CreateNewRendererCompositorFrameSink();
// Submit another frame. The resources for the previous frame belong to the
// old RendererCompositorFrameSink and should not be returned.
@@ -2100,17 +2116,11 @@ TEST_F(RenderWidgetHostViewAuraTest, TwoOutputSurfaces) {
EXPECT_EQ(0u, sink_->message_count());
// Report that the surface is drawn to trigger an ACK.
+ view_->renderer_compositor_frame_sink_->reset_did_receive_ack();
cc::Surface* surface = manager->GetSurfaceForId(view_->surface_id());
EXPECT_TRUE(surface);
surface->RunDrawCallbacks();
- EXPECT_EQ(1u, sink_->message_count());
- {
- const IPC::Message* msg = sink_->GetMessageAt(0);
- EXPECT_EQ(ViewMsg_ReclaimCompositorResources::ID, msg->type());
- ViewMsg_ReclaimCompositorResources::Param params;
- ViewMsg_ReclaimCompositorResources::Read(msg, &params);
- EXPECT_EQ(true, std::get<1>(params)); // is_swap_ack
- }
+ EXPECT_TRUE(view_->renderer_compositor_frame_sink_->did_receive_ack());
manager->RemoveObserver(&manager_observer);
}
@@ -2343,28 +2353,27 @@ TEST_F(RenderWidgetHostViewAuraTest, Resize) {
// Receive a frame of the new size, should be skipped and not produce a Resize
// message.
+ view_->renderer_compositor_frame_sink_->reset_did_receive_ack();
view_->SubmitCompositorFrame(
kArbitraryLocalSurfaceId,
MakeDelegatedFrame(1.f, size3, gfx::Rect(size3)));
// Expect the frame ack;
- EXPECT_EQ(1u, sink_->message_count());
- EXPECT_EQ(ViewMsg_ReclaimCompositorResources::ID,
- sink_->GetMessageAt(0)->type());
- sink_->ClearMessages();
+ EXPECT_TRUE(view_->renderer_compositor_frame_sink_->did_receive_ack());
EXPECT_EQ(size2.ToString(), view_->GetRequestedRendererSize().ToString());
// Receive a frame of the correct size, should not be skipped and, and should
// produce a Resize message after the commit.
+ view_->renderer_compositor_frame_sink_->reset_did_receive_ack();
view_->SubmitCompositorFrame(
kArbitraryLocalSurfaceId,
MakeDelegatedFrame(1.f, size2, gfx::Rect(size2)));
cc::SurfaceId surface_id = view_->surface_id();
if (!surface_id.is_valid()) {
// No frame ack yet.
- EXPECT_EQ(0u, sink_->message_count());
+ EXPECT_FALSE(view_->renderer_compositor_frame_sink_->did_receive_ack());
} else {
// Frame isn't desired size, so early ack.
- EXPECT_EQ(1u, sink_->message_count());
+ EXPECT_TRUE(view_->renderer_compositor_frame_sink_->did_receive_ack());
}
EXPECT_EQ(size2.ToString(), view_->GetRequestedRendererSize().ToString());
@@ -2389,8 +2398,6 @@ TEST_F(RenderWidgetHostViewAuraTest, Resize) {
EXPECT_EQ(blink::WebInputEvent::MouseMove, event->type());
break;
}
- case ViewMsg_ReclaimCompositorResources::ID:
- break;
case ViewMsg_Resize::ID: {
EXPECT_FALSE(has_resize);
ViewMsg_Resize::Param params;
@@ -2630,7 +2637,7 @@ TEST_F(RenderWidgetHostViewAuraTest, OutputSurfaceIdChange) {
view_->RunOnCompositingDidCommit();
// Signal that a new RendererCompositorFrameSink was created.
- view_->DidCreateNewRendererCompositorFrameSink();
+ view_->CreateNewRendererCompositorFrameSink();
// Submit a frame from the new RendererCompositorFrameSink.
EXPECT_CALL(observer, OnDelegatedFrameDamage(view_->window_, view_rect));
@@ -2640,7 +2647,7 @@ TEST_F(RenderWidgetHostViewAuraTest, OutputSurfaceIdChange) {
view_->RunOnCompositingDidCommit();
// Signal that a new RendererCompositorFrameSink was created.
- view_->DidCreateNewRendererCompositorFrameSink();
+ view_->CreateNewRendererCompositorFrameSink();
// Submit a frame from the new RendererCompositorFrameSink.
view_->SubmitCompositorFrame(
@@ -2650,7 +2657,7 @@ TEST_F(RenderWidgetHostViewAuraTest, OutputSurfaceIdChange) {
view_->RunOnCompositingDidCommit();
// Signal that a new RendererCompositorFrameSink was created.
- view_->DidCreateNewRendererCompositorFrameSink();
+ view_->CreateNewRendererCompositorFrameSink();
// Swap another frame, with a different surface id.
EXPECT_CALL(observer, OnDelegatedFrameDamage(view_->window_, view_rect));

Powered by Google App Engine
This is Rietveld 408576698