Commit 6318c7d4 authored by Yuki Shiino's avatar Yuki Shiino Committed by Commit Bot

Reland "v8binding: Make the wrapper check stricter."

This is a reland of 468160f8

Original change's description:
> v8binding: Make the wrapper check stricter.
> 
> Uses a new V8 API, v8::Object::IsApiWrapper, to improve the
> check to determine whether a given v8::Value is a wrapper
> object or not.
> 
> Bug: 999262
> Change-Id: I844b20e6a36e1126fdbaf203db75b4c669ba385f
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1777354
> Reviewed-by: Kentaro Hara <haraken@chromium.org>
> Reviewed-by: Hitoshi Yoshida <peria@chromium.org>
> Commit-Queue: Yuki Shiino <yukishiino@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#692629}

Bug: 999262
Change-Id: I58a4fabb775d42f0b1ae2463cbc2d95333565e7c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1794325Reviewed-by: default avatarKentaro Hara <haraken@chromium.org>
Reviewed-by: default avatarMichael Lippautz <mlippautz@chromium.org>
Reviewed-by: default avatarHitoshi Yoshida <peria@chromium.org>
Commit-Queue: Yuki Shiino <yukishiino@chromium.org>
Cr-Commit-Position: refs/heads/master@{#695509}
parent ad997a35
......@@ -73,7 +73,10 @@ v8::Local<v8::Object> V8DOMWrapper::CreateWrapper(
bool V8DOMWrapper::IsWrapper(v8::Isolate* isolate, v8::Local<v8::Value> value) {
if (value.IsEmpty() || !value->IsObject())
return false;
v8::Local<v8::Object> object = v8::Local<v8::Object>::Cast(value);
if (!object->IsApiWrapper())
return false;
if (object->InternalFieldCount() < kV8DefaultWrapperInternalFieldCount)
return false;
......@@ -89,7 +92,10 @@ bool V8DOMWrapper::IsWrapper(v8::Isolate* isolate, v8::Local<v8::Value> value) {
bool V8DOMWrapper::HasInternalFieldsSet(v8::Local<v8::Value> value) {
if (value.IsEmpty() || !value->IsObject())
return false;
v8::Local<v8::Object> object = v8::Local<v8::Object>::Cast(value);
if (!object->IsApiWrapper())
return false;
if (object->InternalFieldCount() < kV8DefaultWrapperInternalFieldCount)
return false;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment