JSValue jsKeyboardEventMetaKey(ExecState* exec, const Identifier&, const PropertySlot& slot) { JSKeyboardEvent* castedThis = static_cast<JSKeyboardEvent*>(asObject(slot.slotBase())); UNUSED_PARAM(exec); KeyboardEvent* imp = static_cast<KeyboardEvent*>(castedThis->impl()); return jsBoolean(imp->metaKey()); }
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); }
JSValue jsKeyboardEventMetaKey(ExecState* exec, JSValue slotBase, const Identifier&) { JSKeyboardEvent* castedThis = static_cast<JSKeyboardEvent*>(asObject(slotBase)); UNUSED_PARAM(exec); KeyboardEvent* imp = static_cast<KeyboardEvent*>(castedThis->impl()); JSValue result = jsBoolean(imp->metaKey()); return result; }
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; } } }
JSValue* JSKeyboardEvent::getValueProperty(ExecState* exec, int token) const { switch (token) { case KeyIdentifierAttrNum: { KeyboardEvent* imp = static_cast<KeyboardEvent*>(impl()); return jsString(exec, imp->keyIdentifier()); } case KeyLocationAttrNum: { KeyboardEvent* imp = static_cast<KeyboardEvent*>(impl()); return jsNumber(exec, imp->keyLocation()); } case CtrlKeyAttrNum: { KeyboardEvent* imp = static_cast<KeyboardEvent*>(impl()); return jsBoolean(imp->ctrlKey()); } case ShiftKeyAttrNum: { KeyboardEvent* imp = static_cast<KeyboardEvent*>(impl()); return jsBoolean(imp->shiftKey()); } case AltKeyAttrNum: { KeyboardEvent* imp = static_cast<KeyboardEvent*>(impl()); return jsBoolean(imp->altKey()); } case MetaKeyAttrNum: { KeyboardEvent* imp = static_cast<KeyboardEvent*>(impl()); return jsBoolean(imp->metaKey()); } case AltGraphKeyAttrNum: { KeyboardEvent* imp = static_cast<KeyboardEvent*>(impl()); return jsBoolean(imp->altGraphKey()); } case ConstructorAttrNum: return getConstructor(exec); } return 0; }