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

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

Issue 2779633002: [cc] Remove remaining_frames from BeginFrameAck. (Closed)
Patch Set: 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 1858 matching lines...) Expand 10 before | Expand all | Expand 10 after
1869 aura::Env::GetInstance()->set_last_mouse_location(gfx::Point(161, 161)); 1869 aura::Env::GetInstance()->set_last_mouse_location(gfx::Point(161, 161));
1870 view_->UpdateCursorIfOverSelf(); 1870 view_->UpdateCursorIfOverSelf();
1871 EXPECT_EQ(0, cursor_client.calls_to_set_cursor()); 1871 EXPECT_EQ(0, cursor_client.calls_to_set_cursor());
1872 } 1872 }
1873 1873
1874 cc::CompositorFrame MakeDelegatedFrame(float scale_factor, 1874 cc::CompositorFrame MakeDelegatedFrame(float scale_factor,
1875 gfx::Size size, 1875 gfx::Size size,
1876 gfx::Rect damage) { 1876 gfx::Rect damage) {
1877 cc::CompositorFrame frame; 1877 cc::CompositorFrame frame;
1878 frame.metadata.device_scale_factor = scale_factor; 1878 frame.metadata.device_scale_factor = scale_factor;
1879 frame.metadata.begin_frame_ack = cc::BeginFrameAck(0, 1, 1, 0, true); 1879 frame.metadata.begin_frame_ack = cc::BeginFrameAck(0, 1, 1, true);
1880 1880
1881 std::unique_ptr<cc::RenderPass> pass = cc::RenderPass::Create(); 1881 std::unique_ptr<cc::RenderPass> pass = cc::RenderPass::Create();
1882 pass->SetNew(1, gfx::Rect(size), damage, gfx::Transform()); 1882 pass->SetNew(1, gfx::Rect(size), damage, gfx::Transform());
1883 frame.render_pass_list.push_back(std::move(pass)); 1883 frame.render_pass_list.push_back(std::move(pass));
1884 if (!size.IsEmpty()) { 1884 if (!size.IsEmpty()) {
1885 cc::TransferableResource resource; 1885 cc::TransferableResource resource;
1886 resource.id = 1; 1886 resource.id = 1;
1887 frame.resource_list.push_back(std::move(resource)); 1887 frame.resource_list.push_back(std::move(resource));
1888 } 1888 }
1889 return frame; 1889 return frame;
(...skipping 895 matching lines...) Expand 10 before | Expand all | Expand 10 after
2785 surface_manager->RegisterBeginFrameSource(&source, frame_sink_id); 2785 surface_manager->RegisterBeginFrameSource(&source, frame_sink_id);
2786 view_->SetNeedsBeginFrames(true); 2786 view_->SetNeedsBeginFrames(true);
2787 EXPECT_TRUE(observer_tracker.last_observer_); 2787 EXPECT_TRUE(observer_tracker.last_observer_);
2788 2788
2789 { 2789 {
2790 cc::BeginFrameArgs args = 2790 cc::BeginFrameArgs args =
2791 cc::CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, source_id, 5u); 2791 cc::CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, source_id, 5u);
2792 source.TestOnBeginFrame(args); 2792 source.TestOnBeginFrame(args);
2793 2793
2794 // Ack from CompositorFrame is forwarded. 2794 // Ack from CompositorFrame is forwarded.
2795 cc::BeginFrameAck ack(source_id, 5, 4, 0, true); 2795 cc::BeginFrameAck ack(source_id, 5, 4, true);
2796 cc::CompositorFrame frame = MakeDelegatedFrame(1.f, frame_size, view_rect); 2796 cc::CompositorFrame frame = MakeDelegatedFrame(1.f, frame_size, view_rect);
2797 frame.metadata.begin_frame_ack = ack; 2797 frame.metadata.begin_frame_ack = ack;
2798 view_->OnSwapCompositorFrame(0, kArbitraryLocalSurfaceId, std::move(frame)); 2798 view_->OnSwapCompositorFrame(0, kArbitraryLocalSurfaceId, std::move(frame));
2799 view_->RunOnCompositingDidCommit(); 2799 view_->RunOnCompositingDidCommit();
2800 EXPECT_EQ(ack, source.LastAckForObserver(observer_tracker.last_observer_)); 2800 EXPECT_EQ(ack, source.LastAckForObserver(observer_tracker.last_observer_));
2801 } 2801 }
2802 2802
2803 { 2803 {
2804 cc::BeginFrameArgs args = 2804 cc::BeginFrameArgs args =
2805 cc::CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, source_id, 6u); 2805 cc::CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, source_id, 6u);
2806 source.TestOnBeginFrame(args); 2806 source.TestOnBeginFrame(args);
2807 2807
2808 // Explicit ack through OnBeginFrameDidNotSwap is forwarded. 2808 // Explicit ack through OnBeginFrameDidNotSwap is forwarded.
2809 cc::BeginFrameAck ack(source_id, 6, 4, 0, false); 2809 cc::BeginFrameAck ack(source_id, 6, 4, false);
2810 view_->OnBeginFrameDidNotSwap(ack); 2810 view_->OnBeginFrameDidNotSwap(ack);
2811 EXPECT_EQ(ack, source.LastAckForObserver(observer_tracker.last_observer_)); 2811 EXPECT_EQ(ack, source.LastAckForObserver(observer_tracker.last_observer_));
2812 } 2812 }
2813 2813
2814 // Lock the compositor. Now we should drop frames and, thus, 2814 // Lock the compositor. Now we should drop frames and, thus,
2815 // latest_confirmed_sequence_number should not change. 2815 // latest_confirmed_sequence_number should not change.
2816 view_rect = gfx::Rect(150, 150); 2816 view_rect = gfx::Rect(150, 150);
2817 view_->SetSize(view_rect.size()); 2817 view_->SetSize(view_rect.size());
2818 2818
2819 { 2819 {
2820 cc::BeginFrameArgs args = 2820 cc::BeginFrameArgs args =
2821 cc::CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, source_id, 7u); 2821 cc::CreateBeginFrameArgsForTesting(BEGINFRAME_FROM_HERE, source_id, 7u);
2822 source.TestOnBeginFrame(args); 2822 source.TestOnBeginFrame(args);
2823 2823
2824 // Ack from CompositorFrame is forwarded with old 2824 // Ack from CompositorFrame is forwarded with old
2825 // latest_confirmed_sequence_number and without damage. 2825 // latest_confirmed_sequence_number and without damage.
2826 cc::BeginFrameAck ack(source_id, 7, 7, 0, true); 2826 cc::BeginFrameAck ack(source_id, 7, 7, true);
2827 gfx::Rect dropped_damage_rect(10, 20, 30, 40); 2827 gfx::Rect dropped_damage_rect(10, 20, 30, 40);
2828 cc::CompositorFrame frame = 2828 cc::CompositorFrame frame =
2829 MakeDelegatedFrame(1.f, frame_size, dropped_damage_rect); 2829 MakeDelegatedFrame(1.f, frame_size, dropped_damage_rect);
2830 frame.metadata.begin_frame_ack = ack; 2830 frame.metadata.begin_frame_ack = ack;
2831 view_->OnSwapCompositorFrame(0, kArbitraryLocalSurfaceId, std::move(frame)); 2831 view_->OnSwapCompositorFrame(0, kArbitraryLocalSurfaceId, std::move(frame));
2832 view_->RunOnCompositingDidCommit(); 2832 view_->RunOnCompositingDidCommit();
2833 ack.latest_confirmed_sequence_number = 4; 2833 ack.latest_confirmed_sequence_number = 4;
2834 ack.has_damage = false; 2834 ack.has_damage = false;
2835 EXPECT_EQ(ack, source.LastAckForObserver(observer_tracker.last_observer_)); 2835 EXPECT_EQ(ack, source.LastAckForObserver(observer_tracker.last_observer_));
2836 } 2836 }
2837 2837
2838 // Change source_id known to the view. This should reset the 2838 // Change source_id known to the view. This should reset the
2839 // latest_confirmed_sequence_number tracked by the view. 2839 // latest_confirmed_sequence_number tracked by the view.
2840 source_id = cc::BeginFrameArgs::kManualSourceId; 2840 source_id = cc::BeginFrameArgs::kManualSourceId;
2841 2841
2842 { 2842 {
2843 cc::BeginFrameArgs args = cc::CreateBeginFrameArgsForTesting( 2843 cc::BeginFrameArgs args = cc::CreateBeginFrameArgsForTesting(
2844 BEGINFRAME_FROM_HERE, source_id, 10u); 2844 BEGINFRAME_FROM_HERE, source_id, 10u);
2845 source.TestOnBeginFrame(args); 2845 source.TestOnBeginFrame(args);
2846 2846
2847 // Ack from CompositorFrame is forwarded with invalid 2847 // Ack from CompositorFrame is forwarded with invalid
2848 // latest_confirmed_sequence_number and without damage. 2848 // latest_confirmed_sequence_number and without damage.
2849 cc::BeginFrameAck ack(source_id, 10, 10, 0, true); 2849 cc::BeginFrameAck ack(source_id, 10, 10, true);
2850 gfx::Rect dropped_damage_rect(10, 20, 30, 40); 2850 gfx::Rect dropped_damage_rect(10, 20, 30, 40);
2851 cc::CompositorFrame frame = 2851 cc::CompositorFrame frame =
2852 MakeDelegatedFrame(1.f, frame_size, dropped_damage_rect); 2852 MakeDelegatedFrame(1.f, frame_size, dropped_damage_rect);
2853 frame.metadata.begin_frame_ack = ack; 2853 frame.metadata.begin_frame_ack = ack;
2854 view_->OnSwapCompositorFrame(0, kArbitraryLocalSurfaceId, std::move(frame)); 2854 view_->OnSwapCompositorFrame(0, kArbitraryLocalSurfaceId, std::move(frame));
2855 view_->RunOnCompositingDidCommit(); 2855 view_->RunOnCompositingDidCommit();
2856 ack.latest_confirmed_sequence_number = 2856 ack.latest_confirmed_sequence_number =
2857 cc::BeginFrameArgs::kInvalidFrameNumber; 2857 cc::BeginFrameArgs::kInvalidFrameNumber;
2858 ack.has_damage = false; 2858 ack.has_damage = false;
2859 EXPECT_EQ(ack, source.LastAckForObserver(observer_tracker.last_observer_)); 2859 EXPECT_EQ(ack, source.LastAckForObserver(observer_tracker.last_observer_));
2860 } 2860 }
2861 2861
2862 { 2862 {
2863 cc::BeginFrameArgs args = cc::CreateBeginFrameArgsForTesting( 2863 cc::BeginFrameArgs args = cc::CreateBeginFrameArgsForTesting(
2864 BEGINFRAME_FROM_HERE, source_id, 11u); 2864 BEGINFRAME_FROM_HERE, source_id, 11u);
2865 source.TestOnBeginFrame(args); 2865 source.TestOnBeginFrame(args);
2866 2866
2867 // Explicit ack through OnBeginFrameDidNotSwap is forwarded with invalid 2867 // Explicit ack through OnBeginFrameDidNotSwap is forwarded with invalid
2868 // latest_confirmed_sequence_number. 2868 // latest_confirmed_sequence_number.
2869 cc::BeginFrameAck ack(source_id, 11, 11, 0, false); 2869 cc::BeginFrameAck ack(source_id, 11, 11, false);
2870 view_->OnBeginFrameDidNotSwap(ack); 2870 view_->OnBeginFrameDidNotSwap(ack);
2871 ack.latest_confirmed_sequence_number = 2871 ack.latest_confirmed_sequence_number =
2872 cc::BeginFrameArgs::kInvalidFrameNumber; 2872 cc::BeginFrameArgs::kInvalidFrameNumber;
2873 EXPECT_EQ(ack, source.LastAckForObserver(observer_tracker.last_observer_)); 2873 EXPECT_EQ(ack, source.LastAckForObserver(observer_tracker.last_observer_));
2874 } 2874 }
2875 2875
2876 // Unlock the compositor again with a new CompositorFrame of correct size. 2876 // Unlock the compositor again with a new CompositorFrame of correct size.
2877 frame_size = view_rect.size(); 2877 frame_size = view_rect.size();
2878 2878
2879 { 2879 {
2880 cc::BeginFrameArgs args = cc::CreateBeginFrameArgsForTesting( 2880 cc::BeginFrameArgs args = cc::CreateBeginFrameArgsForTesting(
2881 BEGINFRAME_FROM_HERE, source_id, 12u); 2881 BEGINFRAME_FROM_HERE, source_id, 12u);
2882 source.TestOnBeginFrame(args); 2882 source.TestOnBeginFrame(args);
2883 2883
2884 // Ack from CompositorFrame is forwarded. 2884 // Ack from CompositorFrame is forwarded.
2885 cc::BeginFrameAck ack(source_id, 12, 12, 0, true); 2885 cc::BeginFrameAck ack(source_id, 12, 12, true);
2886 cc::CompositorFrame frame = MakeDelegatedFrame(1.f, frame_size, view_rect); 2886 cc::CompositorFrame frame = MakeDelegatedFrame(1.f, frame_size, view_rect);
2887 frame.metadata.begin_frame_ack = ack; 2887 frame.metadata.begin_frame_ack = ack;
2888 view_->OnSwapCompositorFrame(0, kArbitraryLocalSurfaceId, std::move(frame)); 2888 view_->OnSwapCompositorFrame(0, kArbitraryLocalSurfaceId, std::move(frame));
2889 view_->RunOnCompositingDidCommit(); 2889 view_->RunOnCompositingDidCommit();
2890 EXPECT_EQ(ack, source.LastAckForObserver(observer_tracker.last_observer_)); 2890 EXPECT_EQ(ack, source.LastAckForObserver(observer_tracker.last_observer_));
2891 } 2891 }
2892 2892
2893 { 2893 {
2894 cc::BeginFrameArgs args = cc::CreateBeginFrameArgsForTesting( 2894 cc::BeginFrameArgs args = cc::CreateBeginFrameArgsForTesting(
2895 BEGINFRAME_FROM_HERE, source_id, 13u); 2895 BEGINFRAME_FROM_HERE, source_id, 13u);
2896 source.TestOnBeginFrame(args); 2896 source.TestOnBeginFrame(args);
2897 2897
2898 // Explicit ack through OnBeginFrameDidNotSwap is forwarded. 2898 // Explicit ack through OnBeginFrameDidNotSwap is forwarded.
2899 cc::BeginFrameAck ack(source_id, 13, 13, 0, false); 2899 cc::BeginFrameAck ack(source_id, 13, 13, false);
2900 view_->OnBeginFrameDidNotSwap(ack); 2900 view_->OnBeginFrameDidNotSwap(ack);
2901 EXPECT_EQ(ack, source.LastAckForObserver(observer_tracker.last_observer_)); 2901 EXPECT_EQ(ack, source.LastAckForObserver(observer_tracker.last_observer_));
2902 } 2902 }
2903 2903
2904 surface_manager->UnregisterBeginFrameSource(&source); 2904 surface_manager->UnregisterBeginFrameSource(&source);
2905 } 2905 }
2906 2906
2907 class RenderWidgetHostViewAuraCopyRequestTest 2907 class RenderWidgetHostViewAuraCopyRequestTest
2908 : public RenderWidgetHostViewAuraShutdownTest { 2908 : public RenderWidgetHostViewAuraShutdownTest {
2909 public: 2909 public:
(...skipping 2120 matching lines...) Expand 10 before | Expand all | Expand 10 after
5030 // There is no composition in the beginning. 5030 // There is no composition in the beginning.
5031 EXPECT_FALSE(has_composition_text()); 5031 EXPECT_FALSE(has_composition_text());
5032 SetHasCompositionTextToTrue(); 5032 SetHasCompositionTextToTrue();
5033 view->ImeCancelComposition(); 5033 view->ImeCancelComposition();
5034 // The composition must have been canceled. 5034 // The composition must have been canceled.
5035 EXPECT_FALSE(has_composition_text()); 5035 EXPECT_FALSE(has_composition_text());
5036 } 5036 }
5037 } 5037 }
5038 5038
5039 } // namespace content 5039 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/renderer_host/render_widget_host_unittest.cc ('k') | services/ui/ws/frame_generator.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698