| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 <stddef.h> | 5 #include <stddef.h> |
| 6 #include <stdint.h> | 6 #include <stdint.h> |
| 7 | 7 |
| 8 #include <memory> | 8 #include <memory> |
| 9 | 9 |
| 10 #include "base/macros.h" | 10 #include "base/macros.h" |
| (...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 209 event, | 209 event, |
| 210 base::FeatureList::IsEnabled(features::kRafAlignedTouchInputEvents)); | 210 base::FeatureList::IsEnabled(features::kRafAlignedTouchInputEvents)); |
| 211 } | 211 } |
| 212 | 212 |
| 213 } // namespace | 213 } // namespace |
| 214 | 214 |
| 215 class LegacyInputRouterImplPerfTest : public testing::Test { | 215 class LegacyInputRouterImplPerfTest : public testing::Test { |
| 216 public: | 216 public: |
| 217 LegacyInputRouterImplPerfTest() | 217 LegacyInputRouterImplPerfTest() |
| 218 : scoped_task_environment_( | 218 : scoped_task_environment_( |
| 219 base::test::ScopedTaskEnvironment::MainThreadType::UI), | 219 base::test::ScopedTaskEnvironment::MainThreadType::UI) {} |
| 220 last_input_id_(0) {} | |
| 221 ~LegacyInputRouterImplPerfTest() override {} | 220 ~LegacyInputRouterImplPerfTest() override {} |
| 222 | 221 |
| 223 protected: | 222 protected: |
| 224 // testing::Test | 223 // testing::Test |
| 225 void SetUp() override { | 224 void SetUp() override { |
| 226 sender_.reset(new NullIPCSender()); | 225 sender_.reset(new NullIPCSender()); |
| 227 client_.reset(new NullInputRouterClient()); | 226 client_.reset(new NullInputRouterClient()); |
| 228 ack_handler_.reset(new NullInputAckHandler()); | 227 ack_handler_.reset(new NullInputAckHandler()); |
| 229 input_router_.reset(new LegacyInputRouterImpl( | 228 input_router_.reset(new LegacyInputRouterImpl( |
| 230 sender_.get(), client_.get(), ack_handler_.get(), MSG_ROUTING_NONE, | 229 sender_.get(), client_.get(), ack_handler_.get(), MSG_ROUTING_NONE, |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 266 } | 265 } |
| 267 | 266 |
| 268 size_t GetAndResetSentEventCount() { | 267 size_t GetAndResetSentEventCount() { |
| 269 return sender_->GetAndResetSentEventCount(); | 268 return sender_->GetAndResetSentEventCount(); |
| 270 } | 269 } |
| 271 | 270 |
| 272 size_t GetAndResetAckCount() { return ack_handler_->GetAndResetAckCount(); } | 271 size_t GetAndResetAckCount() { return ack_handler_->GetAndResetAckCount(); } |
| 273 | 272 |
| 274 size_t AckCount() const { return ack_handler_->ack_count(); } | 273 size_t AckCount() const { return ack_handler_->ack_count(); } |
| 275 | 274 |
| 276 int64_t NextLatencyID() { return ++last_input_id_; } | |
| 277 | |
| 278 ui::LatencyInfo CreateLatencyInfo() { | 275 ui::LatencyInfo CreateLatencyInfo() { |
| 279 ui::LatencyInfo latency; | 276 ui::LatencyInfo latency; |
| 280 latency.AddLatencyNumber( | 277 latency.AddLatencyNumber( |
| 281 ui::INPUT_EVENT_LATENCY_SCROLL_UPDATE_ORIGINAL_COMPONENT, 1, 0); | 278 ui::INPUT_EVENT_LATENCY_SCROLL_UPDATE_ORIGINAL_COMPONENT, 1); |
| 282 latency.AddLatencyNumber(ui::INPUT_EVENT_LATENCY_BEGIN_RWH_COMPONENT, 1, | 279 latency.AddLatencyNumber(ui::INPUT_EVENT_LATENCY_BEGIN_RWH_COMPONENT, 1); |
| 283 NextLatencyID()); | |
| 284 return latency; | 280 return latency; |
| 285 } | 281 } |
| 286 | 282 |
| 287 template <typename EventType> | 283 template <typename EventType> |
| 288 void SimulateEventSequence(const char* test_name, | 284 void SimulateEventSequence(const char* test_name, |
| 289 const std::vector<EventType>& events, | 285 const std::vector<EventType>& events, |
| 290 bool ack_delay, | 286 bool ack_delay, |
| 291 size_t iterations) { | 287 size_t iterations) { |
| 292 OnHasTouchEventHandlers(true); | 288 OnHasTouchEventHandlers(true); |
| 293 | 289 |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 340 | 336 |
| 341 SendEvent(gestures[i], CreateLatencyInfo()); | 337 SendEvent(gestures[i], CreateLatencyInfo()); |
| 342 SendEventAckIfNecessary(gestures[i], INPUT_EVENT_ACK_STATE_CONSUMED); | 338 SendEventAckIfNecessary(gestures[i], INPUT_EVENT_ACK_STATE_CONSUMED); |
| 343 EXPECT_EQ(2U, GetAndResetAckCount()); | 339 EXPECT_EQ(2U, GetAndResetAckCount()); |
| 344 } | 340 } |
| 345 } | 341 } |
| 346 } | 342 } |
| 347 | 343 |
| 348 private: | 344 private: |
| 349 base::test::ScopedTaskEnvironment scoped_task_environment_; | 345 base::test::ScopedTaskEnvironment scoped_task_environment_; |
| 350 int64_t last_input_id_; | |
| 351 std::unique_ptr<NullIPCSender> sender_; | 346 std::unique_ptr<NullIPCSender> sender_; |
| 352 std::unique_ptr<NullInputRouterClient> client_; | 347 std::unique_ptr<NullInputRouterClient> client_; |
| 353 std::unique_ptr<NullInputAckHandler> ack_handler_; | 348 std::unique_ptr<NullInputAckHandler> ack_handler_; |
| 354 std::unique_ptr<LegacyInputRouterImpl> input_router_; | 349 std::unique_ptr<LegacyInputRouterImpl> input_router_; |
| 355 }; | 350 }; |
| 356 | 351 |
| 357 const size_t kDefaultSteps(100); | 352 const size_t kDefaultSteps(100); |
| 358 const size_t kDefaultIterations(100); | 353 const size_t kDefaultIterations(100); |
| 359 const gfx::Vector2dF kDefaultOrigin(100, 100); | 354 const gfx::Vector2dF kDefaultOrigin(100, 100); |
| 360 const gfx::Vector2dF kDefaultDistance(500, 500); | 355 const gfx::Vector2dF kDefaultDistance(500, 500); |
| (...skipping 26 matching lines...) Expand all Loading... |
| 387 true, kDefaultIterations); | 382 true, kDefaultIterations); |
| 388 } | 383 } |
| 389 | 384 |
| 390 TEST_F(LegacyInputRouterImplPerfTest, TouchSwipeToGestureScroll) { | 385 TEST_F(LegacyInputRouterImplPerfTest, TouchSwipeToGestureScroll) { |
| 391 SimulateTouchAndScrollEventSequence("TouchSwipeToGestureScroll ", | 386 SimulateTouchAndScrollEventSequence("TouchSwipeToGestureScroll ", |
| 392 kDefaultSteps, kDefaultOrigin, | 387 kDefaultSteps, kDefaultOrigin, |
| 393 kDefaultDistance, kDefaultIterations); | 388 kDefaultDistance, kDefaultIterations); |
| 394 } | 389 } |
| 395 | 390 |
| 396 } // namespace content | 391 } // namespace content |
| OLD | NEW |