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

Side by Side Diff: third_party/WebKit/public/web/WebInputEvent.h

Issue 1391843006: Embed keyboard shortcut bit in WebKeyboardEvent (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Test Created 5 years, 2 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 /* 1 /*
2 * Copyright (C) 2009 Google Inc. All rights reserved. 2 * Copyright (C) 2009 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after
276 // key enum are defined in ui/events/keycodes/dom3/dom_key_data.h 276 // key enum are defined in ui/events/keycodes/dom3/dom_key_data.h
277 int domKey; 277 int domKey;
278 278
279 // This identifies whether this event was tagged by the system as being 279 // This identifies whether this event was tagged by the system as being
280 // a "system key" event (see 280 // a "system key" event (see
281 // http://msdn.microsoft.com/en-us/library/ms646286(VS.85).aspx for 281 // http://msdn.microsoft.com/en-us/library/ms646286(VS.85).aspx for
282 // details). Other platforms don't have this concept, but it's just 282 // details). Other platforms don't have this concept, but it's just
283 // easier to leave it always false than ifdef. 283 // easier to leave it always false than ifdef.
284 bool isSystemKey; 284 bool isSystemKey;
285 285
286 // Whether the event forms part of a browser-handled keyboard shortcut.
287 // This can be used to conditionally suppress Char events after a
288 // shortcut-triggering RawKeyDown goes unhandled.
289 bool isBrowserShortcut;
290
286 // |text| is the text generated by this keystroke. |unmodifiedText| is 291 // |text| is the text generated by this keystroke. |unmodifiedText| is
287 // |text|, but unmodified by an concurrently-held modifiers (except 292 // |text|, but unmodified by an concurrently-held modifiers (except
288 // shift). This is useful for working out shortcut keys. Linux and 293 // shift). This is useful for working out shortcut keys. Linux and
289 // Windows guarantee one character per event. The Mac does not, but in 294 // Windows guarantee one character per event. The Mac does not, but in
290 // reality that's all it ever gives. We're generous, and cap it a bit 295 // reality that's all it ever gives. We're generous, and cap it a bit
291 // longer. 296 // longer.
292 WebUChar text[textLengthCap]; 297 WebUChar text[textLengthCap];
293 WebUChar unmodifiedText[textLengthCap]; 298 WebUChar unmodifiedText[textLengthCap];
294 299
295 // This is a string identifying the key pressed. 300 // This is a string identifying the key pressed.
296 char keyIdentifier[keyIdentifierLengthCap]; 301 char keyIdentifier[keyIdentifierLengthCap];
297 302
298 WebKeyboardEvent() 303 WebKeyboardEvent()
299 : WebInputEvent(sizeof(WebKeyboardEvent)) 304 : WebInputEvent(sizeof(WebKeyboardEvent))
300 , windowsKeyCode(0) 305 , windowsKeyCode(0)
301 , nativeKeyCode(0) 306 , nativeKeyCode(0)
302 , isSystemKey(false) 307 , isSystemKey(false)
308 , isBrowserShortcut(false)
303 { 309 {
304 memset(&text, 0, sizeof(text)); 310 memset(&text, 0, sizeof(text));
305 memset(&unmodifiedText, 0, sizeof(unmodifiedText)); 311 memset(&unmodifiedText, 0, sizeof(unmodifiedText));
306 memset(&keyIdentifier, 0, sizeof(keyIdentifier)); 312 memset(&keyIdentifier, 0, sizeof(keyIdentifier));
307 } 313 }
308 314
309 // Sets keyIdentifier based on the value of windowsKeyCode. This is 315 // Sets keyIdentifier based on the value of windowsKeyCode. This is
310 // handy for generating synthetic keyboard events. 316 // handy for generating synthetic keyboard events.
311 BLINK_EXPORT void setKeyIdentifierFromWindowsKeyCode(); 317 BLINK_EXPORT void setKeyIdentifierFromWindowsKeyCode();
312 }; 318 };
(...skipping 268 matching lines...) Expand 10 before | Expand all | Expand 10 after
581 , uniqueTouchEventId(0) 587 , uniqueTouchEventId(0)
582 { 588 {
583 } 589 }
584 }; 590 };
585 591
586 #pragma pack(pop) 592 #pragma pack(pop)
587 593
588 } // namespace blink 594 } // namespace blink
589 595
590 #endif 596 #endif
OLDNEW
« content/renderer/render_widget.cc ('K') | « content/renderer/render_widget_unittest.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698