| Index: sky/engine/core/editing/EditingBehavior.cpp
|
| diff --git a/sky/engine/core/editing/EditingBehavior.cpp b/sky/engine/core/editing/EditingBehavior.cpp
|
| index 53d8ba6b926c5d95a5dd8e119bd12526b331af5e..8f87f254a14e16f4ccec7cb61bb13737cc2d8067 100644
|
| --- a/sky/engine/core/editing/EditingBehavior.cpp
|
| +++ b/sky/engine/core/editing/EditingBehavior.cpp
|
| @@ -27,9 +27,9 @@
|
| #include "sky/engine/config.h"
|
| #include "sky/engine/core/editing/EditingBehavior.h"
|
|
|
| +#include "gen/sky/core/EventTypeNames.h"
|
| #include "sky/engine/core/events/KeyboardEvent.h"
|
| #include "sky/engine/platform/KeyboardCodes.h"
|
| -#include "sky/engine/platform/PlatformKeyboardEvent.h"
|
|
|
| namespace blink {
|
|
|
| @@ -120,10 +120,6 @@ static const KeyPressEntry keyPressEntries[] = {
|
|
|
| const char* EditingBehavior::interpretKeyEvent(const KeyboardEvent& event) const
|
| {
|
| - const PlatformKeyboardEvent* keyEvent = event.keyEvent();
|
| - if (!keyEvent)
|
| - return "";
|
| -
|
| static HashMap<int, const char*>* keyDownCommandsMap = 0;
|
| static HashMap<int, const char*>* keyPressCommandsMap = 0;
|
|
|
| @@ -141,17 +137,17 @@ const char* EditingBehavior::interpretKeyEvent(const KeyboardEvent& event) const
|
| }
|
|
|
| unsigned modifiers = 0;
|
| - if (keyEvent->shiftKey())
|
| + if (event.shiftKey())
|
| modifiers |= ShiftKey;
|
| - if (keyEvent->altKey())
|
| + if (event.altKey())
|
| modifiers |= AltKey;
|
| - if (keyEvent->ctrlKey())
|
| + if (event.ctrlKey())
|
| modifiers |= CtrlKey;
|
| - if (keyEvent->metaKey())
|
| + if (event.metaKey())
|
| modifiers |= MetaKey;
|
|
|
| - if (keyEvent->type() == PlatformEvent::RawKeyDown) {
|
| - int mapKey = modifiers << 16 | event.keyCode();
|
| + if (event.type() == EventTypeNames::keydown) {
|
| + int mapKey = modifiers << 16 | event.key();
|
| return mapKey ? keyDownCommandsMap->get(mapKey) : 0;
|
| }
|
|
|
| @@ -161,9 +157,6 @@ const char* EditingBehavior::interpretKeyEvent(const KeyboardEvent& event) const
|
|
|
| bool EditingBehavior::shouldInsertCharacter(const KeyboardEvent& event) const
|
| {
|
| - if (event.keyEvent()->text().length() != 1)
|
| - return true;
|
| -
|
| // On Gtk/Linux, it emits key events with ASCII text and ctrl on for ctrl-<x>.
|
| // In Webkit, EditorClient::handleKeyboardEvent in
|
| // WebKit/gtk/WebCoreSupport/EditorClientGtk.cpp drop such events.
|
| @@ -180,7 +173,7 @@ bool EditingBehavior::shouldInsertCharacter(const KeyboardEvent& event) const
|
| // which may be configured to do it so by user.
|
| // See also http://en.wikipedia.org/wiki/Keyboard_Layout
|
| // FIXME(ukai): investigate more detail for various keyboard layout.
|
| - UChar ch = event.keyEvent()->text()[0U];
|
| + UChar ch = event.charCode();
|
|
|
| // Don't insert null or control characters as they can result in
|
| // unexpected behaviour
|
| @@ -190,10 +183,10 @@ bool EditingBehavior::shouldInsertCharacter(const KeyboardEvent& event) const
|
| // Don't insert ASCII character if ctrl w/o alt or meta is on.
|
| // On Mac, we should ignore events when meta is on (Command-<x>).
|
| if (ch < 0x80) {
|
| - if (event.keyEvent()->ctrlKey() && !event.keyEvent()->altKey())
|
| + if (event.ctrlKey() && !event.altKey())
|
| return false;
|
| #if OS(MACOSX)
|
| - if (event.keyEvent()->metaKey())
|
| + if (event.metaKey())
|
| return false;
|
| #endif
|
| }
|
|
|