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

Side by Side Diff: ui/aura/gestures/gesture_recognizer_unittest.cc

Issue 630003003: Change GestureConfiguration types to be consistent with each other and with the (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Really fix compile Created 6 years, 2 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 "base/command_line.h" 5 #include "base/command_line.h"
6 #include "base/memory/scoped_vector.h" 6 #include "base/memory/scoped_vector.h"
7 #include "base/run_loop.h" 7 #include "base/run_loop.h"
8 #include "base/strings/string_number_conversions.h" 8 #include "base/strings/string_number_conversions.h"
9 #include "base/timer/timer.h" 9 #include "base/timer/timer.h"
10 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
(...skipping 480 matching lines...) Expand 10 before | Expand all | Expand 10 after
491 491
492 void SendScrollEvents(ui::EventProcessor* dispatcher, 492 void SendScrollEvents(ui::EventProcessor* dispatcher,
493 float x_start, 493 float x_start,
494 float y_start, 494 float y_start,
495 int dx, 495 int dx,
496 int dy, 496 int dy,
497 int touch_id, 497 int touch_id,
498 int time_step, 498 int time_step,
499 int num_steps, 499 int num_steps,
500 GestureEventConsumeDelegate* delegate) { 500 GestureEventConsumeDelegate* delegate) {
501 int x = x_start; 501 float x = x_start;
502 int y = y_start; 502 float y = y_start;
503 503
504 for (int i = 0; i < num_steps; i++) { 504 for (int i = 0; i < num_steps; i++) {
505 x += dx; 505 x += dx;
506 y += dy; 506 y += dy;
507 ui::TouchEvent move(ui::ET_TOUCH_MOVED, gfx::PointF(x, y), 507 ui::TouchEvent move(ui::ET_TOUCH_MOVED, gfx::PointF(x, y),
508 touch_id, 508 touch_id,
509 base::TimeDelta::FromMilliseconds(simulated_now_)); 509 base::TimeDelta::FromMilliseconds(simulated_now_));
510 ui::EventDispatchDetails details = dispatcher->OnEventFromSource(&move); 510 ui::EventDispatchDetails details = dispatcher->OnEventFromSource(&move);
511 ASSERT_FALSE(details.dispatcher_destroyed); 511 ASSERT_FALSE(details.dispatcher_destroyed);
512 simulated_now_ += time_step; 512 simulated_now_ += time_step;
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
629 } // namespace 629 } // namespace
630 630
631 class GestureRecognizerTest : public AuraTestBase, 631 class GestureRecognizerTest : public AuraTestBase,
632 public ::testing::WithParamInterface<bool> { 632 public ::testing::WithParamInterface<bool> {
633 public: 633 public:
634 GestureRecognizerTest() {} 634 GestureRecognizerTest() {}
635 635
636 virtual void SetUp() override { 636 virtual void SetUp() override {
637 AuraTestBase::SetUp(); 637 AuraTestBase::SetUp();
638 ui::GestureConfiguration::set_show_press_delay_in_ms(2); 638 ui::GestureConfiguration::set_show_press_delay_in_ms(2);
639 ui::GestureConfiguration::set_long_press_time_in_seconds(0.003); 639 ui::GestureConfiguration::set_long_press_time_in_ms(3);
640 } 640 }
641 641
642 DISALLOW_COPY_AND_ASSIGN(GestureRecognizerTest); 642 DISALLOW_COPY_AND_ASSIGN(GestureRecognizerTest);
643 }; 643 };
644 644
645 // Check that appropriate touch events generate tap gesture events. 645 // Check that appropriate touch events generate tap gesture events.
646 TEST_F(GestureRecognizerTest, GestureEventTap) { 646 TEST_F(GestureRecognizerTest, GestureEventTap) {
647 scoped_ptr<GestureEventConsumeDelegate> delegate( 647 scoped_ptr<GestureEventConsumeDelegate> delegate(
648 new GestureEventConsumeDelegate()); 648 new GestureEventConsumeDelegate());
649 TimedEvents tes; 649 TimedEvents tes;
(...skipping 282 matching lines...) Expand 10 before | Expand all | Expand 10 after
932 EXPECT_EQ(149, actual_point.y()); 932 EXPECT_EQ(149, actual_point.y());
933 } 933 }
934 } 934 }
935 935
936 // Check that appropriate touch events generate scroll gesture events. 936 // Check that appropriate touch events generate scroll gesture events.
937 TEST_F(GestureRecognizerTest, GestureEventScroll) { 937 TEST_F(GestureRecognizerTest, GestureEventScroll) {
938 // We'll start by moving the touch point by (10.5, 10.5). We want 5 dips of 938 // We'll start by moving the touch point by (10.5, 10.5). We want 5 dips of
939 // that distance to be consumed by the slop, so we set the slop radius to 939 // that distance to be consumed by the slop, so we set the slop radius to
940 // sqrt(5 * 5 + 5 * 5). 940 // sqrt(5 * 5 + 5 * 5).
941 ui::GestureConfiguration::set_max_touch_move_in_pixels_for_click( 941 ui::GestureConfiguration::set_max_touch_move_in_pixels_for_click(
942 sqrt(static_cast<double>(5 * 5 + 5 * 5))); 942 sqrt(5.f * 5 + 5 * 5));
943 scoped_ptr<GestureEventConsumeDelegate> delegate( 943 scoped_ptr<GestureEventConsumeDelegate> delegate(
944 new GestureEventConsumeDelegate()); 944 new GestureEventConsumeDelegate());
945 TimedEvents tes; 945 TimedEvents tes;
946 const int kWindowWidth = 123; 946 const int kWindowWidth = 123;
947 const int kWindowHeight = 45; 947 const int kWindowHeight = 45;
948 const int kTouchId = 5; 948 const int kTouchId = 5;
949 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight); 949 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight);
950 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( 950 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate(
951 delegate.get(), -1234, bounds, root_window())); 951 delegate.get(), -1234, bounds, root_window()));
952 952
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
1003 ui::ET_GESTURE_END); 1003 ui::ET_GESTURE_END);
1004 EXPECT_TRUE(delegate->bounding_box().IsEmpty()); 1004 EXPECT_TRUE(delegate->bounding_box().IsEmpty());
1005 } 1005 }
1006 1006
1007 // Check that predicted scroll update positions are correct. 1007 // Check that predicted scroll update positions are correct.
1008 TEST_F(GestureRecognizerTest, GestureEventScrollPrediction) { 1008 TEST_F(GestureRecognizerTest, GestureEventScrollPrediction) {
1009 // We'll start by moving the touch point by (5, 5). We want all of that 1009 // We'll start by moving the touch point by (5, 5). We want all of that
1010 // distance to be consumed by the slop, so we set the slop radius to 1010 // distance to be consumed by the slop, so we set the slop radius to
1011 // sqrt(5 * 5 + 5 * 5). 1011 // sqrt(5 * 5 + 5 * 5).
1012 ui::GestureConfiguration::set_max_touch_move_in_pixels_for_click( 1012 ui::GestureConfiguration::set_max_touch_move_in_pixels_for_click(
1013 sqrt(static_cast<double>(5 * 5 + 5 * 5))); 1013 sqrt(5.f * 5 + 5 * 5));
1014 1014
1015 scoped_ptr<GestureEventConsumeDelegate> delegate( 1015 scoped_ptr<GestureEventConsumeDelegate> delegate(
1016 new GestureEventConsumeDelegate()); 1016 new GestureEventConsumeDelegate());
1017 TimedEvents tes; 1017 TimedEvents tes;
1018 const int kWindowWidth = 123; 1018 const int kWindowWidth = 123;
1019 const int kWindowHeight = 45; 1019 const int kWindowHeight = 45;
1020 const int kTouchId = 5; 1020 const int kTouchId = 5;
1021 gfx::Rect bounds(95, 195, kWindowWidth, kWindowHeight); 1021 gfx::Rect bounds(95, 195, kWindowWidth, kWindowHeight);
1022 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( 1022 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate(
1023 delegate.get(), -1234, bounds, root_window())); 1023 delegate.get(), -1234, bounds, root_window()));
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
1073 delegate->Reset(); 1073 delegate->Reset();
1074 ui::TouchEvent release(ui::ET_TOUCH_RELEASED, gfx::Point(101, 201), 1074 ui::TouchEvent release(ui::ET_TOUCH_RELEASED, gfx::Point(101, 201),
1075 kTouchId, 1075 kTouchId,
1076 tes.LeapForward(50)); 1076 tes.LeapForward(50));
1077 DispatchEventUsingWindowDispatcher(&release); 1077 DispatchEventUsingWindowDispatcher(&release);
1078 } 1078 }
1079 1079
1080 // Check that the bounding box during a scroll event is correct. 1080 // Check that the bounding box during a scroll event is correct.
1081 TEST_F(GestureRecognizerTest, GestureEventScrollBoundingBox) { 1081 TEST_F(GestureRecognizerTest, GestureEventScrollBoundingBox) {
1082 TimedEvents tes; 1082 TimedEvents tes;
1083 for (int radius = 1; radius <= 10; ++radius) { 1083 for (float radius = 1; radius <= 10; ++radius) {
1084 ui::GestureConfiguration::set_default_radius(radius); 1084 ui::GestureConfiguration::set_default_radius(radius);
1085 scoped_ptr<GestureEventConsumeDelegate> delegate( 1085 scoped_ptr<GestureEventConsumeDelegate> delegate(
1086 new GestureEventConsumeDelegate()); 1086 new GestureEventConsumeDelegate());
1087 const int kWindowWidth = 123; 1087 const int kWindowWidth = 123;
1088 const int kWindowHeight = 45; 1088 const int kWindowHeight = 45;
1089 const int kTouchId = 5; 1089 const int kTouchId = 5;
1090 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight); 1090 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight);
1091 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( 1091 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate(
1092 delegate.get(), -1234, bounds, root_window())); 1092 delegate.get(), -1234, bounds, root_window()));
1093 1093
1094 const int kPositionX = 101; 1094 const float kPositionX = 101;
1095 const int kPositionY = 201; 1095 const float kPositionY = 201;
1096 delegate->Reset(); 1096 delegate->Reset();
1097 ui::TouchEvent press(ui::ET_TOUCH_PRESSED, 1097 ui::TouchEvent press(ui::ET_TOUCH_PRESSED,
1098 gfx::Point(kPositionX, kPositionY), 1098 gfx::PointF(kPositionX, kPositionY),
1099 kTouchId, 1099 kTouchId,
1100 tes.Now()); 1100 tes.Now());
1101 DispatchEventUsingWindowDispatcher(&press); 1101 DispatchEventUsingWindowDispatcher(&press);
1102 EXPECT_EQ(gfx::Rect(kPositionX - radius, 1102 EXPECT_EQ(gfx::RectF(kPositionX - radius,
1103 kPositionY - radius, 1103 kPositionY - radius,
1104 radius * 2, 1104 radius * 2,
1105 radius * 2).ToString(), 1105 radius * 2),
1106 delegate->bounding_box().ToString()); 1106 delegate->bounding_box());
1107 1107
1108 const int kScrollAmount = 50; 1108 const int kScrollAmount = 50;
1109 tes.SendScrollEvents(event_processor(), kPositionX, kPositionY, 1109 tes.SendScrollEvents(event_processor(), kPositionX, kPositionY,
1110 1, 1, kTouchId, 1, kScrollAmount, delegate.get()); 1110 1, 1, kTouchId, 1, kScrollAmount, delegate.get());
1111 EXPECT_EQ(gfx::Point(1, 1).ToString(), 1111 EXPECT_EQ(gfx::Point(1, 1).ToString(),
1112 delegate->scroll_begin_position().ToString()); 1112 delegate->scroll_begin_position().ToString());
1113 EXPECT_EQ(gfx::Rect(kPositionX + kScrollAmount - radius, 1113 EXPECT_EQ(gfx::RectF(kPositionX + kScrollAmount - radius,
1114 kPositionY + kScrollAmount - radius, 1114 kPositionY + kScrollAmount - radius,
1115 radius * 2, 1115 radius * 2,
1116 radius * 2).ToString(), 1116 radius * 2),
1117 delegate->bounding_box().ToString()); 1117 delegate->bounding_box());
1118 1118
1119 // Release the touch. This should end the scroll. 1119 // Release the touch. This should end the scroll.
1120 delegate->Reset(); 1120 delegate->Reset();
1121 ui::TouchEvent release(ui::ET_TOUCH_RELEASED, 1121 ui::TouchEvent release(ui::ET_TOUCH_RELEASED,
1122 gfx::Point(kPositionX + kScrollAmount, 1122 gfx::PointF(kPositionX + kScrollAmount,
1123 kPositionY + kScrollAmount), 1123 kPositionY + kScrollAmount),
1124 kTouchId, press.time_stamp() + 1124 kTouchId, press.time_stamp() +
1125 base::TimeDelta::FromMilliseconds(50)); 1125 base::TimeDelta::FromMilliseconds(50));
1126 DispatchEventUsingWindowDispatcher(&release); 1126 DispatchEventUsingWindowDispatcher(&release);
1127 EXPECT_EQ(gfx::Rect(kPositionX + kScrollAmount - radius, 1127 EXPECT_EQ(gfx::RectF(kPositionX + kScrollAmount - radius,
1128 kPositionY + kScrollAmount - radius, 1128 kPositionY + kScrollAmount - radius,
1129 radius * 2, 1129 radius * 2,
1130 radius * 2).ToString(), 1130 radius * 2),
1131 delegate->bounding_box().ToString()); 1131 delegate->bounding_box());
1132 } 1132 }
1133 ui::GestureConfiguration::set_default_radius(0); 1133 ui::GestureConfiguration::set_default_radius(0);
1134 } 1134 }
1135 1135
1136 // Check Scroll End Events report correct velocities 1136 // Check Scroll End Events report correct velocities
1137 // if the user was on a horizontal rail 1137 // if the user was on a horizontal rail
1138 TEST_F(GestureRecognizerTest, GestureEventHorizontalRailFling) { 1138 TEST_F(GestureRecognizerTest, GestureEventHorizontalRailFling) {
1139 scoped_ptr<GestureEventConsumeDelegate> delegate( 1139 scoped_ptr<GestureEventConsumeDelegate> delegate(
1140 new GestureEventConsumeDelegate()); 1140 new GestureEventConsumeDelegate());
1141 TimedEvents tes; 1141 TimedEvents tes;
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after
1359 delegate->Reset(); 1359 delegate->Reset();
1360 ui::TouchEvent release1(ui::ET_TOUCH_RELEASED, gfx::Point(101, 201), 1360 ui::TouchEvent release1(ui::ET_TOUCH_RELEASED, gfx::Point(101, 201),
1361 kTouchId, tes.LeapForward(10)); 1361 kTouchId, tes.LeapForward(10));
1362 DispatchEventUsingWindowDispatcher(&release1); 1362 DispatchEventUsingWindowDispatcher(&release1);
1363 EXPECT_FALSE(delegate->long_press()); 1363 EXPECT_FALSE(delegate->long_press());
1364 EXPECT_FALSE(delegate->tap_cancel()); 1364 EXPECT_FALSE(delegate->tap_cancel());
1365 } 1365 }
1366 1366
1367 // Check that appropriate touch events generate long tap events 1367 // Check that appropriate touch events generate long tap events
1368 TEST_F(GestureRecognizerTest, GestureEventLongTap) { 1368 TEST_F(GestureRecognizerTest, GestureEventLongTap) {
1369 ui::GestureConfiguration::set_max_touch_down_duration_in_seconds_for_click( 1369 ui::GestureConfiguration::set_max_touch_down_duration_for_click_in_ms(3);
1370 0.0025);
1371 scoped_ptr<GestureEventConsumeDelegate> delegate( 1370 scoped_ptr<GestureEventConsumeDelegate> delegate(
1372 new GestureEventConsumeDelegate()); 1371 new GestureEventConsumeDelegate());
1373 const int kWindowWidth = 123; 1372 const int kWindowWidth = 123;
1374 const int kWindowHeight = 45; 1373 const int kWindowHeight = 45;
1375 const int kTouchId = 2; 1374 const int kTouchId = 2;
1376 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight); 1375 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight);
1377 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( 1376 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate(
1378 delegate.get(), -1234, bounds, root_window())); 1377 delegate.get(), -1234, bounds, root_window()));
1379 1378
1380 delegate->Reset(); 1379 delegate->Reset();
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after
1567 EXPECT_TRUE(delegate->scroll_update()); 1566 EXPECT_TRUE(delegate->scroll_update());
1568 EXPECT_EQ(5, delegate->scroll_x()); 1567 EXPECT_EQ(5, delegate->scroll_x());
1569 EXPECT_EQ(5, delegate->scroll_y()); 1568 EXPECT_EQ(5, delegate->scroll_y());
1570 } 1569 }
1571 1570
1572 TEST_F(GestureRecognizerTest, GestureTapFollowedByScroll) { 1571 TEST_F(GestureRecognizerTest, GestureTapFollowedByScroll) {
1573 // We'll start by moving the touch point by (5, 5). We want all of that 1572 // We'll start by moving the touch point by (5, 5). We want all of that
1574 // distance to be consumed by the slop, so we set the slop radius to 1573 // distance to be consumed by the slop, so we set the slop radius to
1575 // sqrt(5 * 5 + 5 * 5). 1574 // sqrt(5 * 5 + 5 * 5).
1576 ui::GestureConfiguration::set_max_touch_move_in_pixels_for_click( 1575 ui::GestureConfiguration::set_max_touch_move_in_pixels_for_click(
1577 sqrt(static_cast<double>(5 * 5 + 5 * 5))); 1576 sqrt(5.f * 5 + 5 * 5));
1578 1577
1579 // First, tap. Then, do a scroll using the same touch-id. 1578 // First, tap. Then, do a scroll using the same touch-id.
1580 scoped_ptr<GestureEventConsumeDelegate> delegate( 1579 scoped_ptr<GestureEventConsumeDelegate> delegate(
1581 new GestureEventConsumeDelegate()); 1580 new GestureEventConsumeDelegate());
1582 TimedEvents tes; 1581 TimedEvents tes;
1583 const int kWindowWidth = 123; 1582 const int kWindowWidth = 123;
1584 const int kWindowHeight = 45; 1583 const int kWindowHeight = 45;
1585 const int kTouchId = 3; 1584 const int kTouchId = 3;
1586 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight); 1585 gfx::Rect bounds(100, 200, kWindowWidth, kWindowHeight);
1587 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate( 1586 scoped_ptr<aura::Window> window(CreateTestWindowWithDelegate(
(...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after
1824 EXPECT_FALSE(queued_delegate->begin()); 1823 EXPECT_FALSE(queued_delegate->begin());
1825 EXPECT_FALSE(queued_delegate->end()); 1824 EXPECT_FALSE(queued_delegate->end());
1826 EXPECT_FALSE(queued_delegate->scroll_begin()); 1825 EXPECT_FALSE(queued_delegate->scroll_begin());
1827 EXPECT_FALSE(queued_delegate->scroll_update()); 1826 EXPECT_FALSE(queued_delegate->scroll_update());
1828 EXPECT_FALSE(queued_delegate->scroll_end()); 1827 EXPECT_FALSE(queued_delegate->scroll_end());
1829 1828
1830 // Move the second touch-point enough so that it is considered a pinch. This 1829 // Move the second touch-point enough so that it is considered a pinch. This
1831 // should generate both SCROLL_BEGIN and PINCH_BEGIN gestures. 1830 // should generate both SCROLL_BEGIN and PINCH_BEGIN gestures.
1832 queued_delegate->Reset(); 1831 queued_delegate->Reset();
1833 delegate->Reset(); 1832 delegate->Reset();
1834 int x_move = ui::GestureConfiguration::max_touch_move_in_pixels_for_click();
1835 ui::TouchEvent move( 1833 ui::TouchEvent move(
1836 ui::ET_TOUCH_MOVED, gfx::Point(203 + x_move, 303), kTouchId2, tes.Now()); 1834 ui::ET_TOUCH_MOVED,
1835 gfx::PointF(
1836 203 + ui::GestureConfiguration::max_touch_move_in_pixels_for_click(),
1837 303),
1838 kTouchId2,
1839 tes.Now());
1837 DispatchEventUsingWindowDispatcher(&move); 1840 DispatchEventUsingWindowDispatcher(&move);
1838 EXPECT_FALSE(delegate->tap()); 1841 EXPECT_FALSE(delegate->tap());
1839 EXPECT_FALSE(delegate->tap_down()); 1842 EXPECT_FALSE(delegate->tap_down());
1840 EXPECT_FALSE(delegate->tap_cancel()); 1843 EXPECT_FALSE(delegate->tap_cancel());
1841 EXPECT_FALSE(delegate->begin()); 1844 EXPECT_FALSE(delegate->begin());
1842 EXPECT_FALSE(delegate->scroll_begin()); 1845 EXPECT_FALSE(delegate->scroll_begin());
1843 EXPECT_FALSE(delegate->scroll_update()); 1846 EXPECT_FALSE(delegate->scroll_update());
1844 EXPECT_FALSE(delegate->scroll_end()); 1847 EXPECT_FALSE(delegate->scroll_end());
1845 EXPECT_FALSE(queued_delegate->tap()); 1848 EXPECT_FALSE(queued_delegate->tap());
1846 EXPECT_FALSE(queued_delegate->tap_down()); 1849 EXPECT_FALSE(queued_delegate->tap_down());
(...skipping 2456 matching lines...) Expand 10 before | Expand all | Expand 10 after
4303 ui::TouchEvent move3( 4306 ui::TouchEvent move3(
4304 ui::ET_TOUCH_MOVED, gfx::Point(65, 202), kTouchId1, tes.Now()); 4307 ui::ET_TOUCH_MOVED, gfx::Point(65, 202), kTouchId1, tes.Now());
4305 DispatchEventUsingWindowDispatcher(&move3); 4308 DispatchEventUsingWindowDispatcher(&move3);
4306 4309
4307 delegate->ReceivedAck(); 4310 delegate->ReceivedAck();
4308 EXPECT_1_EVENT(delegate->events(), ui::ET_GESTURE_SCROLL_UPDATE); 4311 EXPECT_1_EVENT(delegate->events(), ui::ET_GESTURE_SCROLL_UPDATE);
4309 } 4312 }
4310 4313
4311 } // namespace test 4314 } // namespace test
4312 } // namespace aura 4315 } // namespace aura
OLDNEW
« no previous file with comments | « content/browser/renderer_host/input/touch_event_queue_unittest.cc ('k') | ui/aura/test/aura_test_base.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698