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

Side by Side Diff: components/test_runner/event_sender.cc

Issue 1878083002: Implement IsAsciiUpper and IsAsciiLower in base/strings/string_util.h (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: git sync Created 4 years, 8 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 "components/test_runner/event_sender.h" 5 #include "components/test_runner/event_sender.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/bind_helpers.h" 10 #include "base/bind_helpers.h"
(...skipping 379 matching lines...) Expand 10 before | Expand all | Expand 10 after
390 } 390 }
391 } 391 }
392 392
393 return strings; 393 return strings;
394 } 394 }
395 395
396 // How much we should scroll per event - the value here is chosen to match the 396 // How much we should scroll per event - the value here is chosen to match the
397 // WebKit impl and layout test results. 397 // WebKit impl and layout test results.
398 const float kScrollbarPixelsPerTick = 40.0f; 398 const float kScrollbarPixelsPerTick = 40.0f;
399 399
400 bool NeedsShiftModifier(int keyCode) {
401 // If code is an uppercase letter, assign a SHIFT key to eventDown.modifier.
402 return (keyCode & 0xFF) >= 'A' && (keyCode & 0xFF) <= 'Z';
403 }
404
405 // Get the edit command corresponding to a keyboard event. 400 // Get the edit command corresponding to a keyboard event.
406 // Returns true if the specified event corresponds to an edit command, the name 401 // Returns true if the specified event corresponds to an edit command, the name
407 // of the edit command will be stored in |*name|. 402 // of the edit command will be stored in |*name|.
408 bool GetEditCommand(const WebKeyboardEvent& event, std::string* name) { 403 bool GetEditCommand(const WebKeyboardEvent& event, std::string* name) {
409 #if defined(OS_MACOSX) 404 #if defined(OS_MACOSX)
410 // We only cares about Left,Right,Up,Down keys with Command or Command+Shift 405 // We only cares about Left,Right,Up,Down keys with Command or Command+Shift
411 // modifiers. These key events correspond to some special movement and 406 // modifiers. These key events correspond to some special movement and
412 // selection editor commands. These keys will be marked as system key, which 407 // selection editor commands. These keys will be marked as system key, which
413 // prevents them from being handled. Thus they must be handled specially. 408 // prevents them from being handled. Thus they must be handled specially.
414 if ((event.modifiers & ~WebKeyboardEvent::ShiftKey) != 409 if ((event.modifiers & ~WebKeyboardEvent::ShiftKey) !=
(...skipping 1107 matching lines...) Expand 10 before | Expand all | Expand 10 after
1522 } 1517 }
1523 if (!code) { 1518 if (!code) {
1524 base::string16 code_str16 = base::UTF8ToUTF16(code_str); 1519 base::string16 code_str16 = base::UTF8ToUTF16(code_str);
1525 if (code_str16.size() != 1u) { 1520 if (code_str16.size() != 1u) {
1526 v8::Isolate* isolate = blink::mainThreadIsolate(); 1521 v8::Isolate* isolate = blink::mainThreadIsolate();
1527 isolate->ThrowException(v8::Exception::TypeError( 1522 isolate->ThrowException(v8::Exception::TypeError(
1528 gin::StringToV8(isolate, "Invalid web code."))); 1523 gin::StringToV8(isolate, "Invalid web code.")));
1529 return; 1524 return;
1530 } 1525 }
1531 text = code = code_str16[0]; 1526 text = code = code_str16[0];
1532 needs_shift_key_modifier = NeedsShiftModifier(code); 1527 needs_shift_key_modifier = base::IsAsciiUpper(code & 0xFF);
1533 if ((code & 0xFF) >= 'a' && (code & 0xFF) <= 'z') 1528 if (base::IsAsciiLower(code & 0xFF))
1534 code -= 'a' - 'A'; 1529 code -= 'a' - 'A';
1535 if ((code >= 'A' && code <= 'Z') || (code >= 'a' && code <= 'z')) { 1530 if (base::IsAsciiAlpha(code)) {
1536 domString.assign("Key"); 1531 domString.assign("Key");
1537 domString.push_back( 1532 domString.push_back(
1538 base::ToUpperASCII(static_cast<base::char16>(code))); 1533 base::ToUpperASCII(static_cast<base::char16>(code)));
1539 } else if (code >= '0' && code <= '9') { 1534 } else if (base::IsAsciiDigit(code)) {
1540 domString.assign("Digit"); 1535 domString.assign("Digit");
1541 domString.push_back(code); 1536 domString.push_back(code);
1542 } else if (code == ' ') { 1537 } else if (code == ' ') {
1543 domString.assign("Space"); 1538 domString.assign("Space");
1544 } else if (code == 9) { 1539 } else if (code == 9) {
1545 domString.assign("Tab"); 1540 domString.assign("Tab");
1546 } 1541 }
1547 generate_char = true; 1542 generate_char = true;
1548 } 1543 }
1549 1544
(...skipping 1213 matching lines...) Expand 10 before | Expand all | Expand 10 after
2763 &end_event); 2758 &end_event);
2764 end_event.data.scrollEnd.deltaUnits = 2759 end_event.data.scrollEnd.deltaUnits =
2765 begin_event.data.scrollBegin.deltaHintUnits; 2760 begin_event.data.scrollBegin.deltaHintUnits;
2766 2761
2767 if (force_layout_on_events_) 2762 if (force_layout_on_events_)
2768 view_->updateAllLifecyclePhases(); 2763 view_->updateAllLifecyclePhases();
2769 HandleInputEventOnViewOrPopup(end_event); 2764 HandleInputEventOnViewOrPopup(end_event);
2770 } 2765 }
2771 2766
2772 } // namespace test_runner 2767 } // namespace test_runner
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698