| OLD | NEW |
| 1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 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 "cc/trees/layer_tree_host.h" | 5 #include "cc/trees/layer_tree_host.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 #include <stdint.h> | 8 #include <stdint.h> |
| 9 | 9 |
| 10 #include <algorithm> | 10 #include <algorithm> |
| (...skipping 7063 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7074 LayerTreeHostImpl::FrameData* frame_data, | 7074 LayerTreeHostImpl::FrameData* frame_data, |
| 7075 DrawResult draw_result) override { | 7075 DrawResult draw_result) override { |
| 7076 // We should only draw in second BeginFrame. | 7076 // We should only draw in second BeginFrame. |
| 7077 EXPECT_TRUE(current_begin_main_frame_args_on_impl_.IsValid()); | 7077 EXPECT_TRUE(current_begin_main_frame_args_on_impl_.IsValid()); |
| 7078 EXPECT_LT(current_begin_main_frame_args_on_impl_.sequence_number, | 7078 EXPECT_LT(current_begin_main_frame_args_on_impl_.sequence_number, |
| 7079 current_begin_frame_args_.sequence_number); | 7079 current_begin_frame_args_.sequence_number); |
| 7080 frame_data_ = frame_data; | 7080 frame_data_ = frame_data; |
| 7081 return draw_result; | 7081 return draw_result; |
| 7082 } | 7082 } |
| 7083 | 7083 |
| 7084 void DisplayReceivedCompositorFrameOnThread( |
| 7085 const CompositorFrame& frame) override { |
| 7086 if (compositor_frame_submitted_) |
| 7087 return; |
| 7088 compositor_frame_submitted_ = true; |
| 7089 |
| 7090 EXPECT_EQ( |
| 7091 BeginFrameAck(current_begin_frame_args_.source_id, |
| 7092 current_begin_frame_args_.sequence_number, |
| 7093 current_begin_main_frame_args_on_impl_.sequence_number, 0, |
| 7094 true), |
| 7095 frame.metadata.begin_frame_ack); |
| 7096 } |
| 7097 |
| 7084 void DrawLayersOnThread(LayerTreeHostImpl* impl) override { | 7098 void DrawLayersOnThread(LayerTreeHostImpl* impl) override { |
| 7099 if (layers_drawn_) |
| 7100 return; |
| 7101 layers_drawn_ = true; |
| 7102 |
| 7085 EXPECT_TRUE(frame_data_); | 7103 EXPECT_TRUE(frame_data_); |
| 7104 EXPECT_TRUE(compositor_frame_submitted_); |
| 7086 EXPECT_EQ( | 7105 EXPECT_EQ( |
| 7087 BeginFrameAck(current_begin_frame_args_.source_id, | 7106 BeginFrameAck(current_begin_frame_args_.source_id, |
| 7088 current_begin_frame_args_.sequence_number, | 7107 current_begin_frame_args_.sequence_number, |
| 7089 current_begin_main_frame_args_on_impl_.sequence_number, 0, | 7108 current_begin_main_frame_args_on_impl_.sequence_number, 0, |
| 7090 true), | 7109 true), |
| 7091 frame_data_->begin_frame_ack); | 7110 frame_data_->begin_frame_ack); |
| 7092 } | |
| 7093 | |
| 7094 void DisplayReceivedCompositorFrameOnThread( | |
| 7095 const CompositorFrame& frame) override { | |
| 7096 compositor_frame_submitted_ = true; | |
| 7097 EXPECT_EQ( | |
| 7098 BeginFrameAck(current_begin_frame_args_.source_id, | |
| 7099 current_begin_frame_args_.sequence_number, | |
| 7100 current_begin_main_frame_args_on_impl_.sequence_number, 0, | |
| 7101 true), | |
| 7102 frame.metadata.begin_frame_ack); | |
| 7103 EndTest(); | 7111 EndTest(); |
| 7104 } | 7112 } |
| 7105 | 7113 |
| 7106 void AfterTest() override { EXPECT_TRUE(compositor_frame_submitted_); } | 7114 void AfterTest() override { EXPECT_TRUE(layers_drawn_); } |
| 7107 | 7115 |
| 7108 private: | 7116 private: |
| 7109 bool compositor_frame_submitted_; | 7117 bool compositor_frame_submitted_ = false; |
| 7118 bool layers_drawn_ = false; |
| 7110 BeginFrameArgs current_begin_frame_args_; | 7119 BeginFrameArgs current_begin_frame_args_; |
| 7111 BeginFrameArgs current_begin_main_frame_args_; | 7120 BeginFrameArgs current_begin_main_frame_args_; |
| 7112 BeginFrameArgs current_begin_main_frame_args_on_impl_; | 7121 BeginFrameArgs current_begin_main_frame_args_on_impl_; |
| 7113 LayerTreeHostImpl::FrameData* frame_data_; | 7122 LayerTreeHostImpl::FrameData* frame_data_; |
| 7114 }; | 7123 }; |
| 7115 | 7124 |
| 7116 MULTI_THREAD_BLOCKNOTIFY_TEST_F(LayerTreeHostTestBeginFrameSequenceNumbers); | 7125 MULTI_THREAD_BLOCKNOTIFY_TEST_F(LayerTreeHostTestBeginFrameSequenceNumbers); |
| 7117 | 7126 |
| 7118 class LayerTreeHostTestQueueImageDecode : public LayerTreeHostTest { | 7127 class LayerTreeHostTestQueueImageDecode : public LayerTreeHostTest { |
| 7119 protected: | 7128 protected: |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7176 | 7185 |
| 7177 private: | 7186 private: |
| 7178 bool first_ = true; | 7187 bool first_ = true; |
| 7179 SkBitmap bitmap_; | 7188 SkBitmap bitmap_; |
| 7180 }; | 7189 }; |
| 7181 | 7190 |
| 7182 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestQueueImageDecodeNonLazy); | 7191 SINGLE_AND_MULTI_THREAD_TEST_F(LayerTreeHostTestQueueImageDecodeNonLazy); |
| 7183 | 7192 |
| 7184 } // namespace | 7193 } // namespace |
| 7185 } // namespace cc | 7194 } // namespace cc |
| OLD | NEW |