diff options
author | tsepez <tsepez@chromium.org> | 2016-08-05 09:32:50 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-08-05 09:32:50 -0700 |
commit | 135b99861d0d898850754a845f607ec48f0bcccc (patch) | |
tree | 3e045fd8e3ed049e2a5a24aa727cdf0a07c05efe | |
parent | b20ab6c7acb3be1393461eb650ca8fa4660c937e (diff) | |
download | pdfium-chromium/2821.tar.xz |
Return v8::Date specialization not v8::Value where possiblechromium/2824chromium/2823chromium/2822chromium/2821
Also get rid of FXJS_ValueCopy() while we're at it.
BUG=pdfium:556
Review-Url: https://codereview.chromium.org/2215093002
-rw-r--r-- | fpdfsdk/javascript/JS_Value.cpp | 17 | ||||
-rw-r--r-- | fpdfsdk/javascript/JS_Value.h | 4 | ||||
-rw-r--r-- | fxjs/fxjs_v8.cpp | 10 | ||||
-rw-r--r-- | fxjs/include/fxjs_v8.h | 4 |
4 files changed, 16 insertions, 19 deletions
diff --git a/fpdfsdk/javascript/JS_Value.cpp b/fpdfsdk/javascript/JS_Value.cpp index fa1f7d95c5..9d65c79a1b 100644 --- a/fpdfsdk/javascript/JS_Value.cpp +++ b/fpdfsdk/javascript/JS_Value.cpp @@ -252,7 +252,8 @@ FX_BOOL CJS_Value::ConvertToArray(CJS_Array& array) const { FX_BOOL CJS_Value::ConvertToDate(CJS_Date& date) const { if (IsDateObject()) { - date.Attach(m_pValue); + v8::Local<v8::Value> mutable_value = m_pValue; + date.Attach(mutable_value.As<v8::Date>()); return TRUE; } @@ -437,7 +438,7 @@ bool CJS_Date::IsValidDate() const { !JS_PortIsNan(FXJS_ToNumber(m_pJSRuntime->GetIsolate(), m_pDate)); } -void CJS_Date::Attach(v8::Local<v8::Value> pDate) { +void CJS_Date::Attach(v8::Local<v8::Date> pDate) { m_pDate = pDate; } @@ -452,7 +453,7 @@ int CJS_Date::GetYear() const { void CJS_Date::SetYear(int iYear) { double date = MakeDate(iYear, GetMonth(), GetDay(), GetHours(), GetMinutes(), GetSeconds(), 0); - FXJS_ValueCopy(m_pDate, FXJS_NewDate(m_pJSRuntime->GetIsolate(), date)); + m_pDate = FXJS_NewDate(m_pJSRuntime->GetIsolate(), date); } int CJS_Date::GetMonth() const { @@ -466,7 +467,7 @@ int CJS_Date::GetMonth() const { void CJS_Date::SetMonth(int iMonth) { double date = MakeDate(GetYear(), iMonth, GetDay(), GetHours(), GetMinutes(), GetSeconds(), 0); - FXJS_ValueCopy(m_pDate, FXJS_NewDate(m_pJSRuntime->GetIsolate(), date)); + m_pDate = FXJS_NewDate(m_pJSRuntime->GetIsolate(), date); } int CJS_Date::GetDay() const { @@ -480,7 +481,7 @@ int CJS_Date::GetDay() const { void CJS_Date::SetDay(int iDay) { double date = MakeDate(GetYear(), GetMonth(), iDay, GetHours(), GetMinutes(), GetSeconds(), 0); - FXJS_ValueCopy(m_pDate, FXJS_NewDate(m_pJSRuntime->GetIsolate(), date)); + m_pDate = FXJS_NewDate(m_pJSRuntime->GetIsolate(), date); } int CJS_Date::GetHours() const { @@ -494,7 +495,7 @@ int CJS_Date::GetHours() const { void CJS_Date::SetHours(int iHours) { double date = MakeDate(GetYear(), GetMonth(), GetDay(), iHours, GetMinutes(), GetSeconds(), 0); - FXJS_ValueCopy(m_pDate, FXJS_NewDate(m_pJSRuntime->GetIsolate(), date)); + m_pDate = FXJS_NewDate(m_pJSRuntime->GetIsolate(), date); } int CJS_Date::GetMinutes() const { @@ -508,7 +509,7 @@ int CJS_Date::GetMinutes() const { void CJS_Date::SetMinutes(int minutes) { double date = MakeDate(GetYear(), GetMonth(), GetDay(), GetHours(), minutes, GetSeconds(), 0); - FXJS_ValueCopy(m_pDate, FXJS_NewDate(m_pJSRuntime->GetIsolate(), date)); + m_pDate = FXJS_NewDate(m_pJSRuntime->GetIsolate(), date); } int CJS_Date::GetSeconds() const { @@ -522,7 +523,7 @@ int CJS_Date::GetSeconds() const { void CJS_Date::SetSeconds(int seconds) { double date = MakeDate(GetYear(), GetMonth(), GetDay(), GetHours(), GetMinutes(), seconds, 0); - FXJS_ValueCopy(m_pDate, FXJS_NewDate(m_pJSRuntime->GetIsolate(), date)); + m_pDate = FXJS_NewDate(m_pJSRuntime->GetIsolate(), date); } double CJS_Date::ToDouble() const { diff --git a/fpdfsdk/javascript/JS_Value.h b/fpdfsdk/javascript/JS_Value.h index 5943aaf888..01b4e5ba45 100644 --- a/fpdfsdk/javascript/JS_Value.h +++ b/fpdfsdk/javascript/JS_Value.h @@ -159,7 +159,7 @@ class CJS_Date { int sec); virtual ~CJS_Date(); - void Attach(v8::Local<v8::Value> pDate); + void Attach(v8::Local<v8::Date> pDate); bool IsValidDate() const; int GetYear() const; @@ -186,7 +186,7 @@ class CJS_Date { CFX_WideString ToString() const; protected: - v8::Local<v8::Value> m_pDate; + v8::Local<v8::Date> m_pDate; CJS_Runtime* const m_pJSRuntime; }; diff --git a/fxjs/fxjs_v8.cpp b/fxjs/fxjs_v8.cpp index 65778859a3..d161af6281 100644 --- a/fxjs/fxjs_v8.cpp +++ b/fxjs/fxjs_v8.cpp @@ -758,8 +758,10 @@ v8::Local<v8::Value> FXJS_NewNull(v8::Isolate* pIsolate) { return v8::Local<v8::Value>(); } -v8::Local<v8::Value> FXJS_NewDate(v8::Isolate* pIsolate, double d) { - return v8::Date::New(pIsolate->GetCurrentContext(), d).ToLocalChecked(); +v8::Local<v8::Date> FXJS_NewDate(v8::Isolate* pIsolate, double d) { + return v8::Date::New(pIsolate->GetCurrentContext(), d) + .ToLocalChecked() + .As<v8::Date>(); } int FXJS_ToInt32(v8::Isolate* pIsolate, v8::Local<v8::Value> pValue) { @@ -807,7 +809,3 @@ v8::Local<v8::Array> FXJS_ToArray(v8::Isolate* pIsolate, v8::Local<v8::Context> context = pIsolate->GetCurrentContext(); return v8::Local<v8::Array>::Cast(pValue->ToObject(context).ToLocalChecked()); } - -void FXJS_ValueCopy(v8::Local<v8::Value>& pTo, v8::Local<v8::Value> pFrom) { - pTo = pFrom; -} diff --git a/fxjs/include/fxjs_v8.h b/fxjs/include/fxjs_v8.h index f59f510066..cd4d7c4dab 100644 --- a/fxjs/include/fxjs_v8.h +++ b/fxjs/include/fxjs_v8.h @@ -260,7 +260,7 @@ v8::Local<v8::Value> FXJS_NewNumber(v8::Isolate* pIsolate, double number); v8::Local<v8::Value> FXJS_NewNumber(v8::Isolate* pIsolate, float number); v8::Local<v8::Value> FXJS_NewBoolean(v8::Isolate* pIsolate, bool b); v8::Local<v8::Value> FXJS_NewString(v8::Isolate* pIsolate, const wchar_t* str); -v8::Local<v8::Value> FXJS_NewDate(v8::Isolate* pIsolate, double d); +v8::Local<v8::Date> FXJS_NewDate(v8::Isolate* pIsolate, double d); int FXJS_ToInt32(v8::Isolate* pIsolate, v8::Local<v8::Value> pValue); bool FXJS_ToBoolean(v8::Isolate* pIsolate, v8::Local<v8::Value> pValue); @@ -271,6 +271,4 @@ CFX_WideString FXJS_ToString(v8::Isolate* pIsolate, v8::Local<v8::Value> pValue); v8::Local<v8::Array> FXJS_ToArray(v8::Isolate* pIsolate, v8::Local<v8::Value> pValue); -void FXJS_ValueCopy(v8::Local<v8::Value>& pTo, v8::Local<v8::Value> pFrom); - #endif // FXJS_INCLUDE_FXJS_V8_H_ |