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

Side by Side Diff: third_party/WebKit/Source/core/html/shadow/DateTimeFieldElement.cpp

Issue 2045603002: Handle the "key" field as opposed to keyIdentifier field. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove initialization of the view Created 4 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 /* 1 /*
2 * Copyright (C) 2012 Google Inc. All rights reserved. 2 * Copyright (C) 2012 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 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
88 } 88 }
89 89
90 void DateTimeFieldElement::defaultKeyboardEventHandler(KeyboardEvent* keyboardEv ent) 90 void DateTimeFieldElement::defaultKeyboardEventHandler(KeyboardEvent* keyboardEv ent)
91 { 91 {
92 if (keyboardEvent->type() != EventTypeNames::keydown) 92 if (keyboardEvent->type() != EventTypeNames::keydown)
93 return; 93 return;
94 94
95 if (isDisabled() || isFieldOwnerDisabled()) 95 if (isDisabled() || isFieldOwnerDisabled())
96 return; 96 return;
97 97
98 const String& keyIdentifier = keyboardEvent->keyIdentifier(); 98 const String& key = keyboardEvent->key();
99 99
100 if (keyIdentifier == "Left") { 100 if (key == "ArrowLeft") {
101 if (!m_fieldOwner) 101 if (!m_fieldOwner)
102 return; 102 return;
103 // FIXME: We'd like to use FocusController::advanceFocus(FocusDirectionL eft, ...) 103 // FIXME: We'd like to use FocusController::advanceFocus(FocusDirectionL eft, ...)
104 // but it doesn't work for shadow nodes. webkit.org/b/104650 104 // but it doesn't work for shadow nodes. webkit.org/b/104650
105 if (!localeForOwner().isRTL() && m_fieldOwner->focusOnPreviousField(*thi s)) 105 if (!localeForOwner().isRTL() && m_fieldOwner->focusOnPreviousField(*thi s))
106 keyboardEvent->setDefaultHandled(); 106 keyboardEvent->setDefaultHandled();
107 return; 107 return;
108 } 108 }
109 109
110 if (keyIdentifier == "Right") { 110 if (key == "ArrowRight") {
111 if (!m_fieldOwner) 111 if (!m_fieldOwner)
112 return; 112 return;
113 // FIXME: We'd like to use FocusController::advanceFocus(FocusDirectionR ight, ...) 113 // FIXME: We'd like to use FocusController::advanceFocus(FocusDirectionR ight, ...)
114 // but it doesn't work for shadow nodes. webkit.org/b/104650 114 // but it doesn't work for shadow nodes. webkit.org/b/104650
115 if (!localeForOwner().isRTL() && m_fieldOwner->focusOnNextField(*this)) 115 if (!localeForOwner().isRTL() && m_fieldOwner->focusOnNextField(*this))
116 keyboardEvent->setDefaultHandled(); 116 keyboardEvent->setDefaultHandled();
117 return; 117 return;
118 } 118 }
119 119
120 if (isFieldOwnerReadOnly()) 120 if (isFieldOwnerReadOnly())
121 return; 121 return;
122 122
123 if (keyIdentifier == "Down") { 123 if (key == "ArrowDown") {
124 if (keyboardEvent->getModifierState("Alt")) 124 if (keyboardEvent->getModifierState("Alt"))
125 return; 125 return;
126 keyboardEvent->setDefaultHandled(); 126 keyboardEvent->setDefaultHandled();
127 stepDown(); 127 stepDown();
128 return; 128 return;
129 } 129 }
130 130
131 if (keyIdentifier == "Up") { 131 if (key == "ArrowUp") {
132 keyboardEvent->setDefaultHandled(); 132 keyboardEvent->setDefaultHandled();
133 stepUp(); 133 stepUp();
134 return; 134 return;
135 } 135 }
136 136
137 if (keyIdentifier == "U+0008" || keyIdentifier == "U+007F") { 137 if (key == "Backspace" || key == "Delete") {
138 keyboardEvent->setDefaultHandled(); 138 keyboardEvent->setDefaultHandled();
139 setEmptyValue(DispatchEvent); 139 setEmptyValue(DispatchEvent);
140 return; 140 return;
141 } 141 }
142 } 142 }
143 143
144 void DateTimeFieldElement::setFocus(bool value) 144 void DateTimeFieldElement::setFocus(bool value)
145 { 145 {
146 if (m_fieldOwner) 146 if (m_fieldOwner)
147 value ? m_fieldOwner->didFocusOnField() : m_fieldOwner->didBlurFromField (); 147 value ? m_fieldOwner->didFocusOnField() : m_fieldOwner->didBlurFromField ();
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
238 m_fieldOwner->fieldValueChanged(); 238 m_fieldOwner->fieldValueChanged();
239 } 239 }
240 240
241 int DateTimeFieldElement::valueForARIAValueNow() const 241 int DateTimeFieldElement::valueForARIAValueNow() const
242 { 242 {
243 return valueAsInteger(); 243 return valueAsInteger();
244 } 244 }
245 245
246 } // namespace blink 246 } // namespace blink
247 247
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698