| OLD | NEW |
| 1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
| 6 | 6 |
| 7 #ifndef FPDFSDK_JAVASCRIPT_JS_VALUE_H_ | 7 #ifndef FPDFSDK_JAVASCRIPT_JS_VALUE_H_ |
| 8 #define FPDFSDK_JAVASCRIPT_JS_VALUE_H_ | 8 #define FPDFSDK_JAVASCRIPT_JS_VALUE_H_ |
| 9 | 9 |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 48 ~CJS_Value(); | 48 ~CJS_Value(); |
| 49 | 49 |
| 50 void SetNull(CJS_Runtime* pRuntime); | 50 void SetNull(CJS_Runtime* pRuntime); |
| 51 void SetValue(const CJS_Value& other); | 51 void SetValue(const CJS_Value& other); |
| 52 void Attach(v8::Local<v8::Value> pValue); | 52 void Attach(v8::Local<v8::Value> pValue); |
| 53 void Detach(); | 53 void Detach(); |
| 54 | 54 |
| 55 static Type GetValueType(v8::Local<v8::Value> value); | 55 static Type GetValueType(v8::Local<v8::Value> value); |
| 56 Type GetType() const { return GetValueType(m_pValue); } | 56 Type GetType() const { return GetValueType(m_pValue); } |
| 57 | 57 |
| 58 int ToInt(v8::Isolate* pIsolate) const; | 58 int ToInt(CJS_Runtime* pRuntime) const; |
| 59 bool ToBool(v8::Isolate* pIsolate) const; | 59 bool ToBool(CJS_Runtime* pRuntime) const; |
| 60 double ToDouble(v8::Isolate* pIsolate) const; | 60 double ToDouble(CJS_Runtime* pRuntime) const; |
| 61 float ToFloat(v8::Isolate* pIsolate) const; | 61 float ToFloat(CJS_Runtime* pRuntime) const; |
| 62 CJS_Object* ToCJSObject(v8::Isolate* pIsolate) const; | 62 CJS_Object* ToCJSObject(CJS_Runtime* pRuntime) const; |
| 63 CFX_WideString ToCFXWideString(v8::Isolate* pIsolate) const; | 63 CFX_WideString ToCFXWideString(CJS_Runtime* pRuntime) const; |
| 64 CFX_ByteString ToCFXByteString(v8::Isolate* pIsolate) const; | 64 CFX_ByteString ToCFXByteString(CJS_Runtime* pRuntime) const; |
| 65 v8::Local<v8::Object> ToV8Object(v8::Isolate* pIsolate) const; | 65 v8::Local<v8::Object> ToV8Object(CJS_Runtime* pRuntime) const; |
| 66 v8::Local<v8::Array> ToV8Array(v8::Isolate* pIsolate) const; | 66 v8::Local<v8::Array> ToV8Array(CJS_Runtime* pRuntime) const; |
| 67 v8::Local<v8::Value> ToV8Value(v8::Isolate* pIsolate) const; | 67 v8::Local<v8::Value> ToV8Value(CJS_Runtime* pRuntime) const; |
| 68 | 68 |
| 69 // Replace the current |m_pValue| with a v8::Number if possible | 69 // Replace the current |m_pValue| with a v8::Number if possible |
| 70 // to make one from the current |m_pValue|. | 70 // to make one from the current |m_pValue|. |
| 71 void MaybeCoerceToNumber(v8::Isolate* pIsolate); | 71 void MaybeCoerceToNumber(CJS_Runtime* pRuntime); |
| 72 | 72 |
| 73 bool IsArrayObject() const; | 73 bool IsArrayObject() const; |
| 74 bool IsDateObject() const; | 74 bool IsDateObject() const; |
| 75 bool ConvertToArray(v8::Isolate* pIsolate, CJS_Array&) const; | 75 bool ConvertToArray(CJS_Runtime* pRuntime, CJS_Array&) const; |
| 76 bool ConvertToDate(v8::Isolate* pIsolate, CJS_Date&) const; | 76 bool ConvertToDate(CJS_Runtime* pRuntime, CJS_Date&) const; |
| 77 | 77 |
| 78 protected: | 78 protected: |
| 79 v8::Local<v8::Value> m_pValue; | 79 v8::Local<v8::Value> m_pValue; |
| 80 }; | 80 }; |
| 81 | 81 |
| 82 class CJS_PropValue { | 82 class CJS_PropValue { |
| 83 public: | 83 public: |
| 84 explicit CJS_PropValue(CJS_Runtime* pRuntime); | 84 explicit CJS_PropValue(CJS_Runtime* pRuntime); |
| 85 CJS_PropValue(CJS_Runtime* pRuntime, const CJS_Value&); | 85 CJS_PropValue(CJS_Runtime* pRuntime, const CJS_Value&); |
| 86 ~CJS_PropValue(); | 86 ~CJS_PropValue(); |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 120 CJS_Runtime* const m_pJSRuntime; | 120 CJS_Runtime* const m_pJSRuntime; |
| 121 }; | 121 }; |
| 122 | 122 |
| 123 class CJS_Array { | 123 class CJS_Array { |
| 124 public: | 124 public: |
| 125 CJS_Array(); | 125 CJS_Array(); |
| 126 CJS_Array(const CJS_Array& other); | 126 CJS_Array(const CJS_Array& other); |
| 127 virtual ~CJS_Array(); | 127 virtual ~CJS_Array(); |
| 128 | 128 |
| 129 void Attach(v8::Local<v8::Array> pArray); | 129 void Attach(v8::Local<v8::Array> pArray); |
| 130 void GetElement(v8::Isolate* pIsolate, | 130 void GetElement(CJS_Runtime* pRuntime, |
| 131 unsigned index, | 131 unsigned index, |
| 132 CJS_Value& value) const; | 132 CJS_Value& value) const; |
| 133 void SetElement(v8::Isolate* pIsolate, | 133 void SetElement(CJS_Runtime* pRuntime, |
| 134 unsigned index, | 134 unsigned index, |
| 135 const CJS_Value& value); | 135 const CJS_Value& value); |
| 136 int GetLength() const; | 136 int GetLength(CJS_Runtime* pRuntime) const; |
| 137 | 137 |
| 138 v8::Local<v8::Array> ToV8Array(v8::Isolate* pIsolate) const; | 138 v8::Local<v8::Array> ToV8Array(CJS_Runtime* pRuntime) const; |
| 139 | 139 |
| 140 private: | 140 private: |
| 141 mutable v8::Local<v8::Array> m_pArray; | 141 mutable v8::Local<v8::Array> m_pArray; |
| 142 }; | 142 }; |
| 143 | 143 |
| 144 class CJS_Date { | 144 class CJS_Date { |
| 145 public: | 145 public: |
| 146 CJS_Date(); | 146 CJS_Date(); |
| 147 CJS_Date(v8::Isolate* pIsolate, double dMsec_time); | 147 CJS_Date(CJS_Runtime* pRuntime, double dMsec_time); |
| 148 CJS_Date(v8::Isolate* pIsolate, | 148 CJS_Date(CJS_Runtime* pRuntime, |
| 149 int year, | 149 int year, |
| 150 int mon, | 150 int mon, |
| 151 int day, | 151 int day, |
| 152 int hour, | 152 int hour, |
| 153 int min, | 153 int min, |
| 154 int sec); | 154 int sec); |
| 155 virtual ~CJS_Date(); | 155 virtual ~CJS_Date(); |
| 156 | 156 |
| 157 void Attach(v8::Local<v8::Date> pDate); | 157 void Attach(v8::Local<v8::Date> pDate); |
| 158 bool IsValidDate(v8::Isolate* pIsolate) const; | 158 bool IsValidDate(CJS_Runtime* pRuntime) const; |
| 159 | 159 |
| 160 int GetYear(v8::Isolate* pIsolate) const; | 160 int GetYear(CJS_Runtime* pRuntime) const; |
| 161 void SetYear(v8::Isolate* pIsolate, int iYear); | 161 void SetYear(CJS_Runtime* pRuntime, int iYear); |
| 162 | 162 |
| 163 int GetMonth(v8::Isolate* pIsolate) const; | 163 int GetMonth(CJS_Runtime* pRuntime) const; |
| 164 void SetMonth(v8::Isolate* pIsolate, int iMonth); | 164 void SetMonth(CJS_Runtime* pRuntime, int iMonth); |
| 165 | 165 |
| 166 int GetDay(v8::Isolate* pIsolate) const; | 166 int GetDay(CJS_Runtime* pRuntime) const; |
| 167 void SetDay(v8::Isolate* pIsolate, int iDay); | 167 void SetDay(CJS_Runtime* pRuntime, int iDay); |
| 168 | 168 |
| 169 int GetHours(v8::Isolate* pIsolate) const; | 169 int GetHours(CJS_Runtime* pRuntime) const; |
| 170 void SetHours(v8::Isolate* pIsolate, int iHours); | 170 void SetHours(CJS_Runtime* pRuntime, int iHours); |
| 171 | 171 |
| 172 int GetMinutes(v8::Isolate* pIsolate) const; | 172 int GetMinutes(CJS_Runtime* pRuntime) const; |
| 173 void SetMinutes(v8::Isolate* pIsolate, int minutes); | 173 void SetMinutes(CJS_Runtime* pRuntime, int minutes); |
| 174 | 174 |
| 175 int GetSeconds(v8::Isolate* pIsolate) const; | 175 int GetSeconds(CJS_Runtime* pRuntime) const; |
| 176 void SetSeconds(v8::Isolate* pIsolate, int seconds); | 176 void SetSeconds(CJS_Runtime* pRuntime, int seconds); |
| 177 | 177 |
| 178 v8::Local<v8::Date> ToV8Date(v8::Isolate* pIsolate) const; | 178 v8::Local<v8::Date> ToV8Date(CJS_Runtime* pRuntime) const; |
| 179 double ToDouble(v8::Isolate* pIsolate) const; | 179 double ToDouble(CJS_Runtime* pRuntime) const; |
| 180 CFX_WideString ToString(v8::Isolate* pIsolate) const; | 180 CFX_WideString ToString(CJS_Runtime* pRuntime) const; |
| 181 | 181 |
| 182 protected: | 182 protected: |
| 183 v8::Local<v8::Date> m_pDate; | 183 v8::Local<v8::Date> m_pDate; |
| 184 }; | 184 }; |
| 185 | 185 |
| 186 double JS_GetDateTime(); | 186 double JS_GetDateTime(); |
| 187 int JS_GetYearFromTime(double dt); | 187 int JS_GetYearFromTime(double dt); |
| 188 int JS_GetMonthFromTime(double dt); | 188 int JS_GetMonthFromTime(double dt); |
| 189 int JS_GetDayFromTime(double dt); | 189 int JS_GetDayFromTime(double dt); |
| 190 int JS_GetHourFromTime(double dt); | 190 int JS_GetHourFromTime(double dt); |
| (...skipping 12 matching lines...) Expand all Loading... |
| 203 // names as wchar_t string literals corresponding to each positional argument. | 203 // names as wchar_t string literals corresponding to each positional argument. |
| 204 // The result will always contain |nKeywords| value, with unspecified ones | 204 // The result will always contain |nKeywords| value, with unspecified ones |
| 205 // being set to type VT_unknown. | 205 // being set to type VT_unknown. |
| 206 std::vector<CJS_Value> JS_ExpandKeywordParams( | 206 std::vector<CJS_Value> JS_ExpandKeywordParams( |
| 207 CJS_Runtime* pRuntime, | 207 CJS_Runtime* pRuntime, |
| 208 const std::vector<CJS_Value>& originals, | 208 const std::vector<CJS_Value>& originals, |
| 209 size_t nKeywords, | 209 size_t nKeywords, |
| 210 ...); | 210 ...); |
| 211 | 211 |
| 212 #endif // FPDFSDK_JAVASCRIPT_JS_VALUE_H_ | 212 #endif // FPDFSDK_JAVASCRIPT_JS_VALUE_H_ |
| OLD | NEW |