diff options
author | dsinclair <dsinclair@chromium.org> | 2016-05-26 08:41:45 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-05-26 08:41:45 -0700 |
commit | dd6a46c7eddc31d29b2d2630378c52c25363ce59 (patch) | |
tree | 8de9ff2f47bf3130eb5eee7fb39eff4251b3d90b /xfa/fxjse/util_inline.h | |
parent | 25fa42f398d1f8007aa36531e0436dc769817ad3 (diff) | |
download | pdfium-dd6a46c7eddc31d29b2d2630378c52c25363ce59.tar.xz |
Revert of Remove parameters which are always null (patchset #1 id:1 of https://codereview.chromium.org/2009413002/ )
Reason for revert:
Suspect that the lack of this parameter being
passed accurately to GetObject is leading to
https://bugs.chromium.org/p/chromium/issues/detail?id=613607, and that the right
fix will be to pass it.
Original issue's description:
> Remove parameters which are always null
>
> These parameters are never set, remove them and their supporting code.
>
> Committed: https://pdfium.googlesource.com/pdfium/+/818e1900a3811e1bde1e594e4966db612f845966
TBR=tsepez@chromium.org,thestig@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review-Url: https://codereview.chromium.org/2014863002
Diffstat (limited to 'xfa/fxjse/util_inline.h')
-rw-r--r-- | xfa/fxjse/util_inline.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/xfa/fxjse/util_inline.h b/xfa/fxjse/util_inline.h index 336886b666..e61dc6aa80 100644 --- a/xfa/fxjse/util_inline.h +++ b/xfa/fxjse/util_inline.h @@ -20,7 +20,8 @@ static V8_INLINE void FXJSE_UpdateObjectBinding(v8::Local<v8::Object>& hObject, hObject->SetAlignedPointerInInternalField(0, lpNewBinding); } static V8_INLINE void* FXJSE_RetrieveObjectBinding( - const v8::Local<v8::Object>& hJSObject) { + const v8::Local<v8::Object>& hJSObject, + CFXJSE_Class* lpClass = NULL) { ASSERT(!hJSObject.IsEmpty()); if (!hJSObject->IsObject()) { return NULL; @@ -36,6 +37,14 @@ static V8_INLINE void* FXJSE_RetrieveObjectBinding( return NULL; } } + if (lpClass) { + v8::Local<v8::FunctionTemplate> hClass = + v8::Local<v8::FunctionTemplate>::New( + lpClass->GetContext()->GetRuntime(), lpClass->GetTemplate()); + if (!hClass->HasInstance(hObject)) { + return NULL; + } + } return hObject->GetAlignedPointerFromInternalField(0); } |