[api] Deprecate Function::GetDisplayName().
Mark Function::GetDisplayName() as deprecated, scheduled for removal with M92. Bug: chromium:1177685, chromium:17356 Change-Id: Iedb905d2d5ab6f8ec95f47bbc982e4f03891fd48 Doc: https://bit.ly/devtools-function-displayName-removal Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2690601 Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/master@{#72710}
This commit is contained in:
parent
cd139abbf8
commit
c5cf7db1f2
@ -4700,6 +4700,11 @@ class V8_EXPORT Function : public Object {
|
||||
* User-defined name assigned to the "displayName" property of this function.
|
||||
* Used to facilitate debugging and profiling of JavaScript code.
|
||||
*/
|
||||
V8_DEPRECATED(
|
||||
"Use v8::Object::Get() instead to look up \"displayName\". "
|
||||
"V8 and DevTools no longer use \"displayName\" in stack "
|
||||
"traces, but the standard \"name\" property. "
|
||||
"See http://crbug.com/1177685.")
|
||||
Local<Value> GetDisplayName() const;
|
||||
|
||||
/**
|
||||
|
@ -17396,77 +17396,6 @@ THREADED_TEST(FunctionGetDebugName) {
|
||||
}
|
||||
|
||||
|
||||
THREADED_TEST(FunctionGetDisplayName) {
|
||||
LocalContext env;
|
||||
v8::Isolate* isolate = env->GetIsolate();
|
||||
v8::HandleScope scope(isolate);
|
||||
const char* code = "var error = false;"
|
||||
"function a() { this.x = 1; };"
|
||||
"a.displayName = 'display_a';"
|
||||
"var b = (function() {"
|
||||
" var f = function() { this.x = 2; };"
|
||||
" f.displayName = 'display_b';"
|
||||
" return f;"
|
||||
"})();"
|
||||
"var c = function() {};"
|
||||
"c.__defineGetter__('displayName', function() {"
|
||||
" error = true;"
|
||||
" throw new Error();"
|
||||
"});"
|
||||
"function d() {};"
|
||||
"d.__defineGetter__('displayName', function() {"
|
||||
" error = true;"
|
||||
" return 'wrong_display_name';"
|
||||
"});"
|
||||
"function e() {};"
|
||||
"e.displayName = 'wrong_display_name';"
|
||||
"e.__defineSetter__('displayName', function() {"
|
||||
" error = true;"
|
||||
" throw new Error();"
|
||||
"});"
|
||||
"function f() {};"
|
||||
"f.displayName = { 'foo': 6, toString: function() {"
|
||||
" error = true;"
|
||||
" return 'wrong_display_name';"
|
||||
"}};"
|
||||
"var g = function() {"
|
||||
" arguments.callee.displayName = 'set_in_runtime';"
|
||||
"}; g();";
|
||||
v8::ScriptOrigin origin = v8::ScriptOrigin(isolate, v8_str("test"), 0, 0);
|
||||
v8::Script::Compile(env.local(), v8_str(code), &origin)
|
||||
.ToLocalChecked()
|
||||
->Run(env.local())
|
||||
.ToLocalChecked();
|
||||
v8::Local<v8::Value> error =
|
||||
env->Global()->Get(env.local(), v8_str("error")).ToLocalChecked();
|
||||
v8::Local<v8::Function> a = v8::Local<v8::Function>::Cast(
|
||||
env->Global()->Get(env.local(), v8_str("a")).ToLocalChecked());
|
||||
v8::Local<v8::Function> b = v8::Local<v8::Function>::Cast(
|
||||
env->Global()->Get(env.local(), v8_str("b")).ToLocalChecked());
|
||||
v8::Local<v8::Function> c = v8::Local<v8::Function>::Cast(
|
||||
env->Global()->Get(env.local(), v8_str("c")).ToLocalChecked());
|
||||
v8::Local<v8::Function> d = v8::Local<v8::Function>::Cast(
|
||||
env->Global()->Get(env.local(), v8_str("d")).ToLocalChecked());
|
||||
v8::Local<v8::Function> e = v8::Local<v8::Function>::Cast(
|
||||
env->Global()->Get(env.local(), v8_str("e")).ToLocalChecked());
|
||||
v8::Local<v8::Function> f = v8::Local<v8::Function>::Cast(
|
||||
env->Global()->Get(env.local(), v8_str("f")).ToLocalChecked());
|
||||
v8::Local<v8::Function> g = v8::Local<v8::Function>::Cast(
|
||||
env->Global()->Get(env.local(), v8_str("g")).ToLocalChecked());
|
||||
CHECK(!error->BooleanValue(isolate));
|
||||
CHECK_EQ(0, strcmp("display_a",
|
||||
*v8::String::Utf8Value(isolate, a->GetDisplayName())));
|
||||
CHECK_EQ(0, strcmp("display_b",
|
||||
*v8::String::Utf8Value(isolate, b->GetDisplayName())));
|
||||
CHECK(c->GetDisplayName()->IsUndefined());
|
||||
CHECK(d->GetDisplayName()->IsUndefined());
|
||||
CHECK(e->GetDisplayName()->IsUndefined());
|
||||
CHECK(f->GetDisplayName()->IsUndefined());
|
||||
CHECK_EQ(0, strcmp("set_in_runtime",
|
||||
*v8::String::Utf8Value(isolate, g->GetDisplayName())));
|
||||
}
|
||||
|
||||
|
||||
THREADED_TEST(ScriptLineNumber) {
|
||||
LocalContext env;
|
||||
v8::Isolate* isolate = env->GetIsolate();
|
||||
|
Loading…
Reference in New Issue
Block a user