Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(47)

Unified Diff: third_party/WebKit/Source/bindings/core/v8/V8PerIsolateData.cpp

Issue 1497503002: Removes the custom toString callback for the various DOM constructors. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/bindings/core/v8/V8PerIsolateData.cpp
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8PerIsolateData.cpp b/third_party/WebKit/Source/bindings/core/v8/V8PerIsolateData.cpp
index d9c7c0d5e91cacf12f47987d09eb3d9627bb5514..eba75668214b7f7d13379ddb24d9b6dea8085c69 100644
--- a/third_party/WebKit/Source/bindings/core/v8/V8PerIsolateData.cpp
+++ b/third_party/WebKit/Source/bindings/core/v8/V8PerIsolateData.cpp
@@ -165,7 +165,6 @@ void V8PerIsolateData::destroy(v8::Isolate* isolate)
data->m_hiddenValue.clear();
data->m_stringCache->dispose();
data->m_stringCache.clear();
- data->m_toStringTemplate.clear();
data->m_domTemplateMapForNonMainWorld.clear();
data->m_domTemplateMapForMainWorld.clear();
if (isMainThread())
@@ -259,34 +258,6 @@ v8::Local<v8::Object> V8PerIsolateData::findInstanceInPrototypeChain(const Wrapp
return v8::Local<v8::Object>::Cast(value)->FindInstanceInPrototypeChain(templ);
}
-static void constructorOfToString(const v8::FunctionCallbackInfo<v8::Value>& info)
-{
- // The DOM constructors' toString functions grab the current toString
- // for Functions by taking the toString function of itself and then
- // calling it with the constructor as its receiver. This means that
- // changes to the Function prototype chain or toString function are
- // reflected when printing DOM constructors. The only wart is that
- // changes to a DOM constructor's toString's toString will cause the
- // toString of the DOM constructor itself to change. This is extremely
- // obscure and unlikely to be a problem.
- v8::Isolate* isolate = info.GetIsolate();
- v8::Local<v8::Value> value;
- if (!info.Callee()->Get(isolate->GetCurrentContext(), v8AtomicString(isolate, "toString")).ToLocal(&value) || !value->IsFunction()) {
- v8SetReturnValue(info, v8::String::Empty(isolate));
- return;
- }
- v8::Local<v8::Value> result;
- if (V8ScriptRunner::callInternalFunction(v8::Local<v8::Function>::Cast(value), info.This(), 0, 0, isolate).ToLocal(&result))
- v8SetReturnValue(info, result);
-}
-
-v8::Local<v8::FunctionTemplate> V8PerIsolateData::toStringTemplate()
-{
- if (m_toStringTemplate.isEmpty())
- m_toStringTemplate.set(isolate(), v8::FunctionTemplate::New(isolate(), constructorOfToString));
- return m_toStringTemplate.newLocal(isolate());
-}
-
void V8PerIsolateData::addEndOfScopeTask(PassOwnPtr<EndOfScopeTask> task)
{
m_endOfScopeTasks.append(task);

Powered by Google App Engine
This is Rietveld 408576698