Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 "ui/compositor/layer.h" | 5 #include "ui/compositor/layer.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <memory> | 9 #include <memory> |
| 10 #include <utility> | 10 #include <utility> |
| (...skipping 2191 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2202 | 2202 |
| 2203 private: | 2203 private: |
| 2204 bool report_called_ = false; | 2204 bool report_called_ = false; |
| 2205 int value_ = -1; | 2205 int value_ = -1; |
| 2206 | 2206 |
| 2207 DISALLOW_COPY_AND_ASSIGN(TestMetricsReporter); | 2207 DISALLOW_COPY_AND_ASSIGN(TestMetricsReporter); |
| 2208 }; | 2208 }; |
| 2209 | 2209 |
| 2210 // TODO(crbug/709080): LayerWithRealCompositorTest.ReportMetrics is flaky on | 2210 // TODO(crbug/709080): LayerWithRealCompositorTest.ReportMetrics is flaky on |
| 2211 // Windows. | 2211 // Windows. |
| 2212 #if defined(OS_WIN) | 2212 #if defined(OS_WIN) |
|
danakj
2017/04/20 13:46:31
Should it be enabled on windows now?
Alex Z.
2017/04/20 13:53:59
Done.
| |
| 2213 #define MAYBE_ReportMetrics DISABLED_ReportMetrics | 2213 #define MAYBE_ReportMetrics DISABLED_ReportMetrics |
| 2214 #else | 2214 #else |
| 2215 #define MAYBE_ReportMetrics ReportMetrics | 2215 #define MAYBE_ReportMetrics ReportMetrics |
| 2216 #endif | 2216 #endif |
| 2217 | 2217 |
| 2218 // Starts an animation and tests that incrementing compositor frame count can | 2218 // Starts an animation and tests that incrementing compositor frame count can |
| 2219 // be used to report animation smoothness metrics. | 2219 // be used to report animation smoothness metrics. |
| 2220 TEST_F(LayerWithRealCompositorTest, MAYBE_ReportMetrics) { | 2220 TEST_F(LayerWithRealCompositorTest, MAYBE_ReportMetrics) { |
| 2221 std::unique_ptr<Layer> root(CreateLayer(LAYER_SOLID_COLOR)); | 2221 std::unique_ptr<Layer> root(CreateLayer(LAYER_SOLID_COLOR)); |
| 2222 GetCompositor()->SetRootLayer(root.get()); | 2222 GetCompositor()->SetRootLayer(root.get()); |
| 2223 LayerAnimator* animator = root->GetAnimator(); | 2223 LayerAnimator* animator = root->GetAnimator(); |
| 2224 std::unique_ptr<ui::LayerAnimationElement> animation_element = | 2224 std::unique_ptr<ui::LayerAnimationElement> animation_element = |
| 2225 ui::LayerAnimationElement::CreateColorElement( | 2225 ui::LayerAnimationElement::CreateColorElement( |
| 2226 SK_ColorRED, base::TimeDelta::FromMilliseconds(100)); | 2226 SK_ColorRED, base::TimeDelta::FromMilliseconds(100)); |
| 2227 ui::LayerAnimationSequence* animation_sequence = | 2227 ui::LayerAnimationSequence* animation_sequence = |
| 2228 new ui::LayerAnimationSequence(std::move(animation_element)); | 2228 new ui::LayerAnimationSequence(std::move(animation_element)); |
| 2229 TestMetricsReporter reporter; | 2229 TestMetricsReporter reporter; |
| 2230 animation_sequence->SetAnimationMetricsReporter(&reporter); | 2230 animation_sequence->SetAnimationMetricsReporter(&reporter); |
| 2231 animator->StartAnimation(animation_sequence); | 2231 animator->StartAnimation(animation_sequence); |
| 2232 while (!reporter.report_called()) | 2232 while (!reporter.report_called()) |
| 2233 WaitForDraw(); | 2233 WaitForSwap(); |
| 2234 ResetCompositor(); | 2234 ResetCompositor(); |
| 2235 // Even though most of the time 100% smooth animations are expected, on the | 2235 // Even though most of the time 100% smooth animations are expected, on the |
| 2236 // test bots this cannot be guaranteed. Therefore simply check that some | 2236 // test bots this cannot be guaranteed. Therefore simply check that some |
| 2237 // value was reported. | 2237 // value was reported. |
| 2238 EXPECT_GT(reporter.value(), 0); | 2238 EXPECT_GT(reporter.value(), 0); |
| 2239 } | 2239 } |
| 2240 | 2240 |
| 2241 TEST(LayerDebugInfoTest, LayerNameDoesNotClobber) { | 2241 TEST(LayerDebugInfoTest, LayerNameDoesNotClobber) { |
| 2242 Layer layer(LAYER_NOT_DRAWN); | 2242 Layer layer(LAYER_NOT_DRAWN); |
| 2243 layer.set_name("foo"); | 2243 layer.set_name("foo"); |
| 2244 std::unique_ptr<base::trace_event::ConvertableToTraceFormat> debug_info = | 2244 std::unique_ptr<base::trace_event::ConvertableToTraceFormat> debug_info = |
| 2245 layer.TakeDebugInfo(nullptr); | 2245 layer.TakeDebugInfo(nullptr); |
| 2246 std::string trace_format("bar,"); | 2246 std::string trace_format("bar,"); |
| 2247 debug_info->AppendAsTraceFormat(&trace_format); | 2247 debug_info->AppendAsTraceFormat(&trace_format); |
| 2248 std::string expected("bar,{\"layer_name\":\"foo\"}"); | 2248 std::string expected("bar,{\"layer_name\":\"foo\"}"); |
| 2249 EXPECT_EQ(expected, trace_format); | 2249 EXPECT_EQ(expected, trace_format); |
| 2250 } | 2250 } |
| 2251 | 2251 |
| 2252 } // namespace ui | 2252 } // namespace ui |
| OLD | NEW |