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

Side by Side Diff: chrome/browser/chromeos/input_method/xkeyboard.cc

Issue 8497003: Add unit tests for SetAutoRepeatEnabled and SetAutoRepeatRate. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: review Created 9 years, 1 month 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/input_method/xkeyboard.h" 5 #include "chrome/browser/chromeos/input_method/xkeyboard.h"
6 6
7 #include <queue> 7 #include <queue>
8 #include <set> 8 #include <set>
9 #include <string> 9 #include <string>
10 #include <utility> 10 #include <utility>
(...skipping 335 matching lines...) Expand 10 before | Expand all | Expand 10 after
346 XAutoRepeatOn(ui::GetXDisplay()); 346 XAutoRepeatOn(ui::GetXDisplay());
347 } else { 347 } else {
348 XAutoRepeatOff(ui::GetXDisplay()); 348 XAutoRepeatOff(ui::GetXDisplay());
349 } 349 }
350 DLOG(INFO) << "Set auto-repeat mode to: " << (enabled ? "on" : "off"); 350 DLOG(INFO) << "Set auto-repeat mode to: " << (enabled ? "on" : "off");
351 return true; 351 return true;
352 } 352 }
353 353
354 // static 354 // static
355 bool XKeyboard::SetAutoRepeatRate(const AutoRepeatRate& rate) { 355 bool XKeyboard::SetAutoRepeatRate(const AutoRepeatRate& rate) {
356 // TODO(yusukes): write auto tests for the function.
357 CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 356 CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
358 DLOG(INFO) << "Set auto-repeat rate to: " 357 DLOG(INFO) << "Set auto-repeat rate to: "
359 << rate.initial_delay_in_ms << " ms delay, " 358 << rate.initial_delay_in_ms << " ms delay, "
360 << rate.repeat_interval_in_ms << " ms interval"; 359 << rate.repeat_interval_in_ms << " ms interval";
361 if (XkbSetAutoRepeatRate(ui::GetXDisplay(), XkbUseCoreKbd, 360 if (XkbSetAutoRepeatRate(ui::GetXDisplay(), XkbUseCoreKbd,
362 rate.initial_delay_in_ms, 361 rate.initial_delay_in_ms,
363 rate.repeat_interval_in_ms) != True) { 362 rate.repeat_interval_in_ms) != True) {
364 LOG(ERROR) << "Failed to set auto-repeat rate"; 363 LOG(ERROR) << "Failed to set auto-repeat rate";
365 return false; 364 return false;
366 } 365 }
367 return true; 366 return true;
368 } 367 }
369 368
369 // static
370 bool XKeyboard::GetAutoRepeatEnabled() {
371 XKeyboardState state = {};
372 XGetKeyboardControl(ui::GetXDisplay(), &state);
373 return state.global_auto_repeat != AutoRepeatModeOff;
374 }
375
376 // static
377 bool XKeyboard::GetAutoRepeatRate(AutoRepeatRate* out_rate) {
378 return XkbGetAutoRepeatRate(ui::GetXDisplay(), XkbUseCoreKbd,
379 &(out_rate->initial_delay_in_ms),
380 &(out_rate->repeat_interval_in_ms)) == True;
Zachary Kuznia 2011/11/08 03:55:17 Why "True" instead of "true"?
Yusuke Sato 2011/11/13 23:24:56 because Xlib/XKB functions return True/False inste
381 }
382
370 void XKeyboard::SetLockedModifiers(ModifierLockStatus new_caps_lock_status, 383 void XKeyboard::SetLockedModifiers(ModifierLockStatus new_caps_lock_status,
371 ModifierLockStatus new_num_lock_status) { 384 ModifierLockStatus new_num_lock_status) {
372 CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 385 CHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
373 if (!num_lock_mask_) { 386 if (!num_lock_mask_) {
374 LOG(ERROR) << "Cannot set locked modifiers. Num Lock mask unknown."; 387 LOG(ERROR) << "Cannot set locked modifiers. Num Lock mask unknown.";
375 return; 388 return;
376 } 389 }
377 390
378 unsigned int affect_mask = 0; 391 unsigned int affect_mask = 0;
379 unsigned int value_mask = 0; 392 unsigned int value_mask = 0;
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
514 case kCapsLockKey: 527 case kCapsLockKey:
515 return "capslock"; 528 return "capslock";
516 case kNumModifierKeys: 529 case kNumModifierKeys:
517 break; 530 break;
518 } 531 }
519 return ""; 532 return "";
520 } 533 }
521 534
522 } // namespace input_method 535 } // namespace input_method
523 } // namespace chromeos 536 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698