JSValue* JSMouseEvent::getValueProperty(ExecState* exec, int token) const { switch (token) { case ScreenXAttrNum: { MouseEvent* imp = static_cast<MouseEvent*>(impl()); return jsNumber(imp->screenX()); } case ScreenYAttrNum: { MouseEvent* imp = static_cast<MouseEvent*>(impl()); return jsNumber(imp->screenY()); } case ClientXAttrNum: { MouseEvent* imp = static_cast<MouseEvent*>(impl()); return jsNumber(imp->clientX()); } case ClientYAttrNum: { MouseEvent* imp = static_cast<MouseEvent*>(impl()); return jsNumber(imp->clientY()); } case CtrlKeyAttrNum: { MouseEvent* imp = static_cast<MouseEvent*>(impl()); return jsBoolean(imp->ctrlKey()); } case ShiftKeyAttrNum: { MouseEvent* imp = static_cast<MouseEvent*>(impl()); return jsBoolean(imp->shiftKey()); } case AltKeyAttrNum: { MouseEvent* imp = static_cast<MouseEvent*>(impl()); return jsBoolean(imp->altKey()); } case MetaKeyAttrNum: { MouseEvent* imp = static_cast<MouseEvent*>(impl()); return jsBoolean(imp->metaKey()); } case ButtonAttrNum: { MouseEvent* imp = static_cast<MouseEvent*>(impl()); return jsNumber(imp->button()); } case RelatedTargetAttrNum: { MouseEvent* imp = static_cast<MouseEvent*>(impl()); return toJS(exec, WTF::getPtr(imp->relatedTarget())); } case OffsetXAttrNum: { MouseEvent* imp = static_cast<MouseEvent*>(impl()); return jsNumber(imp->offsetX()); } case OffsetYAttrNum: { MouseEvent* imp = static_cast<MouseEvent*>(impl()); return jsNumber(imp->offsetY()); } case XAttrNum: { MouseEvent* imp = static_cast<MouseEvent*>(impl()); return jsNumber(imp->x()); } case YAttrNum: { MouseEvent* imp = static_cast<MouseEvent*>(impl()); return jsNumber(imp->y()); } case FromElementAttrNum: { MouseEvent* imp = static_cast<MouseEvent*>(impl()); return toJS(exec, WTF::getPtr(imp->fromElement())); } case ToElementAttrNum: { MouseEvent* imp = static_cast<MouseEvent*>(impl()); return toJS(exec, WTF::getPtr(imp->toElement())); } case DataTransferAttrNum: { MouseEvent* imp = static_cast<MouseEvent*>(impl()); return toJS(exec, WTF::getPtr(imp->dataTransfer())); } } return 0; }
static v8::Handle<v8::Value> altKeyAttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info) { INC_STATS("DOM.MouseEvent.altKey._get"); MouseEvent* imp = V8MouseEvent::toNative(info.Holder()); return v8Boolean(imp->altKey()); }