Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit da35ac3

Browse filesBrowse files
mi-acaddaleax
authored andcommitted
v8: backport bd59e7452be from upstream v8
Original commit message: [PATCH] Merged: Make Object::GetOwnPropertyDescriptor() take a Name, not a String. Revision: b5e610c19208ef854755eec67011ca7aff008bf4 NOTRY=true NOPRESUBMIT=true NOTREECHECKS=true TBR=vogelheim@chromium.org Bug: Change-Id: I396b559b28aab6afa138db747711e50cd0da3da7 Reviewed-on: https://chromium-review.googlesource.com/513927 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/branch-heads/6.0@{#5} Cr-Branched-From: 97dbf624a5eeffb3a8df36d24cdb2a883137385f-refs/heads/6.0.286@{#1} Cr-Branched-From: 12e6f1cb5cd9616da7b9d4a7655c088778a6d415-refs/heads/master@{#45439} PR-URL: #13217 Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: James M Snell <jasnell@gmail.com>
1 parent 1e93589 commit da35ac3
Copy full SHA for da35ac3

File tree

Expand file treeCollapse file tree

3 files changed

+21
-14
lines changed
Open diff view settings
Filter options
Expand file treeCollapse file tree

3 files changed

+21
-14
lines changed
Open diff view settings
Collapse file

‎deps/v8/include/v8.h‎

Copy file name to clipboardExpand all lines: deps/v8/include/v8.h
+3-3Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3070,12 +3070,12 @@ class V8_EXPORT Object : public Value {
30703070
Local<Context> context, Local<Value> key);
30713071

30723072
/**
3073-
* Returns Object.getOwnPropertyDescriptor as per ES5 section 15.2.3.3.
3073+
* Returns Object.getOwnPropertyDescriptor as per ES2016 section 19.1.2.6.
30743074
*/
30753075
V8_DEPRECATED("Use maybe version",
3076-
Local<Value> GetOwnPropertyDescriptor(Local<String> key));
3076+
Local<Value> GetOwnPropertyDescriptor(Local<Name> key));
30773077
V8_WARN_UNUSED_RESULT MaybeLocal<Value> GetOwnPropertyDescriptor(
3078-
Local<Context> context, Local<String> key);
3078+
Local<Context> context, Local<Name> key);
30793079

30803080
V8_DEPRECATE_SOON("Use maybe version", bool Has(Local<Value> key));
30813081
/**
Collapse file

‎deps/v8/src/api.cc‎

Copy file name to clipboardExpand all lines: deps/v8/src/api.cc
+3-5Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4530,12 +4530,11 @@ PropertyAttribute v8::Object::GetPropertyAttributes(v8::Local<Value> key) {
45304530
.FromMaybe(static_cast<PropertyAttribute>(i::NONE));
45314531
}
45324532

4533-
45344533
MaybeLocal<Value> v8::Object::GetOwnPropertyDescriptor(Local<Context> context,
4535-
Local<String> key) {
4534+
Local<Name> key) {
45364535
PREPARE_FOR_EXECUTION(context, Object, GetOwnPropertyDescriptor, Value);
45374536
i::Handle<i::JSReceiver> obj = Utils::OpenHandle(this);
4538-
i::Handle<i::String> key_name = Utils::OpenHandle(*key);
4537+
i::Handle<i::Name> key_name = Utils::OpenHandle(*key);
45394538

45404539
i::PropertyDescriptor desc;
45414540
Maybe<bool> found =
@@ -4548,8 +4547,7 @@ MaybeLocal<Value> v8::Object::GetOwnPropertyDescriptor(Local<Context> context,
45484547
RETURN_ESCAPED(Utils::ToLocal(desc.ToObject(isolate)));
45494548
}
45504549

4551-
4552-
Local<Value> v8::Object::GetOwnPropertyDescriptor(Local<String> key) {
4550+
Local<Value> v8::Object::GetOwnPropertyDescriptor(Local<Name> key) {
45534551
auto context = ContextFromHeapObject(Utils::OpenHandle(this));
45544552
RETURN_TO_LOCAL_UNCHECKED(GetOwnPropertyDescriptor(context, key), Value);
45554553
}
Collapse file

‎deps/v8/test/cctest/test-api.cc‎

Copy file name to clipboardExpand all lines: deps/v8/test/cctest/test-api.cc
+15-6Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24362,12 +24362,13 @@ TEST(GetOwnPropertyDescriptor) {
2436224362
v8::Isolate* isolate = env->GetIsolate();
2436324363
v8::HandleScope scope(isolate);
2436424364
CompileRun(
24365-
"var x = { value : 13};"
24366-
"Object.defineProperty(x, 'p0', {value : 12});"
24367-
"Object.defineProperty(x, 'p1', {"
24368-
" set : function(value) { this.value = value; },"
24369-
" get : function() { return this.value; },"
24370-
"});");
24365+
"var x = { value : 13};"
24366+
"Object.defineProperty(x, 'p0', {value : 12});"
24367+
"Object.defineProperty(x, Symbol.toStringTag, {value: 'foo'});"
24368+
"Object.defineProperty(x, 'p1', {"
24369+
" set : function(value) { this.value = value; },"
24370+
" get : function() { return this.value; },"
24371+
"});");
2437124372
Local<Object> x = Local<Object>::Cast(
2437224373
env->Global()->Get(env.local(), v8_str("x")).ToLocalChecked());
2437324374
Local<Value> desc =
@@ -24401,6 +24402,14 @@ TEST(GetOwnPropertyDescriptor) {
2440124402
->Equals(env.local(),
2440224403
get->Call(env.local(), x, 0, NULL).ToLocalChecked())
2440324404
.FromJust());
24405+
desc =
24406+
x->GetOwnPropertyDescriptor(env.local(), Symbol::GetToStringTag(isolate))
24407+
.ToLocalChecked();
24408+
CHECK(v8_str("foo")
24409+
->Equals(env.local(), Local<Object>::Cast(desc)
24410+
->Get(env.local(), v8_str("value"))
24411+
.ToLocalChecked())
24412+
.FromJust());
2440424413
}
2440524414

2440624415

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.