| 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 "base/bind.h" | 5 #include "base/bind.h" |
| 6 #include "base/command_line.h" | 6 #include "base/command_line.h" |
| 7 #include "base/logging.h" | 7 #include "base/logging.h" |
| 8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
| 9 #include "base/message_loop/message_loop.h" | 9 #include "base/message_loop/message_loop.h" |
| 10 #include "content/public/common/content_constants.h" | 10 #include "content/public/common/content_constants.h" |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 54 void EngageThrottle() { | 54 void EngageThrottle() { |
| 55 throttler_->SetPluginThrottled(true); | 55 throttler_->SetPluginThrottled(true); |
| 56 } | 56 } |
| 57 | 57 |
| 58 void SendEventAndTest(blink::WebInputEvent::Type event_type, | 58 void SendEventAndTest(blink::WebInputEvent::Type event_type, |
| 59 bool expect_consumed, | 59 bool expect_consumed, |
| 60 bool expect_throttled, | 60 bool expect_throttled, |
| 61 int expect_change_callback_count) { | 61 int expect_change_callback_count) { |
| 62 blink::WebMouseEvent event; | 62 blink::WebMouseEvent event; |
| 63 event.type = event_type; | 63 event.type = event_type; |
| 64 event.modifiers = blink::WebInputEvent::Modifiers::LeftButtonDown; |
| 64 EXPECT_EQ(expect_consumed, throttler()->ConsumeInputEvent(event)); | 65 EXPECT_EQ(expect_consumed, throttler()->ConsumeInputEvent(event)); |
| 65 EXPECT_EQ(expect_throttled, throttler()->is_throttled()); | 66 EXPECT_EQ(expect_throttled, throttler()->is_throttled()); |
| 66 EXPECT_EQ(expect_change_callback_count, change_callback_calls()); | 67 EXPECT_EQ(expect_change_callback_count, change_callback_calls()); |
| 67 } | 68 } |
| 68 | 69 |
| 69 private: | 70 private: |
| 70 void ChangeCallback() { ++change_callback_calls_; } | 71 void ChangeCallback() { ++change_callback_calls_; } |
| 71 | 72 |
| 72 scoped_ptr<PepperPluginInstanceThrottler> throttler_; | 73 scoped_ptr<PepperPluginInstanceThrottler> throttler_; |
| 73 | 74 |
| (...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 182 SendEventAndTest(blink::WebInputEvent::Type::MouseDown, false, false, 2); | 183 SendEventAndTest(blink::WebInputEvent::Type::MouseDown, false, false, 2); |
| 183 SendEventAndTest(blink::WebInputEvent::Type::MouseWheel, false, false, 2); | 184 SendEventAndTest(blink::WebInputEvent::Type::MouseWheel, false, false, 2); |
| 184 SendEventAndTest(blink::WebInputEvent::Type::MouseMove, false, false, 2); | 185 SendEventAndTest(blink::WebInputEvent::Type::MouseMove, false, false, 2); |
| 185 SendEventAndTest(blink::WebInputEvent::Type::KeyDown, false, false, 2); | 186 SendEventAndTest(blink::WebInputEvent::Type::KeyDown, false, false, 2); |
| 186 SendEventAndTest(blink::WebInputEvent::Type::KeyUp, false, false, 2); | 187 SendEventAndTest(blink::WebInputEvent::Type::KeyUp, false, false, 2); |
| 187 | 188 |
| 188 // Subsequent MouseUps should also not be consumed. | 189 // Subsequent MouseUps should also not be consumed. |
| 189 SendEventAndTest(blink::WebInputEvent::Type::MouseUp, false, false, 2); | 190 SendEventAndTest(blink::WebInputEvent::Type::MouseUp, false, false, 2); |
| 190 } | 191 } |
| 191 | 192 |
| 193 TEST_F(PepperPluginInstanceThrottlerTest, ThrottleOnLeftClickOnly) { |
| 194 EXPECT_FALSE(throttler()->is_throttled()); |
| 195 EXPECT_EQ(0, change_callback_calls()); |
| 196 |
| 197 EngageThrottle(); |
| 198 EXPECT_TRUE(throttler()->is_throttled()); |
| 199 EXPECT_EQ(1, change_callback_calls()); |
| 200 |
| 201 blink::WebMouseEvent event; |
| 202 event.type = blink::WebInputEvent::Type::MouseUp; |
| 203 |
| 204 event.modifiers = blink::WebInputEvent::Modifiers::RightButtonDown; |
| 205 EXPECT_FALSE(throttler()->ConsumeInputEvent(event)); |
| 206 EXPECT_TRUE(throttler()->is_throttled()); |
| 207 |
| 208 event.modifiers = blink::WebInputEvent::Modifiers::MiddleButtonDown; |
| 209 EXPECT_TRUE(throttler()->ConsumeInputEvent(event)); |
| 210 EXPECT_TRUE(throttler()->is_throttled()); |
| 211 |
| 212 event.modifiers = blink::WebInputEvent::Modifiers::LeftButtonDown; |
| 213 EXPECT_TRUE(throttler()->ConsumeInputEvent(event)); |
| 214 EXPECT_FALSE(throttler()->is_throttled()); |
| 215 } |
| 216 |
| 192 } // namespace content | 217 } // namespace content |
| OLD | NEW |