HTML5's HTMLInputElement IDL has > attribute Date valueAsDate; We need to support binding for Date.
Created attachment 45131 [details] Proposed patch Generated code for "Date valueAsDate setter raises(DOMException)" will be like: static v8::Handle<v8::Value> valueAsDateAttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info) { INC_STATS("DOM.HTMLInputElement.valueAsDate._get"); v8::Handle<v8::Object> holder = info.Holder(); HTMLInputElement* imp = v8DOMWrapperToNode<HTMLInputElement>(info); double v = imp->valueAsDate(); if (isnan(v) || isinf(v)) return v8::Null(); else return v8::Date::New(v); } static void valueAsDateAttrSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info) { INC_STATS("DOM.HTMLInputElement.valueAsDate._set"); v8::Handle<v8::Object> holder = info.Holder(); HTMLInputElement* imp = v8DOMWrapperToNode<HTMLInputElement>(info); double v = value->IsDate() ? value->NumberValue() : std::numeric_limits<double>::quiet_NaN(); ExceptionCode ec = 0; imp->setValueAsDate(v, ec); if (UNLIKELY(ec)) V8Proxy::setDOMException(ec); return; }
Created attachment 45256 [details] Proposed patch Note: This depends on a patch in Bug#32698, and EWS will report a failure.
(In reply to comment #2) Generated code for "Date valueAsDate setter raises(DOMException)" will be like: static v8::Handle<v8::Value> valueAsDateAttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info) { INC_STATS("DOM.HTMLInputElement.valueAsDate._get"); v8::Handle<v8::Object> holder = info.Holder(); HTMLInputElement* imp = v8DOMWrapperToNode<HTMLInputElement>(info); return v8DateOrNull(imp->valueAsDate());; } static void valueAsDateAttrSetter(v8::Local<v8::String> name, v8::Local<v8::Value> value, const v8::AccessorInfo& info) { INC_STATS("DOM.HTMLInputElement.valueAsDate._set"); v8::Handle<v8::Object> holder = info.Holder(); HTMLInputElement* imp = v8DOMWrapperToNode<HTMLInputElement>(info); double v = toWebCoreDate(value); ExceptionCode ec = 0; imp->setValueAsDate(v, ec); if (UNLIKELY(ec)) V8Proxy::setDOMException(ec); return; }
Comment on attachment 45256 [details] Proposed patch This looks fine. Please update the FIXME to match the patch: "FIXME: Add Date support for V8, Objective-C, and COM."
Landed in r52454.