diff options
author | tsepez <tsepez@chromium.org> | 2016-07-14 12:07:48 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-07-14 12:07:48 -0700 |
commit | 88b6686f6e56a01dab0172f4b3129ab7ae0cd8d8 (patch) | |
tree | f468bcfd290387726af632c8a462b15cc4d1e241 /fxjs | |
parent | 0089a685b6eb620ff24170cfddac502901fde495 (diff) | |
download | pdfium-88b6686f6e56a01dab0172f4b3129ab7ae0cd8d8.tar.xz |
Do not try to v8::Object::Clone() any objects
v8::Object::Clone() is deprecated, and gets us into trouble with
some corner cases. Create a new handle to the same object instead.
Remove FXJS_NewObject() and FXJS_NewObject2(), and replace with
direct assignments. Pass isolate to FXJS_NewNull() while were
at it, even though not needed, for consistency with all remaining
FXJS_New*() calls.
BUG=628106
R=jochen@chromium.org
Review-Url: https://codereview.chromium.org/2151023002
Diffstat (limited to 'fxjs')
-rw-r--r-- | fxjs/fxjs_v8.cpp | 16 | ||||
-rw-r--r-- | fxjs/include/fxjs_v8.h | 6 |
2 files changed, 2 insertions, 20 deletions
diff --git a/fxjs/fxjs_v8.cpp b/fxjs/fxjs_v8.cpp index c98de070ab..8595ac8a71 100644 --- a/fxjs/fxjs_v8.cpp +++ b/fxjs/fxjs_v8.cpp @@ -779,25 +779,11 @@ v8::Local<v8::Value> FXJS_NewBoolean(v8::Isolate* pIsolate, bool b) { return v8::Boolean::New(pIsolate, b); } -v8::Local<v8::Value> FXJS_NewObject(v8::Isolate* pIsolate, - v8::Local<v8::Object> pObj) { - if (pObj.IsEmpty()) - return v8::Local<v8::Value>(); - return pObj->Clone(); -} - -v8::Local<v8::Value> FXJS_NewObject2(v8::Isolate* pIsolate, - v8::Local<v8::Array> pObj) { - if (pObj.IsEmpty()) - return v8::Local<v8::Value>(); - return pObj->Clone(); -} - v8::Local<v8::Value> FXJS_NewString(v8::Isolate* pIsolate, const wchar_t* str) { return FXJS_WSToJSString(pIsolate, str); } -v8::Local<v8::Value> FXJS_NewNull() { +v8::Local<v8::Value> FXJS_NewNull(v8::Isolate* pIsolate) { return v8::Local<v8::Value>(); } diff --git a/fxjs/include/fxjs_v8.h b/fxjs/include/fxjs_v8.h index 465feef5e8..c8cd65be2f 100644 --- a/fxjs/include/fxjs_v8.h +++ b/fxjs/include/fxjs_v8.h @@ -263,17 +263,13 @@ unsigned FXJS_PutArrayElement(v8::Isolate* pIsolate, unsigned index, v8::Local<v8::Value> pValue); +v8::Local<v8::Value> FXJS_NewNull(v8::Isolate* pIsolate); v8::Local<v8::Array> FXJS_NewArray(v8::Isolate* pIsolate); v8::Local<v8::Value> FXJS_NewNumber(v8::Isolate* pIsolate, int number); 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_NewObject(v8::Isolate* pIsolate, - v8::Local<v8::Object> pObj); -v8::Local<v8::Value> FXJS_NewObject2(v8::Isolate* pIsolate, - v8::Local<v8::Array> pObj); v8::Local<v8::Value> FXJS_NewString(v8::Isolate* pIsolate, const wchar_t* str); -v8::Local<v8::Value> FXJS_NewNull(); v8::Local<v8::Value> FXJS_NewDate(v8::Isolate* pIsolate, double d); int FXJS_ToInt32(v8::Isolate* pIsolate, v8::Local<v8::Value> pValue); |