From 135b99861d0d898850754a845f607ec48f0bcccc Mon Sep 17 00:00:00 2001 From: tsepez Date: Fri, 5 Aug 2016 09:32:50 -0700 Subject: Return v8::Date specialization not v8::Value where possible Also get rid of FXJS_ValueCopy() while we're at it. BUG=pdfium:556 Review-Url: https://codereview.chromium.org/2215093002 --- fpdfsdk/javascript/JS_Value.cpp | 17 +++++++++-------- fpdfsdk/javascript/JS_Value.h | 4 ++-- fxjs/fxjs_v8.cpp | 10 ++++------ 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 mutable_value = m_pValue; + date.Attach(mutable_value.As()); 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 pDate) { +void CJS_Date::Attach(v8::Local 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 pDate); + void Attach(v8::Local pDate); bool IsValidDate() const; int GetYear() const; @@ -186,7 +186,7 @@ class CJS_Date { CFX_WideString ToString() const; protected: - v8::Local m_pDate; + v8::Local 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 FXJS_NewNull(v8::Isolate* pIsolate) { return v8::Local(); } -v8::Local FXJS_NewDate(v8::Isolate* pIsolate, double d) { - return v8::Date::New(pIsolate->GetCurrentContext(), d).ToLocalChecked(); +v8::Local FXJS_NewDate(v8::Isolate* pIsolate, double d) { + return v8::Date::New(pIsolate->GetCurrentContext(), d) + .ToLocalChecked() + .As(); } int FXJS_ToInt32(v8::Isolate* pIsolate, v8::Local pValue) { @@ -807,7 +809,3 @@ v8::Local FXJS_ToArray(v8::Isolate* pIsolate, v8::Local context = pIsolate->GetCurrentContext(); return v8::Local::Cast(pValue->ToObject(context).ToLocalChecked()); } - -void FXJS_ValueCopy(v8::Local& pTo, v8::Local 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 FXJS_NewNumber(v8::Isolate* pIsolate, double number); v8::Local FXJS_NewNumber(v8::Isolate* pIsolate, float number); v8::Local FXJS_NewBoolean(v8::Isolate* pIsolate, bool b); v8::Local FXJS_NewString(v8::Isolate* pIsolate, const wchar_t* str); -v8::Local FXJS_NewDate(v8::Isolate* pIsolate, double d); +v8::Local FXJS_NewDate(v8::Isolate* pIsolate, double d); int FXJS_ToInt32(v8::Isolate* pIsolate, v8::Local pValue); bool FXJS_ToBoolean(v8::Isolate* pIsolate, v8::Local pValue); @@ -271,6 +271,4 @@ CFX_WideString FXJS_ToString(v8::Isolate* pIsolate, v8::Local pValue); v8::Local FXJS_ToArray(v8::Isolate* pIsolate, v8::Local pValue); -void FXJS_ValueCopy(v8::Local& pTo, v8::Local pFrom); - #endif // FXJS_INCLUDE_FXJS_V8_H_ -- cgit v1.2.3