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

Side by Side Diff: chrome/browser/chromeos/events/event_rewriter_unittest.cc

Issue 1161853004: Revert "Converting (Alt+LeftClick -> RightClick) to (Search+LeftClick -> RightClick)" (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 6 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 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 "chrome/browser/chromeos/events/event_rewriter.h" 5 #include "chrome/browser/chromeos/events/event_rewriter.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "ash/shell.h" 9 #include "ash/shell.h"
10 #include "ash/sticky_keys/sticky_keys_controller.h" 10 #include "ash/sticky_keys/sticky_keys_controller.h"
(...skipping 3094 matching lines...) Expand 10 before | Expand all | Expand 10 after
3105 ui::DomKey::BROWSER_BACK, 0), 3105 ui::DomKey::BROWSER_BACK, 0),
3106 GetKeyEventAsString(*static_cast<ui::KeyEvent*>(events[0]))); 3106 GetKeyEventAsString(*static_cast<ui::KeyEvent*>(events[0])));
3107 } 3107 }
3108 3108
3109 TEST_F(EventRewriterTest, TestRewrittenModifierClick) { 3109 TEST_F(EventRewriterTest, TestRewrittenModifierClick) {
3110 #if defined(USE_X11) 3110 #if defined(USE_X11)
3111 std::vector<int> device_list; 3111 std::vector<int> device_list;
3112 device_list.push_back(10); 3112 device_list.push_back(10);
3113 ui::TouchFactory::GetInstance()->SetPointerDeviceForTest(device_list); 3113 ui::TouchFactory::GetInstance()->SetPointerDeviceForTest(device_list);
3114 3114
3115 // Remap Control to Search. 3115 // Remap Control to Alt.
3116 TestingPrefServiceSyncable prefs; 3116 TestingPrefServiceSyncable prefs;
3117 chromeos::Preferences::RegisterProfilePrefs(prefs.registry()); 3117 chromeos::Preferences::RegisterProfilePrefs(prefs.registry());
3118 IntegerPrefMember control; 3118 IntegerPrefMember control;
3119 control.Init(prefs::kLanguageRemapControlKeyTo, &prefs); 3119 control.Init(prefs::kLanguageRemapControlKeyTo, &prefs);
3120 control.SetValue(chromeos::input_method::kSearchKey); 3120 control.SetValue(chromeos::input_method::kAltKey);
3121 3121
3122 EventRewriter rewriter(NULL); 3122 EventRewriter rewriter(NULL);
3123 rewriter.KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard"); 3123 rewriter.KeyboardDeviceAddedForTesting(kKeyboardDeviceId, "PC Keyboard");
3124 rewriter.set_pref_service_for_testing(&prefs); 3124 rewriter.set_pref_service_for_testing(&prefs);
3125 3125
3126 // Check that Control + Left Button is converted (via Search + Left Button) 3126 // Check that Control + Left Button is converted (via Alt + Left Button)
3127 // to Right Button. 3127 // to Right Button.
3128 ui::ScopedXI2Event xev; 3128 ui::ScopedXI2Event xev;
3129 xev.InitGenericButtonEvent(10, ui::ET_MOUSE_PRESSED, gfx::Point(), 3129 xev.InitGenericButtonEvent(10, ui::ET_MOUSE_PRESSED, gfx::Point(),
3130 ui::EF_LEFT_MOUSE_BUTTON | ui::EF_CONTROL_DOWN); 3130 ui::EF_LEFT_MOUSE_BUTTON | ui::EF_CONTROL_DOWN);
3131 ui::MouseEvent press(xev); 3131 ui::MouseEvent press(xev);
3132 // Sanity check. 3132 // Sanity check.
3133 EXPECT_EQ(ui::ET_MOUSE_PRESSED, press.type()); 3133 EXPECT_EQ(ui::ET_MOUSE_PRESSED, press.type());
3134 EXPECT_EQ(ui::EF_LEFT_MOUSE_BUTTON | ui::EF_CONTROL_DOWN, press.flags()); 3134 EXPECT_EQ(ui::EF_LEFT_MOUSE_BUTTON | ui::EF_CONTROL_DOWN, press.flags());
3135 scoped_ptr<ui::Event> new_event; 3135 scoped_ptr<ui::Event> new_event;
3136 const ui::MouseEvent* result = 3136 const ui::MouseEvent* result =
3137 RewriteMouseButtonEvent(&rewriter, press, &new_event); 3137 RewriteMouseButtonEvent(&rewriter, press, &new_event);
3138 EXPECT_TRUE(ui::EF_RIGHT_MOUSE_BUTTON & result->flags()); 3138 EXPECT_TRUE(ui::EF_RIGHT_MOUSE_BUTTON & result->flags());
3139 EXPECT_FALSE(ui::EF_LEFT_MOUSE_BUTTON & result->flags()); 3139 EXPECT_FALSE(ui::EF_LEFT_MOUSE_BUTTON & result->flags());
3140 EXPECT_FALSE(ui::EF_CONTROL_DOWN & result->flags()); 3140 EXPECT_FALSE(ui::EF_CONTROL_DOWN & result->flags());
3141 EXPECT_FALSE(ui::EF_COMMAND_DOWN & result->flags()); 3141 EXPECT_FALSE(ui::EF_ALT_DOWN & result->flags());
3142 EXPECT_TRUE(ui::EF_RIGHT_MOUSE_BUTTON & result->flags()); 3142 EXPECT_TRUE(ui::EF_RIGHT_MOUSE_BUTTON & result->flags());
3143 #endif 3143 #endif
3144 } 3144 }
3145 3145
3146 TEST_F(EventRewriterTest, DontRewriteIfNotRewritten) { 3146 TEST_F(EventRewriterTest, DontRewriteIfNotRewritten) {
3147 // TODO(kpschoedel): pending changes for crbug.com/360377 3147 // TODO(kpschoedel): pending changes for crbug.com/360377
3148 // to |chromeos::EventRewriter::RewriteLocatedEvent() 3148 // to |chromeos::EventRewriter::RewriteLocatedEvent()
3149 #if defined(USE_X11) 3149 #if defined(USE_X11)
3150 std::vector<int> device_list; 3150 std::vector<int> device_list;
3151 device_list.push_back(10); 3151 device_list.push_back(10);
3152 device_list.push_back(11); 3152 device_list.push_back(11);
3153 ui::TouchFactory::GetInstance()->SetPointerDeviceForTest(device_list); 3153 ui::TouchFactory::GetInstance()->SetPointerDeviceForTest(device_list);
3154 #endif 3154 #endif
3155 TestingPrefServiceSyncable prefs; 3155 TestingPrefServiceSyncable prefs;
3156 EventRewriter rewriter(NULL); 3156 EventRewriter rewriter(NULL);
3157 rewriter.set_pref_service_for_testing(&prefs); 3157 rewriter.set_pref_service_for_testing(&prefs);
3158 const int kLeftAndSearchFlag = ui::EF_LEFT_MOUSE_BUTTON | ui::EF_COMMAND_DOWN; 3158 const int kLeftAndAltFlag = ui::EF_LEFT_MOUSE_BUTTON | ui::EF_ALT_DOWN;
3159 3159
3160 // Test Search + Left click. 3160 // Test Alt + Left click.
3161 { 3161 {
3162 ui::MouseEvent press(ui::ET_MOUSE_PRESSED, gfx::Point(), gfx::Point(), 3162 ui::MouseEvent press(ui::ET_MOUSE_PRESSED, gfx::Point(), gfx::Point(),
3163 ui::EventTimeForNow(), kLeftAndSearchFlag, 3163 ui::EventTimeForNow(), kLeftAndAltFlag,
3164 ui::EF_LEFT_MOUSE_BUTTON); 3164 ui::EF_LEFT_MOUSE_BUTTON);
3165 ui::EventTestApi test_press(&press); 3165 ui::EventTestApi test_press(&press);
3166 test_press.set_source_device_id(10); 3166 test_press.set_source_device_id(10);
3167 // Sanity check. 3167 // Sanity check.
3168 EXPECT_EQ(ui::ET_MOUSE_PRESSED, press.type()); 3168 EXPECT_EQ(ui::ET_MOUSE_PRESSED, press.type());
3169 EXPECT_EQ(kLeftAndSearchFlag, press.flags()); 3169 EXPECT_EQ(kLeftAndAltFlag, press.flags());
3170 scoped_ptr<ui::Event> new_event; 3170 scoped_ptr<ui::Event> new_event;
3171 const ui::MouseEvent* result = 3171 const ui::MouseEvent* result =
3172 RewriteMouseButtonEvent(&rewriter, press, &new_event); 3172 RewriteMouseButtonEvent(&rewriter, press, &new_event);
3173 EXPECT_TRUE(ui::EF_RIGHT_MOUSE_BUTTON & result->flags()); 3173 EXPECT_TRUE(ui::EF_RIGHT_MOUSE_BUTTON & result->flags());
3174 EXPECT_FALSE(kLeftAndSearchFlag & result->flags()); 3174 EXPECT_FALSE(kLeftAndAltFlag & result->flags());
3175 EXPECT_EQ(ui::EF_RIGHT_MOUSE_BUTTON, result->changed_button_flags()); 3175 EXPECT_EQ(ui::EF_RIGHT_MOUSE_BUTTON, result->changed_button_flags());
3176 } 3176 }
3177 { 3177 {
3178 ui::MouseEvent release(ui::ET_MOUSE_RELEASED, gfx::Point(), gfx::Point(), 3178 ui::MouseEvent release(ui::ET_MOUSE_RELEASED, gfx::Point(), gfx::Point(),
3179 ui::EventTimeForNow(), kLeftAndSearchFlag, 3179 ui::EventTimeForNow(), kLeftAndAltFlag,
3180 ui::EF_LEFT_MOUSE_BUTTON); 3180 ui::EF_LEFT_MOUSE_BUTTON);
3181 ui::EventTestApi test_release(&release); 3181 ui::EventTestApi test_release(&release);
3182 test_release.set_source_device_id(10); 3182 test_release.set_source_device_id(10);
3183 scoped_ptr<ui::Event> new_event; 3183 scoped_ptr<ui::Event> new_event;
3184 const ui::MouseEvent* result = 3184 const ui::MouseEvent* result =
3185 RewriteMouseButtonEvent(&rewriter, release, &new_event); 3185 RewriteMouseButtonEvent(&rewriter, release, &new_event);
3186 EXPECT_TRUE(ui::EF_RIGHT_MOUSE_BUTTON & result->flags()); 3186 EXPECT_TRUE(ui::EF_RIGHT_MOUSE_BUTTON & result->flags());
3187 EXPECT_FALSE(kLeftAndSearchFlag & result->flags()); 3187 EXPECT_FALSE(kLeftAndAltFlag & result->flags());
3188 EXPECT_EQ(ui::EF_RIGHT_MOUSE_BUTTON, result->changed_button_flags()); 3188 EXPECT_EQ(ui::EF_RIGHT_MOUSE_BUTTON, result->changed_button_flags());
3189 } 3189 }
3190 #if defined(USE_X11) 3190 #if defined(USE_X11)
3191 // Test Search + Left click, using XI2 native events. 3191 // Test Alt + Left click, using XI2 native events.
3192 { 3192 {
3193 ui::ScopedXI2Event xev; 3193 ui::ScopedXI2Event xev;
3194 xev.InitGenericButtonEvent(10, ui::ET_MOUSE_PRESSED, gfx::Point(), 3194 xev.InitGenericButtonEvent(10, ui::ET_MOUSE_PRESSED, gfx::Point(),
3195 kLeftAndSearchFlag); 3195 kLeftAndAltFlag);
3196 ui::MouseEvent press(xev); 3196 ui::MouseEvent press(xev);
3197 // Sanity check. 3197 // Sanity check.
3198 EXPECT_EQ(ui::ET_MOUSE_PRESSED, press.type()); 3198 EXPECT_EQ(ui::ET_MOUSE_PRESSED, press.type());
3199 EXPECT_EQ(kLeftAndSearchFlag, press.flags()); 3199 EXPECT_EQ(kLeftAndAltFlag, press.flags());
3200 scoped_ptr<ui::Event> new_event; 3200 scoped_ptr<ui::Event> new_event;
3201 const ui::MouseEvent* result = 3201 const ui::MouseEvent* result =
3202 RewriteMouseButtonEvent(&rewriter, press, &new_event); 3202 RewriteMouseButtonEvent(&rewriter, press, &new_event);
3203 EXPECT_TRUE(ui::EF_RIGHT_MOUSE_BUTTON & result->flags()); 3203 EXPECT_TRUE(ui::EF_RIGHT_MOUSE_BUTTON & result->flags());
3204 EXPECT_FALSE(kLeftAndSearchFlag & result->flags()); 3204 EXPECT_FALSE(kLeftAndAltFlag & result->flags());
3205 EXPECT_EQ(ui::EF_RIGHT_MOUSE_BUTTON, result->changed_button_flags()); 3205 EXPECT_EQ(ui::EF_RIGHT_MOUSE_BUTTON, result->changed_button_flags());
3206 } 3206 }
3207 { 3207 {
3208 ui::ScopedXI2Event xev; 3208 ui::ScopedXI2Event xev;
3209 xev.InitGenericButtonEvent(10, ui::ET_MOUSE_RELEASED, gfx::Point(), 3209 xev.InitGenericButtonEvent(10, ui::ET_MOUSE_RELEASED, gfx::Point(),
3210 kLeftAndSearchFlag); 3210 kLeftAndAltFlag);
3211 ui::MouseEvent release(xev); 3211 ui::MouseEvent release(xev);
3212 scoped_ptr<ui::Event> new_event; 3212 scoped_ptr<ui::Event> new_event;
3213 const ui::MouseEvent* result = 3213 const ui::MouseEvent* result =
3214 RewriteMouseButtonEvent(&rewriter, release, &new_event); 3214 RewriteMouseButtonEvent(&rewriter, release, &new_event);
3215 EXPECT_TRUE(ui::EF_RIGHT_MOUSE_BUTTON & result->flags()); 3215 EXPECT_TRUE(ui::EF_RIGHT_MOUSE_BUTTON & result->flags());
3216 EXPECT_FALSE(kLeftAndSearchFlag & result->flags()); 3216 EXPECT_FALSE(kLeftAndAltFlag & result->flags());
3217 EXPECT_EQ(ui::EF_RIGHT_MOUSE_BUTTON, result->changed_button_flags()); 3217 EXPECT_EQ(ui::EF_RIGHT_MOUSE_BUTTON, result->changed_button_flags());
3218 } 3218 }
3219 #endif 3219 #endif
3220 3220
3221 // No SEARCH in first click. 3221 // No ALT in frst click.
3222 { 3222 {
3223 ui::MouseEvent press(ui::ET_MOUSE_PRESSED, gfx::Point(), gfx::Point(), 3223 ui::MouseEvent press(ui::ET_MOUSE_PRESSED, gfx::Point(), gfx::Point(),
3224 ui::EventTimeForNow(), ui::EF_LEFT_MOUSE_BUTTON, 3224 ui::EventTimeForNow(), ui::EF_LEFT_MOUSE_BUTTON,
3225 ui::EF_LEFT_MOUSE_BUTTON); 3225 ui::EF_LEFT_MOUSE_BUTTON);
3226 ui::EventTestApi test_press(&press); 3226 ui::EventTestApi test_press(&press);
3227 test_press.set_source_device_id(10); 3227 test_press.set_source_device_id(10);
3228 scoped_ptr<ui::Event> new_event; 3228 scoped_ptr<ui::Event> new_event;
3229 const ui::MouseEvent* result = 3229 const ui::MouseEvent* result =
3230 RewriteMouseButtonEvent(&rewriter, press, &new_event); 3230 RewriteMouseButtonEvent(&rewriter, press, &new_event);
3231 EXPECT_TRUE(ui::EF_LEFT_MOUSE_BUTTON & result->flags()); 3231 EXPECT_TRUE(ui::EF_LEFT_MOUSE_BUTTON & result->flags());
3232 EXPECT_EQ(ui::EF_LEFT_MOUSE_BUTTON, result->changed_button_flags()); 3232 EXPECT_EQ(ui::EF_LEFT_MOUSE_BUTTON, result->changed_button_flags());
3233 } 3233 }
3234 { 3234 {
3235 ui::MouseEvent release(ui::ET_MOUSE_RELEASED, gfx::Point(), gfx::Point(), 3235 ui::MouseEvent release(ui::ET_MOUSE_RELEASED, gfx::Point(), gfx::Point(),
3236 ui::EventTimeForNow(), kLeftAndSearchFlag, 3236 ui::EventTimeForNow(), kLeftAndAltFlag,
3237 ui::EF_LEFT_MOUSE_BUTTON); 3237 ui::EF_LEFT_MOUSE_BUTTON);
3238 ui::EventTestApi test_release(&release); 3238 ui::EventTestApi test_release(&release);
3239 test_release.set_source_device_id(10); 3239 test_release.set_source_device_id(10);
3240 scoped_ptr<ui::Event> new_event; 3240 scoped_ptr<ui::Event> new_event;
3241 const ui::MouseEvent* result = 3241 const ui::MouseEvent* result =
3242 RewriteMouseButtonEvent(&rewriter, release, &new_event); 3242 RewriteMouseButtonEvent(&rewriter, release, &new_event);
3243 EXPECT_EQ(ui::EF_LEFT_MOUSE_BUTTON | ui::EF_COMMAND_DOWN, result->flags()); 3243 EXPECT_TRUE((ui::EF_LEFT_MOUSE_BUTTON | ui::EF_ALT_DOWN) & result->flags());
3244 EXPECT_EQ(ui::EF_LEFT_MOUSE_BUTTON, result->changed_button_flags()); 3244 EXPECT_EQ(ui::EF_LEFT_MOUSE_BUTTON, result->changed_button_flags());
3245 } 3245 }
3246 #if defined(USE_X11) 3246 #if defined(USE_X11)
3247 // No SEARCH in first click, using XI2 native events. 3247 // No ALT in frst click, using XI2 native events.
3248 { 3248 {
3249 ui::ScopedXI2Event xev; 3249 ui::ScopedXI2Event xev;
3250 xev.InitGenericButtonEvent(10, ui::ET_MOUSE_PRESSED, gfx::Point(), 3250 xev.InitGenericButtonEvent(10, ui::ET_MOUSE_PRESSED, gfx::Point(),
3251 ui::EF_LEFT_MOUSE_BUTTON); 3251 ui::EF_LEFT_MOUSE_BUTTON);
3252 ui::MouseEvent press(xev); 3252 ui::MouseEvent press(xev);
3253 scoped_ptr<ui::Event> new_event; 3253 scoped_ptr<ui::Event> new_event;
3254 const ui::MouseEvent* result = 3254 const ui::MouseEvent* result =
3255 RewriteMouseButtonEvent(&rewriter, press, &new_event); 3255 RewriteMouseButtonEvent(&rewriter, press, &new_event);
3256 EXPECT_TRUE(ui::EF_LEFT_MOUSE_BUTTON & result->flags()); 3256 EXPECT_TRUE(ui::EF_LEFT_MOUSE_BUTTON & result->flags());
3257 EXPECT_EQ(ui::EF_LEFT_MOUSE_BUTTON, result->changed_button_flags()); 3257 EXPECT_EQ(ui::EF_LEFT_MOUSE_BUTTON, result->changed_button_flags());
3258 } 3258 }
3259 { 3259 {
3260 ui::ScopedXI2Event xev; 3260 ui::ScopedXI2Event xev;
3261 xev.InitGenericButtonEvent(10, ui::ET_MOUSE_RELEASED, gfx::Point(), 3261 xev.InitGenericButtonEvent(10, ui::ET_MOUSE_RELEASED, gfx::Point(),
3262 kLeftAndSearchFlag); 3262 kLeftAndAltFlag);
3263 ui::MouseEvent release(xev); 3263 ui::MouseEvent release(xev);
3264 scoped_ptr<ui::Event> new_event; 3264 scoped_ptr<ui::Event> new_event;
3265 const ui::MouseEvent* result = 3265 const ui::MouseEvent* result =
3266 RewriteMouseButtonEvent(&rewriter, release, &new_event); 3266 RewriteMouseButtonEvent(&rewriter, release, &new_event);
3267 EXPECT_EQ(ui::EF_LEFT_MOUSE_BUTTON | ui::EF_COMMAND_DOWN, result->flags()); 3267 EXPECT_TRUE((ui::EF_LEFT_MOUSE_BUTTON | ui::EF_ALT_DOWN) & result->flags());
3268 EXPECT_EQ(ui::EF_LEFT_MOUSE_BUTTON, result->changed_button_flags()); 3268 EXPECT_EQ(ui::EF_LEFT_MOUSE_BUTTON, result->changed_button_flags());
3269 } 3269 }
3270 #endif 3270 #endif
3271 3271
3272 // SEARCH on different device. 3272 // ALT on different device.
3273 { 3273 {
3274 ui::MouseEvent press(ui::ET_MOUSE_PRESSED, gfx::Point(), gfx::Point(), 3274 ui::MouseEvent press(ui::ET_MOUSE_PRESSED, gfx::Point(), gfx::Point(),
3275 ui::EventTimeForNow(), kLeftAndSearchFlag, 3275 ui::EventTimeForNow(), kLeftAndAltFlag,
3276 ui::EF_LEFT_MOUSE_BUTTON); 3276 ui::EF_LEFT_MOUSE_BUTTON);
3277 ui::EventTestApi test_press(&press); 3277 ui::EventTestApi test_press(&press);
3278 test_press.set_source_device_id(11); 3278 test_press.set_source_device_id(11);
3279 scoped_ptr<ui::Event> new_event; 3279 scoped_ptr<ui::Event> new_event;
3280 const ui::MouseEvent* result = 3280 const ui::MouseEvent* result =
3281 RewriteMouseButtonEvent(&rewriter, press, &new_event); 3281 RewriteMouseButtonEvent(&rewriter, press, &new_event);
3282 EXPECT_TRUE(ui::EF_RIGHT_MOUSE_BUTTON & result->flags()); 3282 EXPECT_TRUE(ui::EF_RIGHT_MOUSE_BUTTON & result->flags());
3283 EXPECT_FALSE(kLeftAndSearchFlag & result->flags()); 3283 EXPECT_FALSE(kLeftAndAltFlag & result->flags());
3284 EXPECT_EQ(ui::EF_RIGHT_MOUSE_BUTTON, result->changed_button_flags()); 3284 EXPECT_EQ(ui::EF_RIGHT_MOUSE_BUTTON, result->changed_button_flags());
3285 } 3285 }
3286 { 3286 {
3287 ui::MouseEvent release(ui::ET_MOUSE_RELEASED, gfx::Point(), gfx::Point(), 3287 ui::MouseEvent release(ui::ET_MOUSE_RELEASED, gfx::Point(), gfx::Point(),
3288 ui::EventTimeForNow(), kLeftAndSearchFlag, 3288 ui::EventTimeForNow(), kLeftAndAltFlag,
3289 ui::EF_LEFT_MOUSE_BUTTON); 3289 ui::EF_LEFT_MOUSE_BUTTON);
3290 ui::EventTestApi test_release(&release); 3290 ui::EventTestApi test_release(&release);
3291 test_release.set_source_device_id(10); 3291 test_release.set_source_device_id(10);
3292 scoped_ptr<ui::Event> new_event; 3292 scoped_ptr<ui::Event> new_event;
3293 const ui::MouseEvent* result = 3293 const ui::MouseEvent* result =
3294 RewriteMouseButtonEvent(&rewriter, release, &new_event); 3294 RewriteMouseButtonEvent(&rewriter, release, &new_event);
3295 EXPECT_EQ(ui::EF_LEFT_MOUSE_BUTTON | ui::EF_COMMAND_DOWN, result->flags()); 3295 EXPECT_TRUE((ui::EF_LEFT_MOUSE_BUTTON | ui::EF_ALT_DOWN) & result->flags());
3296 EXPECT_EQ(ui::EF_LEFT_MOUSE_BUTTON, result->changed_button_flags()); 3296 EXPECT_EQ(ui::EF_LEFT_MOUSE_BUTTON, result->changed_button_flags());
3297 } 3297 }
3298 { 3298 {
3299 ui::MouseEvent release(ui::ET_MOUSE_RELEASED, gfx::Point(), gfx::Point(), 3299 ui::MouseEvent release(ui::ET_MOUSE_RELEASED, gfx::Point(), gfx::Point(),
3300 ui::EventTimeForNow(), kLeftAndSearchFlag, 3300 ui::EventTimeForNow(), kLeftAndAltFlag,
3301 ui::EF_LEFT_MOUSE_BUTTON); 3301 ui::EF_LEFT_MOUSE_BUTTON);
3302 ui::EventTestApi test_release(&release); 3302 ui::EventTestApi test_release(&release);
3303 test_release.set_source_device_id(11); 3303 test_release.set_source_device_id(11);
3304 scoped_ptr<ui::Event> new_event; 3304 scoped_ptr<ui::Event> new_event;
3305 const ui::MouseEvent* result = 3305 const ui::MouseEvent* result =
3306 RewriteMouseButtonEvent(&rewriter, release, &new_event); 3306 RewriteMouseButtonEvent(&rewriter, release, &new_event);
3307 EXPECT_TRUE(ui::EF_RIGHT_MOUSE_BUTTON & result->flags()); 3307 EXPECT_TRUE(ui::EF_RIGHT_MOUSE_BUTTON & result->flags());
3308 EXPECT_FALSE(kLeftAndSearchFlag & result->flags()); 3308 EXPECT_FALSE(kLeftAndAltFlag & result->flags());
3309 EXPECT_EQ(ui::EF_RIGHT_MOUSE_BUTTON, result->changed_button_flags()); 3309 EXPECT_EQ(ui::EF_RIGHT_MOUSE_BUTTON, result->changed_button_flags());
3310 } 3310 }
3311 #if defined(USE_X11) 3311 #if defined(USE_X11)
3312 // SEARCH on different device, using XI2 native events. 3312 // ALT on different device, using XI2 native events.
3313 { 3313 {
3314 ui::ScopedXI2Event xev; 3314 ui::ScopedXI2Event xev;
3315 xev.InitGenericButtonEvent(11, ui::ET_MOUSE_PRESSED, gfx::Point(), 3315 xev.InitGenericButtonEvent(11, ui::ET_MOUSE_PRESSED, gfx::Point(),
3316 kLeftAndSearchFlag); 3316 kLeftAndAltFlag);
3317 ui::MouseEvent press(xev); 3317 ui::MouseEvent press(xev);
3318 scoped_ptr<ui::Event> new_event; 3318 scoped_ptr<ui::Event> new_event;
3319 const ui::MouseEvent* result = 3319 const ui::MouseEvent* result =
3320 RewriteMouseButtonEvent(&rewriter, press, &new_event); 3320 RewriteMouseButtonEvent(&rewriter, press, &new_event);
3321 EXPECT_TRUE(ui::EF_RIGHT_MOUSE_BUTTON & result->flags()); 3321 EXPECT_TRUE(ui::EF_RIGHT_MOUSE_BUTTON & result->flags());
3322 EXPECT_FALSE(kLeftAndSearchFlag & result->flags()); 3322 EXPECT_FALSE(kLeftAndAltFlag & result->flags());
3323 EXPECT_EQ(ui::EF_RIGHT_MOUSE_BUTTON, result->changed_button_flags()); 3323 EXPECT_EQ(ui::EF_RIGHT_MOUSE_BUTTON, result->changed_button_flags());
3324 } 3324 }
3325 { 3325 {
3326 ui::ScopedXI2Event xev; 3326 ui::ScopedXI2Event xev;
3327 xev.InitGenericButtonEvent(10, ui::ET_MOUSE_RELEASED, gfx::Point(), 3327 xev.InitGenericButtonEvent(10, ui::ET_MOUSE_RELEASED, gfx::Point(),
3328 kLeftAndSearchFlag); 3328 kLeftAndAltFlag);
3329 ui::MouseEvent release(xev); 3329 ui::MouseEvent release(xev);
3330 scoped_ptr<ui::Event> new_event; 3330 scoped_ptr<ui::Event> new_event;
3331 const ui::MouseEvent* result = 3331 const ui::MouseEvent* result =
3332 RewriteMouseButtonEvent(&rewriter, release, &new_event); 3332 RewriteMouseButtonEvent(&rewriter, release, &new_event);
3333 EXPECT_EQ(ui::EF_LEFT_MOUSE_BUTTON | ui::EF_COMMAND_DOWN, result->flags()); 3333 EXPECT_TRUE((ui::EF_LEFT_MOUSE_BUTTON | ui::EF_ALT_DOWN) & result->flags());
3334 EXPECT_EQ(ui::EF_LEFT_MOUSE_BUTTON, result->changed_button_flags()); 3334 EXPECT_EQ(ui::EF_LEFT_MOUSE_BUTTON, result->changed_button_flags());
3335 } 3335 }
3336 { 3336 {
3337 ui::ScopedXI2Event xev; 3337 ui::ScopedXI2Event xev;
3338 xev.InitGenericButtonEvent(11, ui::ET_MOUSE_RELEASED, gfx::Point(), 3338 xev.InitGenericButtonEvent(11, ui::ET_MOUSE_RELEASED, gfx::Point(),
3339 kLeftAndSearchFlag); 3339 kLeftAndAltFlag);
3340 ui::MouseEvent release(xev); 3340 ui::MouseEvent release(xev);
3341 scoped_ptr<ui::Event> new_event; 3341 scoped_ptr<ui::Event> new_event;
3342 const ui::MouseEvent* result = 3342 const ui::MouseEvent* result =
3343 RewriteMouseButtonEvent(&rewriter, release, &new_event); 3343 RewriteMouseButtonEvent(&rewriter, release, &new_event);
3344 EXPECT_TRUE(ui::EF_RIGHT_MOUSE_BUTTON & result->flags()); 3344 EXPECT_TRUE(ui::EF_RIGHT_MOUSE_BUTTON & result->flags());
3345 EXPECT_FALSE(kLeftAndSearchFlag & result->flags()); 3345 EXPECT_FALSE(kLeftAndAltFlag & result->flags());
3346 EXPECT_EQ(ui::EF_RIGHT_MOUSE_BUTTON, result->changed_button_flags()); 3346 EXPECT_EQ(ui::EF_RIGHT_MOUSE_BUTTON, result->changed_button_flags());
3347 } 3347 }
3348 #endif 3348 #endif
3349 } 3349 }
3350 3350
3351 TEST_F(EventRewriterAshTest, StickyKeyEventDispatchImpl) { 3351 TEST_F(EventRewriterAshTest, StickyKeyEventDispatchImpl) {
3352 // Test the actual key event dispatch implementation. 3352 // Test the actual key event dispatch implementation.
3353 ScopedVector<ui::Event> events; 3353 ScopedVector<ui::Event> events;
3354 3354
3355 SendActivateStickyKeyPattern(ui::VKEY_CONTROL, ui::DomCode::CONTROL_LEFT, 3355 SendActivateStickyKeyPattern(ui::VKEY_CONTROL, ui::DomCode::CONTROL_LEFT,
(...skipping 315 matching lines...) Expand 10 before | Expand all | Expand 10 after
3671 EXPECT_FALSE(overlay_->GetModifierVisible(ui::EF_ALTGR_DOWN)); 3671 EXPECT_FALSE(overlay_->GetModifierVisible(ui::EF_ALTGR_DOWN));
3672 EXPECT_TRUE(overlay_->GetModifierVisible(ui::EF_MOD3_DOWN)); 3672 EXPECT_TRUE(overlay_->GetModifierVisible(ui::EF_MOD3_DOWN));
3673 3673
3674 // Turn off AltGr and Mod3. 3674 // Turn off AltGr and Mod3.
3675 sticky_keys_controller_->SetModifiersEnabled(false, false); 3675 sticky_keys_controller_->SetModifiersEnabled(false, false);
3676 EXPECT_FALSE(overlay_->GetModifierVisible(ui::EF_ALTGR_DOWN)); 3676 EXPECT_FALSE(overlay_->GetModifierVisible(ui::EF_ALTGR_DOWN));
3677 EXPECT_FALSE(overlay_->GetModifierVisible(ui::EF_MOD3_DOWN)); 3677 EXPECT_FALSE(overlay_->GetModifierVisible(ui::EF_MOD3_DOWN));
3678 } 3678 }
3679 3679
3680 } // namespace chromeos 3680 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/events/event_rewriter.cc ('k') | ui/base/accelerators/accelerator_history.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698