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

Side by Side Diff: content/browser/renderer_host/render_widget_host_view_aura_unittest.cc

Issue 2774373002: Use MojoCompositorFrameSink in RendererCompositorFrameSink (Closed)
Patch Set: Rebased, dedup IPC 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/renderer_host/render_widget_host_view_aura.h" 5 #include "content/browser/renderer_host/render_widget_host_view_aura.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <tuple> 10 #include <tuple>
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
54 #include "content/common/input_messages.h" 54 #include "content/common/input_messages.h"
55 #include "content/common/text_input_state.h" 55 #include "content/common/text_input_state.h"
56 #include "content/common/view_messages.h" 56 #include "content/common/view_messages.h"
57 #include "content/public/browser/keyboard_event_processing_result.h" 57 #include "content/public/browser/keyboard_event_processing_result.h"
58 #include "content/public/browser/render_widget_host_view.h" 58 #include "content/public/browser/render_widget_host_view.h"
59 #include "content/public/browser/web_contents_view_delegate.h" 59 #include "content/public/browser/web_contents_view_delegate.h"
60 #include "content/public/common/content_features.h" 60 #include "content/public/common/content_features.h"
61 #include "content/public/common/context_menu_params.h" 61 #include "content/public/common/context_menu_params.h"
62 #include "content/public/test/mock_render_process_host.h" 62 #include "content/public/test/mock_render_process_host.h"
63 #include "content/public/test/test_browser_context.h" 63 #include "content/public/test/test_browser_context.h"
64 #include "content/test/fake_renderer_compositor_frame_sink.h"
64 #include "content/test/test_render_view_host.h" 65 #include "content/test/test_render_view_host.h"
65 #include "content/test/test_web_contents.h" 66 #include "content/test/test_web_contents.h"
66 #include "ipc/ipc_message.h" 67 #include "ipc/ipc_message.h"
67 #include "ipc/ipc_test_sink.h" 68 #include "ipc/ipc_test_sink.h"
68 #include "media/base/video_frame.h" 69 #include "media/base/video_frame.h"
69 #include "testing/gmock/include/gmock/gmock.h" 70 #include "testing/gmock/include/gmock/gmock.h"
70 #include "testing/gtest/include/gtest/gtest.h" 71 #include "testing/gtest/include/gtest/gtest.h"
71 #include "ui/aura/client/aura_constants.h" 72 #include "ui/aura/client/aura_constants.h"
72 #include "ui/aura/client/screen_position_client.h" 73 #include "ui/aura/client/screen_position_client.h"
73 #include "ui/aura/client/window_parenting_client.h" 74 #include "ui/aura/client/window_parenting_client.h"
(...skipping 331 matching lines...) Expand 10 before | Expand all | Expand 10 after
405 406
406 class FakeRenderWidgetHostViewAura : public RenderWidgetHostViewAura { 407 class FakeRenderWidgetHostViewAura : public RenderWidgetHostViewAura {
407 public: 408 public:
408 FakeRenderWidgetHostViewAura(RenderWidgetHost* widget, 409 FakeRenderWidgetHostViewAura(RenderWidgetHost* widget,
409 bool is_guest_view_hack) 410 bool is_guest_view_hack)
410 : RenderWidgetHostViewAura(widget, is_guest_view_hack), 411 : RenderWidgetHostViewAura(widget, is_guest_view_hack),
411 delegated_frame_host_client_( 412 delegated_frame_host_client_(
412 new FakeDelegatedFrameHostClientAura(this)) { 413 new FakeDelegatedFrameHostClientAura(this)) {
413 InstallDelegatedFrameHostClient( 414 InstallDelegatedFrameHostClient(
414 this, base::WrapUnique(delegated_frame_host_client_)); 415 this, base::WrapUnique(delegated_frame_host_client_));
416 CreateNewRendererCompositorFrameSink();
415 } 417 }
416 418
417 ~FakeRenderWidgetHostViewAura() override {} 419 ~FakeRenderWidgetHostViewAura() override {}
418 420
421 void CreateNewRendererCompositorFrameSink() {
422 cc::mojom::MojoCompositorFrameSinkPtr sink;
423 cc::mojom::MojoCompositorFrameSinkRequest sink_request =
424 mojo::MakeRequest(&sink);
425 cc::mojom::MojoCompositorFrameSinkClientRequest client_request =
426 mojo::MakeRequest(&renderer_compositor_frame_sink_ptr_);
427 renderer_compositor_frame_sink_ =
428 base::MakeUnique<FakeRendererCompositorFrameSink>(
429 std::move(sink), std::move(client_request));
430 DidCreateNewRendererCompositorFrameSink(
431 renderer_compositor_frame_sink_ptr_.get());
432 }
433
419 void DisableResizeLock() { 434 void DisableResizeLock() {
420 delegated_frame_host_client_->DisableResizeLock(); 435 delegated_frame_host_client_->DisableResizeLock();
421 } 436 }
422 437
423 void UseFakeDispatcher() { 438 void UseFakeDispatcher() {
424 dispatcher_ = new FakeWindowEventDispatcher(window()->GetHost()); 439 dispatcher_ = new FakeWindowEventDispatcher(window()->GetHost());
425 std::unique_ptr<aura::WindowEventDispatcher> dispatcher(dispatcher_); 440 std::unique_ptr<aura::WindowEventDispatcher> dispatcher(dispatcher_);
426 aura::test::SetHostDispatcher(window()->GetHost(), std::move(dispatcher)); 441 aura::test::SetHostDispatcher(window()->GetHost(), std::move(dispatcher));
427 } 442 }
428 443
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
470 bool resize_locked() const { 485 bool resize_locked() const {
471 return delegated_frame_host_client_->resize_locked(); 486 return delegated_frame_host_client_->resize_locked();
472 } 487 }
473 bool compositor_locked() const { 488 bool compositor_locked() const {
474 return delegated_frame_host_client_->compositor_locked(); 489 return delegated_frame_host_client_->compositor_locked();
475 } 490 }
476 491
477 gfx::Size last_frame_size_; 492 gfx::Size last_frame_size_;
478 std::unique_ptr<cc::CopyOutputRequest> last_copy_request_; 493 std::unique_ptr<cc::CopyOutputRequest> last_copy_request_;
479 FakeWindowEventDispatcher* dispatcher_; 494 FakeWindowEventDispatcher* dispatcher_;
495 std::unique_ptr<FakeRendererCompositorFrameSink>
496 renderer_compositor_frame_sink_;
480 497
481 private: 498 private:
482 FakeDelegatedFrameHostClientAura* delegated_frame_host_client_; 499 FakeDelegatedFrameHostClientAura* delegated_frame_host_client_;
500 cc::mojom::MojoCompositorFrameSinkClientPtr
501 renderer_compositor_frame_sink_ptr_;
483 502
484 DISALLOW_COPY_AND_ASSIGN(FakeRenderWidgetHostViewAura); 503 DISALLOW_COPY_AND_ASSIGN(FakeRenderWidgetHostViewAura);
485 }; 504 };
486 505
487 // A layout manager that always resizes a child to the root window size. 506 // A layout manager that always resizes a child to the root window size.
488 class FullscreenLayoutManager : public aura::LayoutManager { 507 class FullscreenLayoutManager : public aura::LayoutManager {
489 public: 508 public:
490 explicit FullscreenLayoutManager(aura::Window* owner) : owner_(owner) {} 509 explicit FullscreenLayoutManager(aura::Window* owner) : owner_(owner) {}
491 ~FullscreenLayoutManager() override {} 510 ~FullscreenLayoutManager() override {}
492 511
(...skipping 1544 matching lines...) Expand 10 before | Expand all | Expand 10 after
2037 gfx::Rect()); 2056 gfx::Rect());
2038 view_->SetSize(view_size); 2057 view_->SetSize(view_size);
2039 view_->Show(); 2058 view_->Show();
2040 sink_->ClearMessages(); 2059 sink_->ClearMessages();
2041 2060
2042 // Accumulate some returned resources. This should trigger an IPC. 2061 // Accumulate some returned resources. This should trigger an IPC.
2043 cc::ReturnedResourceArray resources; 2062 cc::ReturnedResourceArray resources;
2044 cc::ReturnedResource resource; 2063 cc::ReturnedResource resource;
2045 resource.id = 1; 2064 resource.id = 1;
2046 resources.push_back(resource); 2065 resources.push_back(resource);
2066 view_->renderer_compositor_frame_sink_->Reset();
2047 view_->ReclaimResources(resources); 2067 view_->ReclaimResources(resources);
2048 EXPECT_EQ(1u, sink_->message_count()); 2068 view_->renderer_compositor_frame_sink_->Flush();
2049 { 2069 EXPECT_FALSE(view_->renderer_compositor_frame_sink_->did_receive_ack());
2050 const IPC::Message* msg = sink_->GetMessageAt(0); 2070 EXPECT_FALSE(
2051 EXPECT_EQ(ViewMsg_ReclaimCompositorResources::ID, msg->type()); 2071 view_->renderer_compositor_frame_sink_->last_reclaimed_resources()
2052 ViewMsg_ReclaimCompositorResources::Param params; 2072 .empty());
2053 ViewMsg_ReclaimCompositorResources::Read(msg, &params);
2054 EXPECT_FALSE(std::get<1>(params)); // is_swap_ack
2055 }
2056 } 2073 }
2057 2074
2058 // This test verifies that when the compositor_frame_sink_id changes, the old 2075 // This test verifies that when the compositor_frame_sink_id changes, the old
2059 // resources are not returned. 2076 // resources are not returned.
2060 TEST_F(RenderWidgetHostViewAuraTest, TwoOutputSurfaces) { 2077 TEST_F(RenderWidgetHostViewAuraTest, TwoOutputSurfaces) {
2061 FakeSurfaceObserver manager_observer; 2078 FakeSurfaceObserver manager_observer;
2062 ImageTransportFactory* factory = ImageTransportFactory::GetInstance(); 2079 ImageTransportFactory* factory = ImageTransportFactory::GetInstance();
2063 cc::SurfaceManager* manager = 2080 cc::SurfaceManager* manager =
2064 factory->GetContextFactoryPrivate()->GetSurfaceManager(); 2081 factory->GetContextFactoryPrivate()->GetSurfaceManager();
2065 manager->AddObserver(&manager_observer); 2082 manager->AddObserver(&manager_observer);
(...skipping 11 matching lines...) Expand all
2077 2094
2078 // Submit a frame with resources. 2095 // Submit a frame with resources.
2079 cc::CompositorFrame frame = MakeDelegatedFrame(1.f, view_size, view_rect); 2096 cc::CompositorFrame frame = MakeDelegatedFrame(1.f, view_size, view_rect);
2080 cc::TransferableResource resource; 2097 cc::TransferableResource resource;
2081 resource.id = 1; 2098 resource.id = 1;
2082 frame.resource_list.push_back(resource); 2099 frame.resource_list.push_back(resource);
2083 view_->SubmitCompositorFrame(kArbitraryLocalSurfaceId, std::move(frame)); 2100 view_->SubmitCompositorFrame(kArbitraryLocalSurfaceId, std::move(frame));
2084 EXPECT_EQ(0u, sink_->message_count()); 2101 EXPECT_EQ(0u, sink_->message_count());
2085 2102
2086 // Signal that a new RendererCompositorFrameSink was created by the renderer. 2103 // Signal that a new RendererCompositorFrameSink was created by the renderer.
2087 view_->DidCreateNewRendererCompositorFrameSink(); 2104 view_->CreateNewRendererCompositorFrameSink();
2088 2105
2089 // Submit another frame. The resources for the previous frame belong to the 2106 // Submit another frame. The resources for the previous frame belong to the
2090 // old RendererCompositorFrameSink and should not be returned. 2107 // old RendererCompositorFrameSink and should not be returned.
2091 view_->SubmitCompositorFrame(CreateLocalSurfaceId(), 2108 view_->SubmitCompositorFrame(CreateLocalSurfaceId(),
2092 MakeDelegatedFrame(1.f, view_size, view_rect)); 2109 MakeDelegatedFrame(1.f, view_size, view_rect));
2093 EXPECT_EQ(0u, sink_->message_count()); 2110 EXPECT_EQ(0u, sink_->message_count());
2094 2111
2095 // Report that the surface is drawn to trigger an ACK. 2112 // Report that the surface is drawn to trigger an ACK.
2113 view_->renderer_compositor_frame_sink_->Reset();
2096 cc::Surface* surface = manager->GetSurfaceForId(view_->surface_id()); 2114 cc::Surface* surface = manager->GetSurfaceForId(view_->surface_id());
2097 EXPECT_TRUE(surface); 2115 EXPECT_TRUE(surface);
2098 surface->RunDrawCallbacks(); 2116 surface->RunDrawCallbacks();
2099 EXPECT_EQ(1u, sink_->message_count()); 2117 view_->renderer_compositor_frame_sink_->Flush();
2100 { 2118 EXPECT_TRUE(view_->renderer_compositor_frame_sink_->did_receive_ack());
2101 const IPC::Message* msg = sink_->GetMessageAt(0);
2102 EXPECT_EQ(ViewMsg_ReclaimCompositorResources::ID, msg->type());
2103 ViewMsg_ReclaimCompositorResources::Param params;
2104 ViewMsg_ReclaimCompositorResources::Read(msg, &params);
2105 EXPECT_EQ(true, std::get<1>(params)); // is_swap_ack
2106 }
2107 2119
2108 manager->RemoveObserver(&manager_observer); 2120 manager->RemoveObserver(&manager_observer);
2109 } 2121 }
2110 2122
2111 // Resizing in fullscreen mode should send the up-to-date screen info. 2123 // Resizing in fullscreen mode should send the up-to-date screen info.
2112 // http://crbug.com/324350 2124 // http://crbug.com/324350
2113 TEST_F(RenderWidgetHostViewAuraTest, DISABLED_FullscreenResize) { 2125 TEST_F(RenderWidgetHostViewAuraTest, DISABLED_FullscreenResize) {
2114 aura::Window* root_window = aura_test_helper_->root_window(); 2126 aura::Window* root_window = aura_test_helper_->root_window();
2115 root_window->SetLayoutManager(new FullscreenLayoutManager(root_window)); 2127 root_window->SetLayoutManager(new FullscreenLayoutManager(root_window));
2116 view_->InitAsFullscreen(parent_view_); 2128 view_->InitAsFullscreen(parent_view_);
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after
2329 sink_->ClearMessages(); 2341 sink_->ClearMessages();
2330 2342
2331 // Resize renderer again, before receiving a frame. Should not produce a 2343 // Resize renderer again, before receiving a frame. Should not produce a
2332 // Resize message. 2344 // Resize message.
2333 view_->SetSize(size3); 2345 view_->SetSize(size3);
2334 EXPECT_EQ(size2.ToString(), view_->GetRequestedRendererSize().ToString()); 2346 EXPECT_EQ(size2.ToString(), view_->GetRequestedRendererSize().ToString());
2335 EXPECT_EQ(0u, sink_->message_count()); 2347 EXPECT_EQ(0u, sink_->message_count());
2336 2348
2337 // Receive a frame of the new size, should be skipped and not produce a Resize 2349 // Receive a frame of the new size, should be skipped and not produce a Resize
2338 // message. 2350 // message.
2351 view_->renderer_compositor_frame_sink_->Reset();
2339 view_->SubmitCompositorFrame( 2352 view_->SubmitCompositorFrame(
2340 kArbitraryLocalSurfaceId, 2353 kArbitraryLocalSurfaceId,
2341 MakeDelegatedFrame(1.f, size3, gfx::Rect(size3))); 2354 MakeDelegatedFrame(1.f, size3, gfx::Rect(size3)));
2355 view_->renderer_compositor_frame_sink_->Flush();
2342 // Expect the frame ack; 2356 // Expect the frame ack;
2343 EXPECT_EQ(1u, sink_->message_count()); 2357 EXPECT_TRUE(view_->renderer_compositor_frame_sink_->did_receive_ack());
2344 EXPECT_EQ(ViewMsg_ReclaimCompositorResources::ID,
2345 sink_->GetMessageAt(0)->type());
2346 sink_->ClearMessages();
2347 EXPECT_EQ(size2.ToString(), view_->GetRequestedRendererSize().ToString()); 2358 EXPECT_EQ(size2.ToString(), view_->GetRequestedRendererSize().ToString());
2348 2359
2349 // Receive a frame of the correct size, should not be skipped and, and should 2360 // Receive a frame of the correct size, should not be skipped and, and should
2350 // produce a Resize message after the commit. 2361 // produce a Resize message after the commit.
2362 view_->renderer_compositor_frame_sink_->Reset();
2351 view_->SubmitCompositorFrame( 2363 view_->SubmitCompositorFrame(
2352 kArbitraryLocalSurfaceId, 2364 kArbitraryLocalSurfaceId,
2353 MakeDelegatedFrame(1.f, size2, gfx::Rect(size2))); 2365 MakeDelegatedFrame(1.f, size2, gfx::Rect(size2)));
2366 view_->renderer_compositor_frame_sink_->Flush();
2354 cc::SurfaceId surface_id = view_->surface_id(); 2367 cc::SurfaceId surface_id = view_->surface_id();
2355 if (!surface_id.is_valid()) { 2368 if (!surface_id.is_valid()) {
2356 // No frame ack yet. 2369 // No frame ack yet.
2357 EXPECT_EQ(0u, sink_->message_count()); 2370 EXPECT_FALSE(view_->renderer_compositor_frame_sink_->did_receive_ack());
2358 } else { 2371 } else {
2359 // Frame isn't desired size, so early ack. 2372 // Frame isn't desired size, so early ack.
2360 EXPECT_EQ(1u, sink_->message_count()); 2373 EXPECT_TRUE(view_->renderer_compositor_frame_sink_->did_receive_ack());
2361 } 2374 }
2362 EXPECT_EQ(size2.ToString(), view_->GetRequestedRendererSize().ToString()); 2375 EXPECT_EQ(size2.ToString(), view_->GetRequestedRendererSize().ToString());
2363 2376
2364 // Wait for commit, then we should unlock the compositor and send a Resize 2377 // Wait for commit, then we should unlock the compositor and send a Resize
2365 // message (and a frame ack) 2378 // message (and a frame ack)
2366 ui::DrawWaiterForTest::WaitForCommit( 2379 ui::DrawWaiterForTest::WaitForCommit(
2367 root_window->GetHost()->compositor()); 2380 root_window->GetHost()->compositor());
2368 2381
2369 bool has_resize = false; 2382 bool has_resize = false;
2370 for (uint32_t i = 0; i < sink_->message_count(); ++i) { 2383 for (uint32_t i = 0; i < sink_->message_count(); ++i) {
2371 const IPC::Message* msg = sink_->GetMessageAt(i); 2384 const IPC::Message* msg = sink_->GetMessageAt(i);
2372 switch (msg->type()) { 2385 switch (msg->type()) {
2373 case InputMsg_HandleInputEvent::ID: { 2386 case InputMsg_HandleInputEvent::ID: {
2374 // On some platforms, the call to view_->Show() causes a posted task to 2387 // On some platforms, the call to view_->Show() causes a posted task to
2375 // call 2388 // call
2376 // ui::WindowEventDispatcher::SynthesizeMouseMoveAfterChangeToWindow, 2389 // ui::WindowEventDispatcher::SynthesizeMouseMoveAfterChangeToWindow,
2377 // which the above WaitForCommit may cause to be picked up. Be robust 2390 // which the above WaitForCommit may cause to be picked up. Be robust
2378 // to this extra IPC coming in. 2391 // to this extra IPC coming in.
2379 InputMsg_HandleInputEvent::Param params; 2392 InputMsg_HandleInputEvent::Param params;
2380 InputMsg_HandleInputEvent::Read(msg, &params); 2393 InputMsg_HandleInputEvent::Read(msg, &params);
2381 const blink::WebInputEvent* event = std::get<0>(params); 2394 const blink::WebInputEvent* event = std::get<0>(params);
2382 EXPECT_EQ(blink::WebInputEvent::kMouseMove, event->GetType()); 2395 EXPECT_EQ(blink::WebInputEvent::kMouseMove, event->GetType());
2383 break; 2396 break;
2384 } 2397 }
2385 case ViewMsg_ReclaimCompositorResources::ID:
2386 break;
2387 case ViewMsg_Resize::ID: { 2398 case ViewMsg_Resize::ID: {
2388 EXPECT_FALSE(has_resize); 2399 EXPECT_FALSE(has_resize);
2389 ViewMsg_Resize::Param params; 2400 ViewMsg_Resize::Param params;
2390 ViewMsg_Resize::Read(msg, &params); 2401 ViewMsg_Resize::Read(msg, &params);
2391 EXPECT_EQ(size3.ToString(), std::get<0>(params).new_size.ToString()); 2402 EXPECT_EQ(size3.ToString(), std::get<0>(params).new_size.ToString());
2392 has_resize = true; 2403 has_resize = true;
2393 break; 2404 break;
2394 } 2405 }
2395 default: 2406 default:
2396 ADD_FAILURE() << "Unexpected message " << msg->type(); 2407 ADD_FAILURE() << "Unexpected message " << msg->type();
(...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after
2616 view_->window_->AddObserver(&observer); 2627 view_->window_->AddObserver(&observer);
2617 2628
2618 // Swap a frame. 2629 // Swap a frame.
2619 EXPECT_CALL(observer, OnDelegatedFrameDamage(view_->window_, view_rect)); 2630 EXPECT_CALL(observer, OnDelegatedFrameDamage(view_->window_, view_rect));
2620 view_->SubmitCompositorFrame(kArbitraryLocalSurfaceId, 2631 view_->SubmitCompositorFrame(kArbitraryLocalSurfaceId,
2621 MakeDelegatedFrame(1.f, frame_size, view_rect)); 2632 MakeDelegatedFrame(1.f, frame_size, view_rect));
2622 testing::Mock::VerifyAndClearExpectations(&observer); 2633 testing::Mock::VerifyAndClearExpectations(&observer);
2623 view_->RunOnCompositingDidCommit(); 2634 view_->RunOnCompositingDidCommit();
2624 2635
2625 // Signal that a new RendererCompositorFrameSink was created. 2636 // Signal that a new RendererCompositorFrameSink was created.
2626 view_->DidCreateNewRendererCompositorFrameSink(); 2637 view_->CreateNewRendererCompositorFrameSink();
2627 2638
2628 // Submit a frame from the new RendererCompositorFrameSink. 2639 // Submit a frame from the new RendererCompositorFrameSink.
2629 EXPECT_CALL(observer, OnDelegatedFrameDamage(view_->window_, view_rect)); 2640 EXPECT_CALL(observer, OnDelegatedFrameDamage(view_->window_, view_rect));
2630 view_->SubmitCompositorFrame(CreateLocalSurfaceId(), 2641 view_->SubmitCompositorFrame(CreateLocalSurfaceId(),
2631 MakeDelegatedFrame(1.f, frame_size, view_rect)); 2642 MakeDelegatedFrame(1.f, frame_size, view_rect));
2632 testing::Mock::VerifyAndClearExpectations(&observer); 2643 testing::Mock::VerifyAndClearExpectations(&observer);
2633 view_->RunOnCompositingDidCommit(); 2644 view_->RunOnCompositingDidCommit();
2634 2645
2635 // Signal that a new RendererCompositorFrameSink was created. 2646 // Signal that a new RendererCompositorFrameSink was created.
2636 view_->DidCreateNewRendererCompositorFrameSink(); 2647 view_->CreateNewRendererCompositorFrameSink();
2637 2648
2638 // Submit a frame from the new RendererCompositorFrameSink. 2649 // Submit a frame from the new RendererCompositorFrameSink.
2639 view_->SubmitCompositorFrame( 2650 view_->SubmitCompositorFrame(
2640 CreateLocalSurfaceId(), 2651 CreateLocalSurfaceId(),
2641 MakeDelegatedFrame(1.f, gfx::Size(), gfx::Rect())); 2652 MakeDelegatedFrame(1.f, gfx::Size(), gfx::Rect()));
2642 testing::Mock::VerifyAndClearExpectations(&observer); 2653 testing::Mock::VerifyAndClearExpectations(&observer);
2643 view_->RunOnCompositingDidCommit(); 2654 view_->RunOnCompositingDidCommit();
2644 2655
2645 // Signal that a new RendererCompositorFrameSink was created. 2656 // Signal that a new RendererCompositorFrameSink was created.
2646 view_->DidCreateNewRendererCompositorFrameSink(); 2657 view_->CreateNewRendererCompositorFrameSink();
2647 2658
2648 // Swap another frame, with a different surface id. 2659 // Swap another frame, with a different surface id.
2649 EXPECT_CALL(observer, OnDelegatedFrameDamage(view_->window_, view_rect)); 2660 EXPECT_CALL(observer, OnDelegatedFrameDamage(view_->window_, view_rect));
2650 view_->SubmitCompositorFrame(CreateLocalSurfaceId(), 2661 view_->SubmitCompositorFrame(CreateLocalSurfaceId(),
2651 MakeDelegatedFrame(1.f, frame_size, view_rect)); 2662 MakeDelegatedFrame(1.f, frame_size, view_rect));
2652 testing::Mock::VerifyAndClearExpectations(&observer); 2663 testing::Mock::VerifyAndClearExpectations(&observer);
2653 view_->RunOnCompositingDidCommit(); 2664 view_->RunOnCompositingDidCommit();
2654 2665
2655 view_->window_->RemoveObserver(&observer); 2666 view_->window_->RemoveObserver(&observer);
2656 } 2667 }
(...skipping 2775 matching lines...) Expand 10 before | Expand all | Expand 10 after
5432 // There is no composition in the beginning. 5443 // There is no composition in the beginning.
5433 EXPECT_FALSE(has_composition_text()); 5444 EXPECT_FALSE(has_composition_text());
5434 SetHasCompositionTextToTrue(); 5445 SetHasCompositionTextToTrue();
5435 view->ImeCancelComposition(); 5446 view->ImeCancelComposition();
5436 // The composition must have been canceled. 5447 // The composition must have been canceled.
5437 EXPECT_FALSE(has_composition_text()); 5448 EXPECT_FALSE(has_composition_text());
5438 } 5449 }
5439 } 5450 }
5440 5451
5441 } // namespace content 5452 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698