void HTMLSelectElement::defaultEventHandler(Event* evt) { if (!renderer()) return; if (usesMenuList()) menuListDefaultEventHandler(evt); else listBoxDefaultEventHandler(evt); if (evt->defaultHandled()) return; if (evt->type() == eventNames().keypressEvent && evt->isKeyboardEvent()) { KeyboardEvent* keyboardEvent = static_cast<KeyboardEvent*>(evt); if (!keyboardEvent->ctrlKey() && !keyboardEvent->altKey() && !keyboardEvent->metaKey() && isPrintableChar(keyboardEvent->charCode())) { typeAheadFind(keyboardEvent); evt->setDefaultHandled(); return; } } HTMLFormControlElementWithState::defaultEventHandler(evt); }
static void handleKeyPress(Frame& frame, KeyboardEvent& event, const PlatformKeyboardEvent& platformEvent) { String commandName = interpretKeyEvent(event); if (!commandName.isEmpty()) { frame.editor().command(commandName).execute(); event.setDefaultHandled(); return; } // Don't insert null or control characters as they can result in unexpected behaviour if (event.charCode() < ' ') return; // Don't insert anything if a modifier is pressed and it has not been handled yet if (platformEvent.ctrlKey() || platformEvent.altKey()) return; if (frame.editor().insertText(platformEvent.text(), &event)) event.setDefaultHandled(); }
void SelectElement::defaultEventHandler(SelectElementData& data, Element* element, Event* event, HTMLFormElement* htmlForm) { if (!element->renderer()) return; if (data.usesMenuList()) menuListDefaultEventHandler(data, element, event, htmlForm); else listBoxDefaultEventHandler(data, element, event, htmlForm); if (event->defaultHandled()) return; if (event->type() == eventNames().keypressEvent && event->isKeyboardEvent()) { KeyboardEvent* keyboardEvent = static_cast<KeyboardEvent*>(event); if (!keyboardEvent->ctrlKey() && !keyboardEvent->altKey() && !keyboardEvent->metaKey() && isPrintableChar(keyboardEvent->charCode())) { typeAheadFind(data, element, keyboardEvent); event->setDefaultHandled(); return; } } }