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

Side by Side Diff: content/browser/renderer_host/input/tap_suppression_controller_unittest.cc

Issue 2542453003: Suppress LongPress/Tap, and TwoFingerTap when TapDown cancels a fling. (Closed)
Patch Set: clarification comments added. Created 4 years 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "content/browser/renderer_host/input/tap_suppression_controller.h" 5 #include "content/browser/renderer_host/input/tap_suppression_controller.h"
6 6
7 #include <memory> 7 #include <memory>
8 8
9 #include "base/macros.h" 9 #include "base/macros.h"
10 #include "content/browser/renderer_host/input/tap_suppression_controller_client. h" 10 #include "content/browser/renderer_host/input/tap_suppression_controller_client. h"
11 #include "testing/gtest/include/gtest/gtest.h" 11 #include "testing/gtest/include/gtest/gtest.h"
12 12
13 using base::TimeDelta; 13 using base::TimeDelta;
14 14
15 namespace content { 15 namespace content {
16 16
17 class MockTapSuppressionController : public TapSuppressionController, 17 class MockTapSuppressionController : public TapSuppressionController,
18 public TapSuppressionControllerClient { 18 public TapSuppressionControllerClient {
19 public: 19 public:
20 using TapSuppressionController::DISABLED; 20 using TapSuppressionController::DISABLED;
21 using TapSuppressionController::NOTHING; 21 using TapSuppressionController::NOTHING;
22 using TapSuppressionController::GFC_IN_PROGRESS; 22 using TapSuppressionController::GFC_IN_PROGRESS;
23 using TapSuppressionController::TAP_DOWN_STASHED; 23 using TapSuppressionController::TAP_DOWN_STASHED;
24 using TapSuppressionController::LAST_CANCEL_STOPPED_FLING; 24 using TapSuppressionController::LAST_CANCEL_STOPPED_FLING;
25 using TapSuppressionController::SUPPRESSING_TAPS;
25 26
26 enum Action { 27 enum Action {
27 NONE = 0, 28 NONE = 0,
28 TAP_DOWN_DEFERRED = 1 << 0, 29 TAP_DOWN_DEFERRED = 1 << 0,
29 TAP_DOWN_FORWARDED = 1 << 1, 30 TAP_DOWN_FORWARDED = 1 << 1,
30 TAP_DOWN_DROPPED = 1 << 2, 31 TAP_DOWN_DROPPED = 1 << 2,
31 TAP_UP_SUPPRESSED = 1 << 3, 32 TAP_UP_SUPPRESSED = 1 << 3,
32 TAP_UP_FORWARDED = 1 << 4, 33 TAP_UP_FORWARDED = 1 << 4,
33 TAP_CANCEL_SUPPRESSED = 1 << 5, 34 TAP_CANCEL_SUPPRESSED = 1 << 5,
34 TAP_CANCEL_FORWARDED = 1 << 6, 35 TAP_CANCEL_FORWARDED = 1 << 6,
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 timer_expiry_time_ = time_ + delay; 98 timer_expiry_time_ = time_ + delay;
98 timer_started_ = true; 99 timer_started_ = true;
99 } 100 }
100 101
101 void StopTapDownTimer() override { timer_started_ = false; } 102 void StopTapDownTimer() override { timer_started_ = false; }
102 103
103 private: 104 private:
104 // TapSuppressionControllerClient implementation 105 // TapSuppressionControllerClient implementation
105 void DropStashedTapDown() override { last_actions_ |= TAP_DOWN_DROPPED; } 106 void DropStashedTapDown() override { last_actions_ |= TAP_DOWN_DROPPED; }
106 107
108 void ForwardStashedGestureEvents() override {
109 last_actions_ |= STASHED_TAP_DOWN_FORWARDED;
110 }
111
107 void ForwardStashedTapDown() override { 112 void ForwardStashedTapDown() override {
108 last_actions_ |= STASHED_TAP_DOWN_FORWARDED; 113 last_actions_ |= STASHED_TAP_DOWN_FORWARDED;
109 } 114 }
110 115
111 // Hiding some derived public methods 116 // Hiding some derived public methods
112 using TapSuppressionController::GestureFlingCancel; 117 using TapSuppressionController::GestureFlingCancel;
113 using TapSuppressionController::GestureFlingCancelAck; 118 using TapSuppressionController::GestureFlingCancelAck;
114 using TapSuppressionController::ShouldDeferTapDown; 119 using TapSuppressionController::ShouldDeferTapDown;
115 using TapSuppressionController::ShouldSuppressTapEnd; 120 using TapSuppressionController::ShouldSuppressTapEnd;
116 121
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
171 EXPECT_EQ(MockTapSuppressionController::TAP_DOWN_DEFERRED, 176 EXPECT_EQ(MockTapSuppressionController::TAP_DOWN_DEFERRED,
172 tap_suppression_controller_->last_actions()); 177 tap_suppression_controller_->last_actions());
173 EXPECT_EQ(MockTapSuppressionController::TAP_DOWN_STASHED, 178 EXPECT_EQ(MockTapSuppressionController::TAP_DOWN_STASHED,
174 tap_suppression_controller_->state()); 179 tap_suppression_controller_->state());
175 180
176 // Send TapUp. This TapUp should be suppressed. 181 // Send TapUp. This TapUp should be suppressed.
177 tap_suppression_controller_->SendTapUp(); 182 tap_suppression_controller_->SendTapUp();
178 EXPECT_EQ(MockTapSuppressionController::TAP_UP_SUPPRESSED | 183 EXPECT_EQ(MockTapSuppressionController::TAP_UP_SUPPRESSED |
179 MockTapSuppressionController::TAP_DOWN_DROPPED, 184 MockTapSuppressionController::TAP_DOWN_DROPPED,
180 tap_suppression_controller_->last_actions()); 185 tap_suppression_controller_->last_actions());
181 EXPECT_EQ(MockTapSuppressionController::NOTHING, 186 EXPECT_EQ(MockTapSuppressionController::SUPPRESSING_TAPS,
182 tap_suppression_controller_->state()); 187 tap_suppression_controller_->state());
183 } 188 }
184 189
185 // Test TapSuppressionController for when GestureFlingCancel Ack comes before 190 // Test TapSuppressionController for when GestureFlingCancel Ack comes before
186 // TapDown, but there is a small delay between TapDown and TapUp. 191 // TapDown, but there is a small delay between TapDown and TapUp.
187 TEST_F(TapSuppressionControllerTest, GFCAckBeforeTapInsufficientlyLateTapUp) { 192 TEST_F(TapSuppressionControllerTest, GFCAckBeforeTapInsufficientlyLateTapUp) {
188 // Send GestureFlingCancel. 193 // Send GestureFlingCancel.
189 tap_suppression_controller_->SendGestureFlingCancel(); 194 tap_suppression_controller_->SendGestureFlingCancel();
190 EXPECT_EQ(MockTapSuppressionController::NONE, 195 EXPECT_EQ(MockTapSuppressionController::NONE,
191 tap_suppression_controller_->last_actions()); 196 tap_suppression_controller_->last_actions());
(...skipping 20 matching lines...) Expand all
212 EXPECT_EQ(MockTapSuppressionController::NONE, 217 EXPECT_EQ(MockTapSuppressionController::NONE,
213 tap_suppression_controller_->last_actions()); 218 tap_suppression_controller_->last_actions());
214 EXPECT_EQ(MockTapSuppressionController::TAP_DOWN_STASHED, 219 EXPECT_EQ(MockTapSuppressionController::TAP_DOWN_STASHED,
215 tap_suppression_controller_->state()); 220 tap_suppression_controller_->state());
216 221
217 // Send TapUp. This TapUp should be suppressed. 222 // Send TapUp. This TapUp should be suppressed.
218 tap_suppression_controller_->SendTapUp(); 223 tap_suppression_controller_->SendTapUp();
219 EXPECT_EQ(MockTapSuppressionController::TAP_UP_SUPPRESSED | 224 EXPECT_EQ(MockTapSuppressionController::TAP_UP_SUPPRESSED |
220 MockTapSuppressionController::TAP_DOWN_DROPPED, 225 MockTapSuppressionController::TAP_DOWN_DROPPED,
221 tap_suppression_controller_->last_actions()); 226 tap_suppression_controller_->last_actions());
222 EXPECT_EQ(MockTapSuppressionController::NOTHING, 227 EXPECT_EQ(MockTapSuppressionController::SUPPRESSING_TAPS,
223 tap_suppression_controller_->state()); 228 tap_suppression_controller_->state());
224 } 229 }
225 230
226 // Test TapSuppressionController for when GestureFlingCancel Ack comes before 231 // Test TapSuppressionController for when GestureFlingCancel Ack comes before
227 // TapDown, but there is a long delay between TapDown and TapUp. 232 // TapDown, but there is a long delay between TapDown and TapUp.
228 TEST_F(TapSuppressionControllerTest, GFCAckBeforeTapSufficientlyLateTapUp) { 233 TEST_F(TapSuppressionControllerTest, GFCAckBeforeTapSufficientlyLateTapUp) {
229 // Send GestureFlingCancel. 234 // Send GestureFlingCancel.
230 tap_suppression_controller_->SendGestureFlingCancel(); 235 tap_suppression_controller_->SendGestureFlingCancel();
231 EXPECT_EQ(MockTapSuppressionController::NONE, 236 EXPECT_EQ(MockTapSuppressionController::NONE,
232 tap_suppression_controller_->last_actions()); 237 tap_suppression_controller_->last_actions());
(...skipping 12 matching lines...) Expand all
245 EXPECT_EQ(MockTapSuppressionController::TAP_DOWN_DEFERRED, 250 EXPECT_EQ(MockTapSuppressionController::TAP_DOWN_DEFERRED,
246 tap_suppression_controller_->last_actions()); 251 tap_suppression_controller_->last_actions());
247 EXPECT_EQ(MockTapSuppressionController::TAP_DOWN_STASHED, 252 EXPECT_EQ(MockTapSuppressionController::TAP_DOWN_STASHED,
248 tap_suppression_controller_->state()); 253 tap_suppression_controller_->state());
249 254
250 // Wait more than allowed delay between TapDown and TapUp, so they are not 255 // Wait more than allowed delay between TapDown and TapUp, so they are not
251 // considered a tap. This should release the previously suppressed TapDown. 256 // considered a tap. This should release the previously suppressed TapDown.
252 tap_suppression_controller_->AdvanceTime(TimeDelta::FromMilliseconds(13)); 257 tap_suppression_controller_->AdvanceTime(TimeDelta::FromMilliseconds(13));
253 EXPECT_EQ(MockTapSuppressionController::STASHED_TAP_DOWN_FORWARDED, 258 EXPECT_EQ(MockTapSuppressionController::STASHED_TAP_DOWN_FORWARDED,
254 tap_suppression_controller_->last_actions()); 259 tap_suppression_controller_->last_actions());
255 EXPECT_EQ(MockTapSuppressionController::NOTHING, 260 EXPECT_EQ(MockTapSuppressionController::SUPPRESSING_TAPS,
256 tap_suppression_controller_->state()); 261 tap_suppression_controller_->state());
257 262
258 // Send TapUp. This TapUp should not be suppressed. 263 // Send TapUp. This TapUp should be still suppressed.
264 // LongTap should be suppressed when the previously suppressed TapDown is
265 // forwarded because of the timer expiration.
259 tap_suppression_controller_->SendTapUp(); 266 tap_suppression_controller_->SendTapUp();
260 EXPECT_EQ(MockTapSuppressionController::TAP_UP_FORWARDED, 267 EXPECT_EQ(MockTapSuppressionController::TAP_UP_SUPPRESSED,
261 tap_suppression_controller_->last_actions()); 268 tap_suppression_controller_->last_actions());
262 EXPECT_EQ(MockTapSuppressionController::NOTHING, 269 EXPECT_EQ(MockTapSuppressionController::SUPPRESSING_TAPS,
263 tap_suppression_controller_->state()); 270 tap_suppression_controller_->state());
264 } 271 }
265 272
266 // Test TapSuppressionController for when GestureFlingCancel Ack comes before 273 // Test TapSuppressionController for when GestureFlingCancel Ack comes before
267 // TapDown, but there is a small delay between the Ack and TapDown. 274 // TapDown, but there is a small delay between the Ack and TapDown.
268 TEST_F(TapSuppressionControllerTest, GFCAckBeforeTapInsufficientlyLateTapDown) { 275 TEST_F(TapSuppressionControllerTest, GFCAckBeforeTapInsufficientlyLateTapDown) {
269 // Send GestureFlingCancel. 276 // Send GestureFlingCancel.
270 tap_suppression_controller_->SendGestureFlingCancel(); 277 tap_suppression_controller_->SendGestureFlingCancel();
271 EXPECT_EQ(MockTapSuppressionController::NONE, 278 EXPECT_EQ(MockTapSuppressionController::NONE,
272 tap_suppression_controller_->last_actions()); 279 tap_suppression_controller_->last_actions());
(...skipping 20 matching lines...) Expand all
293 EXPECT_EQ(MockTapSuppressionController::TAP_DOWN_DEFERRED, 300 EXPECT_EQ(MockTapSuppressionController::TAP_DOWN_DEFERRED,
294 tap_suppression_controller_->last_actions()); 301 tap_suppression_controller_->last_actions());
295 EXPECT_EQ(MockTapSuppressionController::TAP_DOWN_STASHED, 302 EXPECT_EQ(MockTapSuppressionController::TAP_DOWN_STASHED,
296 tap_suppression_controller_->state()); 303 tap_suppression_controller_->state());
297 304
298 // Send TapUp. This TapUp should be suppressed. 305 // Send TapUp. This TapUp should be suppressed.
299 tap_suppression_controller_->SendTapUp(); 306 tap_suppression_controller_->SendTapUp();
300 EXPECT_EQ(MockTapSuppressionController::TAP_UP_SUPPRESSED | 307 EXPECT_EQ(MockTapSuppressionController::TAP_UP_SUPPRESSED |
301 MockTapSuppressionController::TAP_DOWN_DROPPED, 308 MockTapSuppressionController::TAP_DOWN_DROPPED,
302 tap_suppression_controller_->last_actions()); 309 tap_suppression_controller_->last_actions());
303 EXPECT_EQ(MockTapSuppressionController::NOTHING, 310 EXPECT_EQ(MockTapSuppressionController::SUPPRESSING_TAPS,
304 tap_suppression_controller_->state()); 311 tap_suppression_controller_->state());
305 } 312 }
306 313
307 // Test TapSuppressionController for when GestureFlingCancel Ack comes before 314 // Test TapSuppressionController for when GestureFlingCancel Ack comes before
308 // TapDown, but there is a long delay between the Ack and TapDown. 315 // TapDown, but there is a long delay between the Ack and TapDown.
309 TEST_F(TapSuppressionControllerTest, GFCAckBeforeTapSufficientlyLateTapDown) { 316 TEST_F(TapSuppressionControllerTest, GFCAckBeforeTapSufficientlyLateTapDown) {
310 // Send GestureFlingCancel. 317 // Send GestureFlingCancel.
311 tap_suppression_controller_->SendGestureFlingCancel(); 318 tap_suppression_controller_->SendGestureFlingCancel();
312 EXPECT_EQ(MockTapSuppressionController::NONE, 319 EXPECT_EQ(MockTapSuppressionController::NONE,
313 tap_suppression_controller_->last_actions()); 320 tap_suppression_controller_->last_actions());
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
399 EXPECT_EQ(MockTapSuppressionController::NONE, 406 EXPECT_EQ(MockTapSuppressionController::NONE,
400 tap_suppression_controller_->last_actions()); 407 tap_suppression_controller_->last_actions());
401 EXPECT_EQ(MockTapSuppressionController::TAP_DOWN_STASHED, 408 EXPECT_EQ(MockTapSuppressionController::TAP_DOWN_STASHED,
402 tap_suppression_controller_->state()); 409 tap_suppression_controller_->state());
403 410
404 // Send TapUp. This TapUp should be suppressed. 411 // Send TapUp. This TapUp should be suppressed.
405 tap_suppression_controller_->SendTapUp(); 412 tap_suppression_controller_->SendTapUp();
406 EXPECT_EQ(MockTapSuppressionController::TAP_UP_SUPPRESSED | 413 EXPECT_EQ(MockTapSuppressionController::TAP_UP_SUPPRESSED |
407 MockTapSuppressionController::TAP_DOWN_DROPPED, 414 MockTapSuppressionController::TAP_DOWN_DROPPED,
408 tap_suppression_controller_->last_actions()); 415 tap_suppression_controller_->last_actions());
409 EXPECT_EQ(MockTapSuppressionController::NOTHING, 416 EXPECT_EQ(MockTapSuppressionController::SUPPRESSING_TAPS,
410 tap_suppression_controller_->state()); 417 tap_suppression_controller_->state());
411 } 418 }
412 419
413 // Test TapSuppressionController for when GestureFlingCancel Ack comes after 420 // Test TapSuppressionController for when GestureFlingCancel Ack comes after
414 // TapDown and there is a small delay between the Ack and TapUp. 421 // TapDown and there is a small delay between the Ack and TapUp.
415 TEST_F(TapSuppressionControllerTest, GFCAckAfterTapInsufficientlyLateTapUp) { 422 TEST_F(TapSuppressionControllerTest, GFCAckAfterTapInsufficientlyLateTapUp) {
416 // Send GestureFlingCancel. 423 // Send GestureFlingCancel.
417 tap_suppression_controller_->SendGestureFlingCancel(); 424 tap_suppression_controller_->SendGestureFlingCancel();
418 EXPECT_EQ(MockTapSuppressionController::NONE, 425 EXPECT_EQ(MockTapSuppressionController::NONE,
419 tap_suppression_controller_->last_actions()); 426 tap_suppression_controller_->last_actions());
(...skipping 20 matching lines...) Expand all
440 EXPECT_EQ(MockTapSuppressionController::NONE, 447 EXPECT_EQ(MockTapSuppressionController::NONE,
441 tap_suppression_controller_->last_actions()); 448 tap_suppression_controller_->last_actions());
442 EXPECT_EQ(MockTapSuppressionController::TAP_DOWN_STASHED, 449 EXPECT_EQ(MockTapSuppressionController::TAP_DOWN_STASHED,
443 tap_suppression_controller_->state()); 450 tap_suppression_controller_->state());
444 451
445 // Send TapUp. This TapUp should be suppressed. 452 // Send TapUp. This TapUp should be suppressed.
446 tap_suppression_controller_->SendTapUp(); 453 tap_suppression_controller_->SendTapUp();
447 EXPECT_EQ(MockTapSuppressionController::TAP_UP_SUPPRESSED | 454 EXPECT_EQ(MockTapSuppressionController::TAP_UP_SUPPRESSED |
448 MockTapSuppressionController::TAP_DOWN_DROPPED, 455 MockTapSuppressionController::TAP_DOWN_DROPPED,
449 tap_suppression_controller_->last_actions()); 456 tap_suppression_controller_->last_actions());
450 EXPECT_EQ(MockTapSuppressionController::NOTHING, 457 EXPECT_EQ(MockTapSuppressionController::SUPPRESSING_TAPS,
451 tap_suppression_controller_->state()); 458 tap_suppression_controller_->state());
452 } 459 }
453 460
454 // Test TapSuppressionController for when GestureFlingCancel Ack comes after 461 // Test TapSuppressionController for when GestureFlingCancel Ack comes after
455 // TapDown and there is a long delay between the Ack and TapUp. 462 // TapDown and there is a long delay between the Ack and TapUp.
456 TEST_F(TapSuppressionControllerTest, GFCAckAfterTapSufficientlyLateTapUp) { 463 TEST_F(TapSuppressionControllerTest, GFCAckAfterTapSufficientlyLateTapUp) {
457 // Send GestureFlingCancel. 464 // Send GestureFlingCancel.
458 tap_suppression_controller_->SendGestureFlingCancel(); 465 tap_suppression_controller_->SendGestureFlingCancel();
459 EXPECT_EQ(MockTapSuppressionController::NONE, 466 EXPECT_EQ(MockTapSuppressionController::NONE,
460 tap_suppression_controller_->last_actions()); 467 tap_suppression_controller_->last_actions());
(...skipping 12 matching lines...) Expand all
473 EXPECT_EQ(MockTapSuppressionController::NONE, 480 EXPECT_EQ(MockTapSuppressionController::NONE,
474 tap_suppression_controller_->last_actions()); 481 tap_suppression_controller_->last_actions());
475 EXPECT_EQ(MockTapSuppressionController::TAP_DOWN_STASHED, 482 EXPECT_EQ(MockTapSuppressionController::TAP_DOWN_STASHED,
476 tap_suppression_controller_->state()); 483 tap_suppression_controller_->state());
477 484
478 // Wait more than allowed delay between TapDown and TapUp, so they are not 485 // Wait more than allowed delay between TapDown and TapUp, so they are not
479 // considered as a tap. This should release the previously suppressed TapDown. 486 // considered as a tap. This should release the previously suppressed TapDown.
480 tap_suppression_controller_->AdvanceTime(TimeDelta::FromMilliseconds(13)); 487 tap_suppression_controller_->AdvanceTime(TimeDelta::FromMilliseconds(13));
481 EXPECT_EQ(MockTapSuppressionController::STASHED_TAP_DOWN_FORWARDED, 488 EXPECT_EQ(MockTapSuppressionController::STASHED_TAP_DOWN_FORWARDED,
482 tap_suppression_controller_->last_actions()); 489 tap_suppression_controller_->last_actions());
483 EXPECT_EQ(MockTapSuppressionController::NOTHING, 490 EXPECT_EQ(MockTapSuppressionController::SUPPRESSING_TAPS,
484 tap_suppression_controller_->state()); 491 tap_suppression_controller_->state());
485 492
486 // Send TapUp. This TapUp should not be suppressed. 493 // Send TapUp. This TapUp should be still suppressed.
494 // LongTap should be suppressed when the previously suppressed TapDown is
495 // forwarded because of timer expiration.
487 tap_suppression_controller_->SendTapUp(); 496 tap_suppression_controller_->SendTapUp();
488 EXPECT_EQ(MockTapSuppressionController::TAP_UP_FORWARDED, 497 EXPECT_EQ(MockTapSuppressionController::TAP_UP_SUPPRESSED,
489 tap_suppression_controller_->last_actions()); 498 tap_suppression_controller_->last_actions());
490 EXPECT_EQ(MockTapSuppressionController::NOTHING, 499 EXPECT_EQ(MockTapSuppressionController::SUPPRESSING_TAPS,
491 tap_suppression_controller_->state()); 500 tap_suppression_controller_->state());
492 } 501 }
493 502
494 // Test that no suppression occurs if the TapSuppressionController is disabled. 503 // Test that no suppression occurs if the TapSuppressionController is disabled.
495 TEST_F(TapSuppressionControllerTest, NoSuppressionIfDisabled) { 504 TEST_F(TapSuppressionControllerTest, NoSuppressionIfDisabled) {
496 TapSuppressionController::Config disabled_config; 505 TapSuppressionController::Config disabled_config;
497 disabled_config.enabled = false; 506 disabled_config.enabled = false;
498 tap_suppression_controller_.reset( 507 tap_suppression_controller_.reset(
499 new MockTapSuppressionController(disabled_config)); 508 new MockTapSuppressionController(disabled_config));
500 509
(...skipping 20 matching lines...) Expand all
521 530
522 // Send TapUp. This TapUp should not be suppressed. 531 // Send TapUp. This TapUp should not be suppressed.
523 tap_suppression_controller_->SendTapUp(); 532 tap_suppression_controller_->SendTapUp();
524 EXPECT_EQ(MockTapSuppressionController::TAP_UP_FORWARDED, 533 EXPECT_EQ(MockTapSuppressionController::TAP_UP_FORWARDED,
525 tap_suppression_controller_->last_actions()); 534 tap_suppression_controller_->last_actions());
526 EXPECT_EQ(MockTapSuppressionController::DISABLED, 535 EXPECT_EQ(MockTapSuppressionController::DISABLED,
527 tap_suppression_controller_->state()); 536 tap_suppression_controller_->state());
528 } 537 }
529 538
530 } // namespace content 539 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698