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

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

Issue 2888043004: [cc] Add and plumb CFS::DidNotProduceFrame. (Closed)
Patch Set: address nits, rename to DidNotProduceFrame. Created 3 years, 7 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 3288 matching lines...) Expand 10 before | Expand all | Expand 10 after
3299 void OnAddObserver(cc::BeginFrameObserver* obs) override { 3299 void OnAddObserver(cc::BeginFrameObserver* obs) override {
3300 last_observer_ = obs; 3300 last_observer_ = obs;
3301 } 3301 }
3302 void OnRemoveObserver(cc::BeginFrameObserver* obs) override {} 3302 void OnRemoveObserver(cc::BeginFrameObserver* obs) override {}
3303 3303
3304 cc::BeginFrameObserver* last_observer_ = nullptr; 3304 cc::BeginFrameObserver* last_observer_ = nullptr;
3305 }; 3305 };
3306 } // namespace 3306 } // namespace
3307 3307
3308 // Tests that BeginFrameAcks are forwarded correctly from the 3308 // Tests that BeginFrameAcks are forwarded correctly from the
3309 // SwapCompositorFrame and OnBeginFrameDidNotSwap IPCs through 3309 // SwapCompositorFrame and OnDidNotProduceFrame IPCs through DelegatedFrameHost
3310 // DelegatedFrameHost and its CompositorFrameSinkSupport. 3310 // and its CompositorFrameSinkSupport.
3311 TEST_F(RenderWidgetHostViewAuraTest, ForwardsBeginFrameAcks) { 3311 TEST_F(RenderWidgetHostViewAuraTest, ForwardsBeginFrameAcks) {
3312 gfx::Rect view_rect(100, 100); 3312 gfx::Rect view_rect(100, 100);
3313 gfx::Size frame_size = view_rect.size(); 3313 gfx::Size frame_size = view_rect.size();
3314 3314
3315 view_->InitAsChild(nullptr); 3315 view_->InitAsChild(nullptr);
3316 aura::client::ParentWindowWithContext( 3316 aura::client::ParentWindowWithContext(
3317 view_->GetNativeView(), parent_view_->GetNativeView()->GetRootWindow(), 3317 view_->GetNativeView(), parent_view_->GetNativeView()->GetRootWindow(),
3318 gfx::Rect()); 3318 gfx::Rect());
3319 view_->SetSize(view_rect.size()); 3319 view_->SetSize(view_rect.size());
3320 3320
(...skipping 26 matching lines...) Expand all
3347 view_->SubmitCompositorFrame(kArbitraryLocalSurfaceId, std::move(frame)); 3347 view_->SubmitCompositorFrame(kArbitraryLocalSurfaceId, std::move(frame));
3348 view_->RunOnCompositingDidCommit(); 3348 view_->RunOnCompositingDidCommit();
3349 EXPECT_EQ(ack, source.LastAckForObserver(observer_tracker.last_observer_)); 3349 EXPECT_EQ(ack, source.LastAckForObserver(observer_tracker.last_observer_));
3350 } 3350 }
3351 3351
3352 { 3352 {
3353 cc::BeginFrameArgs args = 3353 cc::BeginFrameArgs args =
3354 cc::CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, source_id, 6u); 3354 cc::CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, source_id, 6u);
3355 source.TestOnBeginFrame(args); 3355 source.TestOnBeginFrame(args);
3356 3356
3357 // Explicit ack through OnBeginFrameDidNotSwap is forwarded. 3357 // Explicit ack through OnDidNotProduceFrame is forwarded.
3358 cc::BeginFrameAck ack(source_id, 6, 4, false); 3358 cc::BeginFrameAck ack(source_id, 6, 4, false);
3359 view_->OnBeginFrameDidNotSwap(ack); 3359 view_->OnDidNotProduceFrame(ack);
3360 EXPECT_EQ(ack, source.LastAckForObserver(observer_tracker.last_observer_)); 3360 EXPECT_EQ(ack, source.LastAckForObserver(observer_tracker.last_observer_));
3361 } 3361 }
3362 3362
3363 // Lock the compositor. Now we should drop frames and, thus, 3363 // Lock the compositor. Now we should drop frames and, thus,
3364 // latest_confirmed_sequence_number should not change. 3364 // latest_confirmed_sequence_number should not change.
3365 view_rect = gfx::Rect(150, 150); 3365 view_rect = gfx::Rect(150, 150);
3366 view_->SetSize(view_rect.size()); 3366 view_->SetSize(view_rect.size());
3367 3367
3368 { 3368 {
3369 cc::BeginFrameArgs args = 3369 cc::BeginFrameArgs args =
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
3406 cc::BeginFrameArgs::kInvalidFrameNumber; 3406 cc::BeginFrameArgs::kInvalidFrameNumber;
3407 ack.has_damage = false; 3407 ack.has_damage = false;
3408 EXPECT_EQ(ack, source.LastAckForObserver(observer_tracker.last_observer_)); 3408 EXPECT_EQ(ack, source.LastAckForObserver(observer_tracker.last_observer_));
3409 } 3409 }
3410 3410
3411 { 3411 {
3412 cc::BeginFrameArgs args = cc::CreateBeginFrameArgsForTesting( 3412 cc::BeginFrameArgs args = cc::CreateBeginFrameArgsForTesting(
3413 BEGINFRAME_FROM_HERE, source_id, 11u); 3413 BEGINFRAME_FROM_HERE, source_id, 11u);
3414 source.TestOnBeginFrame(args); 3414 source.TestOnBeginFrame(args);
3415 3415
3416 // Explicit ack through OnBeginFrameDidNotSwap is forwarded with invalid 3416 // Explicit ack through OnDidNotProduceFrame is forwarded with invalid
3417 // latest_confirmed_sequence_number. 3417 // latest_confirmed_sequence_number.
3418 cc::BeginFrameAck ack(source_id, 11, 11, false); 3418 cc::BeginFrameAck ack(source_id, 11, 11, false);
3419 view_->OnBeginFrameDidNotSwap(ack); 3419 view_->OnDidNotProduceFrame(ack);
3420 ack.latest_confirmed_sequence_number = 3420 ack.latest_confirmed_sequence_number =
3421 cc::BeginFrameArgs::kInvalidFrameNumber; 3421 cc::BeginFrameArgs::kInvalidFrameNumber;
3422 EXPECT_EQ(ack, source.LastAckForObserver(observer_tracker.last_observer_)); 3422 EXPECT_EQ(ack, source.LastAckForObserver(observer_tracker.last_observer_));
3423 } 3423 }
3424 3424
3425 // Unlock the compositor again with a new CompositorFrame of correct size. 3425 // Unlock the compositor again with a new CompositorFrame of correct size.
3426 frame_size = view_rect.size(); 3426 frame_size = view_rect.size();
3427 3427
3428 { 3428 {
3429 cc::BeginFrameArgs args = cc::CreateBeginFrameArgsForTesting( 3429 cc::BeginFrameArgs args = cc::CreateBeginFrameArgsForTesting(
3430 BEGINFRAME_FROM_HERE, source_id, 12u); 3430 BEGINFRAME_FROM_HERE, source_id, 12u);
3431 source.TestOnBeginFrame(args); 3431 source.TestOnBeginFrame(args);
3432 3432
3433 // Ack from CompositorFrame is forwarded. 3433 // Ack from CompositorFrame is forwarded.
3434 cc::BeginFrameAck ack(source_id, 12, 12, true); 3434 cc::BeginFrameAck ack(source_id, 12, 12, true);
3435 cc::CompositorFrame frame = MakeDelegatedFrame(1.f, frame_size, view_rect); 3435 cc::CompositorFrame frame = MakeDelegatedFrame(1.f, frame_size, view_rect);
3436 frame.metadata.begin_frame_ack = ack; 3436 frame.metadata.begin_frame_ack = ack;
3437 view_->SubmitCompositorFrame(kArbitraryLocalSurfaceId, std::move(frame)); 3437 view_->SubmitCompositorFrame(kArbitraryLocalSurfaceId, std::move(frame));
3438 view_->RunOnCompositingDidCommit(); 3438 view_->RunOnCompositingDidCommit();
3439 EXPECT_EQ(ack, source.LastAckForObserver(observer_tracker.last_observer_)); 3439 EXPECT_EQ(ack, source.LastAckForObserver(observer_tracker.last_observer_));
3440 } 3440 }
3441 3441
3442 { 3442 {
3443 cc::BeginFrameArgs args = cc::CreateBeginFrameArgsForTesting( 3443 cc::BeginFrameArgs args = cc::CreateBeginFrameArgsForTesting(
3444 BEGINFRAME_FROM_HERE, source_id, 13u); 3444 BEGINFRAME_FROM_HERE, source_id, 13u);
3445 source.TestOnBeginFrame(args); 3445 source.TestOnBeginFrame(args);
3446 3446
3447 // Explicit ack through OnBeginFrameDidNotSwap is forwarded. 3447 // Explicit ack through OnDidNotProduceFrame is forwarded.
3448 cc::BeginFrameAck ack(source_id, 13, 13, false); 3448 cc::BeginFrameAck ack(source_id, 13, 13, false);
3449 view_->OnBeginFrameDidNotSwap(ack); 3449 view_->OnDidNotProduceFrame(ack);
3450 EXPECT_EQ(ack, source.LastAckForObserver(observer_tracker.last_observer_)); 3450 EXPECT_EQ(ack, source.LastAckForObserver(observer_tracker.last_observer_));
3451 } 3451 }
3452 3452
3453 surface_manager->UnregisterBeginFrameSource(&source); 3453 surface_manager->UnregisterBeginFrameSource(&source);
3454 } 3454 }
3455 3455
3456 class RenderWidgetHostViewAuraCopyRequestTest 3456 class RenderWidgetHostViewAuraCopyRequestTest
3457 : public RenderWidgetHostViewAuraShutdownTest { 3457 : public RenderWidgetHostViewAuraShutdownTest {
3458 public: 3458 public:
3459 RenderWidgetHostViewAuraCopyRequestTest() 3459 RenderWidgetHostViewAuraCopyRequestTest()
(...skipping 2425 matching lines...) Expand 10 before | Expand all | Expand 10 after
5885 // There is no composition in the beginning. 5885 // There is no composition in the beginning.
5886 EXPECT_FALSE(has_composition_text()); 5886 EXPECT_FALSE(has_composition_text());
5887 SetHasCompositionTextToTrue(); 5887 SetHasCompositionTextToTrue();
5888 view->ImeCancelComposition(); 5888 view->ImeCancelComposition();
5889 // The composition must have been canceled. 5889 // The composition must have been canceled.
5890 EXPECT_FALSE(has_composition_text()); 5890 EXPECT_FALSE(has_composition_text());
5891 } 5891 }
5892 } 5892 }
5893 5893
5894 } // namespace content 5894 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698