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 <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "base/auto_reset.h" | 9 #include "base/auto_reset.h" |
10 #include "base/location.h" | 10 #include "base/location.h" |
(...skipping 2006 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2017 | 2017 |
2018 class LayerTreeHostTestAbortedCommitDoesntStallSynchronousCompositor | 2018 class LayerTreeHostTestAbortedCommitDoesntStallSynchronousCompositor |
2019 : public LayerTreeHostTestAbortedCommitDoesntStall { | 2019 : public LayerTreeHostTestAbortedCommitDoesntStall { |
2020 protected: | 2020 protected: |
2021 void InitializeSettings(LayerTreeSettings* settings) override { | 2021 void InitializeSettings(LayerTreeSettings* settings) override { |
2022 LayerTreeHostTestAbortedCommitDoesntStall::InitializeSettings(settings); | 2022 LayerTreeHostTestAbortedCommitDoesntStall::InitializeSettings(settings); |
2023 settings->using_synchronous_renderer_compositor = true; | 2023 settings->using_synchronous_renderer_compositor = true; |
2024 } | 2024 } |
2025 | 2025 |
2026 void ScheduledActionInvalidateOutputSurface() override { | 2026 void ScheduledActionInvalidateOutputSurface() override { |
| 2027 // Do not call ImplThreadTaskRunner after the test ended because of the |
| 2028 // possibility of use-after-free due to a race. |
| 2029 if (TestEnded()) |
| 2030 return; |
2027 ImplThreadTaskRunner()->PostTask( | 2031 ImplThreadTaskRunner()->PostTask( |
2028 FROM_HERE, | 2032 FROM_HERE, |
2029 base::Bind( | 2033 base::Bind( |
2030 &LayerTreeHostTestAbortedCommitDoesntStallSynchronousCompositor:: | 2034 &LayerTreeHostTestAbortedCommitDoesntStallSynchronousCompositor:: |
2031 CallOnDraw, | 2035 CallOnDraw, |
2032 base::Unretained(this))); | 2036 base::Unretained(this))); |
2033 } | 2037 } |
2034 | 2038 |
2035 void CallOnDraw() { | 2039 void CallOnDraw() { |
2036 // Synchronous compositor does not draw unless told to do so by the output | 2040 // Synchronous compositor does not draw unless told to do so by the output |
(...skipping 4168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6205 ScrollAndScaleSet scale_info_; | 6209 ScrollAndScaleSet scale_info_; |
6206 ScrollAndScaleSet no_op_info_; | 6210 ScrollAndScaleSet no_op_info_; |
6207 bool requested_update_layers_; | 6211 bool requested_update_layers_; |
6208 int commit_count_; | 6212 int commit_count_; |
6209 }; | 6213 }; |
6210 | 6214 |
6211 MULTI_THREAD_TEST_F(LayerTreeHostScrollingAndScalingUpdatesLayers); | 6215 MULTI_THREAD_TEST_F(LayerTreeHostScrollingAndScalingUpdatesLayers); |
6212 | 6216 |
6213 } // namespace | 6217 } // namespace |
6214 } // namespace cc | 6218 } // namespace cc |
OLD | NEW |