summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortsepez <tsepez@chromium.org>2016-08-05 09:32:50 -0700
committerCommit bot <commit-bot@chromium.org>2016-08-05 09:32:50 -0700
commit135b99861d0d898850754a845f607ec48f0bcccc (patch)
tree3e045fd8e3ed049e2a5a24aa727cdf0a07c05efe
parentb20ab6c7acb3be1393461eb650ca8fa4660c937e (diff)
downloadpdfium-chromium/2823.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.cpp17
-rw-r--r--fpdfsdk/javascript/JS_Value.h4
-rw-r--r--fxjs/fxjs_v8.cpp10
-rw-r--r--fxjs/include/fxjs_v8.h4
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_