Add Date type support to CefV8Value (issue #190).

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@242 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
This commit is contained in:
Marshall Greenblatt
2011-05-23 17:43:53 +00:00
parent 26d7f043e2
commit 338b9c0cc9
16 changed files with 347 additions and 55 deletions

View File

@@ -433,6 +433,16 @@ CefRefPtr<CefV8Value> CefV8Value::CreateDouble(double value)
return new CefV8ValueImpl(v8::Number::New(value));
}
// static
CefRefPtr<CefV8Value> CefV8Value::CreateDate(const CefTime& date)
{
CEF_REQUIRE_VALID_CONTEXT(NULL);
CEF_REQUIRE_UI_THREAD(NULL);
v8::HandleScope handle_scope;
// Convert from seconds to milliseconds.
return new CefV8ValueImpl(v8::Date::New(date.GetDoubleT() * 1000));
}
// static
CefRefPtr<CefV8Value> CefV8Value::CreateString(const CefString& value)
{
@@ -566,7 +576,13 @@ bool CefV8ValueImpl::IsInt()
bool CefV8ValueImpl::IsDouble()
{
CEF_REQUIRE_UI_THREAD(false);
return (GetHandle()->IsNumber() || GetHandle()->IsDate());
return GetHandle()->IsNumber();
}
bool CefV8ValueImpl::IsDate()
{
CEF_REQUIRE_UI_THREAD(false);
return GetHandle()->IsDate();
}
bool CefV8ValueImpl::IsString()
@@ -639,6 +655,15 @@ double CefV8ValueImpl::GetDoubleValue()
return val->Value();
}
CefTime CefV8ValueImpl::GetDateValue()
{
CEF_REQUIRE_UI_THREAD(0.);
v8::HandleScope handle_scope;
v8::Local<v8::Number> val = GetHandle()->ToNumber();
// Convert from milliseconds to seconds.
return CefTime(val->Value() / 1000);
}
CefString CefV8ValueImpl::GetStringValue()
{
CefString rv;