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

Unified Diff: src/inspector/v8-console.cc

Issue 2790343002: Revert of [inspector] move console to builtins (Closed)
Patch Set: Created 3 years, 8 months 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
« no previous file with comments | « src/inspector/v8-console.h ('k') | src/inspector/v8-inspector-impl.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/inspector/v8-console.cc
diff --git a/src/inspector/v8-console.cc b/src/inspector/v8-console.cc
index 358b45358519a2268bd1c0f16b567516f80825eb..69e58dfabd03fd64fb8d4bd741bee9e62c36e5ab 100644
--- a/src/inspector/v8-console.cc
+++ b/src/inspector/v8-console.cc
@@ -25,11 +25,11 @@
class ConsoleHelper {
public:
- ConsoleHelper(const v8::debug::ConsoleCallArguments& info,
- V8InspectorImpl* inspector)
+ explicit ConsoleHelper(const v8::FunctionCallbackInfo<v8::Value>& info,
+ V8InspectorImpl* inspector)
: m_info(info),
- m_isolate(inspector->isolate()),
- m_context(m_isolate->GetCurrentContext()),
+ m_isolate(info.GetIsolate()),
+ m_context(info.GetIsolate()->GetCurrentContext()),
m_inspector(inspector),
m_contextId(InspectedContext::contextId(m_context)),
m_groupId(m_inspector->contextGroupId(m_contextId)) {}
@@ -145,7 +145,7 @@
}
private:
- const v8::debug::ConsoleCallArguments& m_info;
+ const v8::FunctionCallbackInfo<v8::Value>& m_info;
v8::Isolate* m_isolate;
v8::Local<v8::Context> m_context;
V8InspectorImpl* m_inspector = nullptr;
@@ -190,63 +190,66 @@
V8Console::V8Console(V8InspectorImpl* inspector) : m_inspector(inspector) {}
-void V8Console::Debug(const v8::debug::ConsoleCallArguments& info) {
+void V8Console::debugCallback(const v8::FunctionCallbackInfo<v8::Value>& info) {
ConsoleHelper(info, m_inspector).reportCall(ConsoleAPIType::kDebug);
}
-void V8Console::Error(const v8::debug::ConsoleCallArguments& info) {
+void V8Console::errorCallback(const v8::FunctionCallbackInfo<v8::Value>& info) {
ConsoleHelper(info, m_inspector).reportCall(ConsoleAPIType::kError);
}
-void V8Console::Info(const v8::debug::ConsoleCallArguments& info) {
+void V8Console::infoCallback(const v8::FunctionCallbackInfo<v8::Value>& info) {
ConsoleHelper(info, m_inspector).reportCall(ConsoleAPIType::kInfo);
}
-void V8Console::Log(const v8::debug::ConsoleCallArguments& info) {
+void V8Console::logCallback(const v8::FunctionCallbackInfo<v8::Value>& info) {
ConsoleHelper(info, m_inspector).reportCall(ConsoleAPIType::kLog);
}
-void V8Console::Warn(const v8::debug::ConsoleCallArguments& info) {
+void V8Console::warnCallback(const v8::FunctionCallbackInfo<v8::Value>& info) {
ConsoleHelper(info, m_inspector).reportCall(ConsoleAPIType::kWarning);
}
-void V8Console::Dir(const v8::debug::ConsoleCallArguments& info) {
+void V8Console::dirCallback(const v8::FunctionCallbackInfo<v8::Value>& info) {
ConsoleHelper(info, m_inspector).reportCall(ConsoleAPIType::kDir);
}
-void V8Console::DirXml(const v8::debug::ConsoleCallArguments& info) {
+void V8Console::dirxmlCallback(
+ const v8::FunctionCallbackInfo<v8::Value>& info) {
ConsoleHelper(info, m_inspector).reportCall(ConsoleAPIType::kDirXML);
}
-void V8Console::Table(const v8::debug::ConsoleCallArguments& info) {
+void V8Console::tableCallback(const v8::FunctionCallbackInfo<v8::Value>& info) {
ConsoleHelper(info, m_inspector).reportCall(ConsoleAPIType::kTable);
}
-void V8Console::Trace(const v8::debug::ConsoleCallArguments& info) {
+void V8Console::traceCallback(const v8::FunctionCallbackInfo<v8::Value>& info) {
ConsoleHelper(info, m_inspector)
.reportCallWithDefaultArgument(ConsoleAPIType::kTrace,
String16("console.trace"));
}
-void V8Console::Group(const v8::debug::ConsoleCallArguments& info) {
+void V8Console::groupCallback(const v8::FunctionCallbackInfo<v8::Value>& info) {
ConsoleHelper(info, m_inspector)
.reportCallWithDefaultArgument(ConsoleAPIType::kStartGroup,
String16("console.group"));
}
-void V8Console::GroupCollapsed(const v8::debug::ConsoleCallArguments& info) {
+void V8Console::groupCollapsedCallback(
+ const v8::FunctionCallbackInfo<v8::Value>& info) {
ConsoleHelper(info, m_inspector)
.reportCallWithDefaultArgument(ConsoleAPIType::kStartGroupCollapsed,
String16("console.groupCollapsed"));
}
-void V8Console::GroupEnd(const v8::debug::ConsoleCallArguments& info) {
+void V8Console::groupEndCallback(
+ const v8::FunctionCallbackInfo<v8::Value>& info) {
ConsoleHelper(info, m_inspector)
.reportCallWithDefaultArgument(ConsoleAPIType::kEndGroup,
String16("console.groupEnd"));
}
-void V8Console::Clear(const v8::debug::ConsoleCallArguments& info) {
+void V8Console::clearCallback(const v8::FunctionCallbackInfo<v8::Value>& info) {
ConsoleHelper helper(info, m_inspector);
if (!helper.groupId()) return;
m_inspector->client()->consoleClear(helper.groupId());
@@ -254,7 +257,7 @@
String16("console.clear"));
}
-void V8Console::Count(const v8::debug::ConsoleCallArguments& info) {
+void V8Console::countCallback(const v8::FunctionCallbackInfo<v8::Value>& info) {
ConsoleHelper helper(info, m_inspector);
String16 title = helper.firstArgToString(String16());
String16 identifier;
@@ -277,7 +280,8 @@
title.isEmpty() ? countString : (title + ": " + countString));
}
-void V8Console::Assert(const v8::debug::ConsoleCallArguments& info) {
+void V8Console::assertCallback(
+ const v8::FunctionCallbackInfo<v8::Value>& info) {
ConsoleHelper helper(info, m_inspector);
if (helper.firstArgToBoolean(false)) return;
@@ -285,7 +289,7 @@
for (int i = 1; i < info.Length(); ++i) arguments.push_back(info[i]);
if (info.Length() < 2)
arguments.push_back(
- toV8String(m_inspector->isolate(), String16("console.assert")));
+ toV8String(info.GetIsolate(), String16("console.assert")));
helper.reportCall(ConsoleAPIType::kAssert, arguments);
if (V8DebuggerAgentImpl* debuggerAgent = helper.debuggerAgent())
@@ -293,28 +297,31 @@
protocol::Debugger::Paused::ReasonEnum::Assert, nullptr);
}
-void V8Console::MarkTimeline(const v8::debug::ConsoleCallArguments& info) {
+void V8Console::markTimelineCallback(
+ const v8::FunctionCallbackInfo<v8::Value>& info) {
ConsoleHelper(info, m_inspector)
.reportDeprecatedCall("V8Console#markTimelineDeprecated",
"'console.markTimeline' is "
"deprecated. Please use "
"'console.timeStamp' instead.");
- TimeStamp(info);
-}
-
-void V8Console::Profile(const v8::debug::ConsoleCallArguments& info) {
+ timeStampCallback(info);
+}
+
+void V8Console::profileCallback(
+ const v8::FunctionCallbackInfo<v8::Value>& info) {
ConsoleHelper helper(info, m_inspector);
if (V8ProfilerAgentImpl* profilerAgent = helper.profilerAgent())
profilerAgent->consoleProfile(helper.firstArgToString(String16()));
}
-void V8Console::ProfileEnd(const v8::debug::ConsoleCallArguments& info) {
+void V8Console::profileEndCallback(
+ const v8::FunctionCallbackInfo<v8::Value>& info) {
ConsoleHelper helper(info, m_inspector);
if (V8ProfilerAgentImpl* profilerAgent = helper.profilerAgent())
profilerAgent->consoleProfileEnd(helper.firstArgToString(String16()));
}
-static void timeFunction(const v8::debug::ConsoleCallArguments& info,
+static void timeFunction(const v8::FunctionCallbackInfo<v8::Value>& info,
bool timelinePrefix, V8InspectorImpl* inspector) {
ConsoleHelper helper(info, inspector);
String16 protocolTitle = helper.firstArgToString("default");
@@ -323,7 +330,7 @@
helper.consoleMessageStorage()->time(helper.contextId(), protocolTitle);
}
-static void timeEndFunction(const v8::debug::ConsoleCallArguments& info,
+static void timeEndFunction(const v8::FunctionCallbackInfo<v8::Value>& info,
bool timelinePrefix, V8InspectorImpl* inspector) {
ConsoleHelper helper(info, inspector);
String16 protocolTitle = helper.firstArgToString("default");
@@ -336,7 +343,8 @@
helper.reportCallWithArgument(ConsoleAPIType::kTimeEnd, message);
}
-void V8Console::Timeline(const v8::debug::ConsoleCallArguments& info) {
+void V8Console::timelineCallback(
+ const v8::FunctionCallbackInfo<v8::Value>& info) {
ConsoleHelper(info, m_inspector)
.reportDeprecatedCall("V8Console#timeline",
"'console.timeline' is deprecated. Please use "
@@ -344,7 +352,8 @@
timeFunction(info, true, m_inspector);
}
-void V8Console::TimelineEnd(const v8::debug::ConsoleCallArguments& info) {
+void V8Console::timelineEndCallback(
+ const v8::FunctionCallbackInfo<v8::Value>& info) {
ConsoleHelper(info, m_inspector)
.reportDeprecatedCall("V8Console#timelineEnd",
"'console.timelineEnd' is "
@@ -353,15 +362,17 @@
timeEndFunction(info, true, m_inspector);
}
-void V8Console::Time(const v8::debug::ConsoleCallArguments& info) {
+void V8Console::timeCallback(const v8::FunctionCallbackInfo<v8::Value>& info) {
timeFunction(info, false, m_inspector);
}
-void V8Console::TimeEnd(const v8::debug::ConsoleCallArguments& info) {
+void V8Console::timeEndCallback(
+ const v8::FunctionCallbackInfo<v8::Value>& info) {
timeEndFunction(info, false, m_inspector);
}
-void V8Console::TimeStamp(const v8::debug::ConsoleCallArguments& info) {
+void V8Console::timeStampCallback(
+ const v8::FunctionCallbackInfo<v8::Value>& info) {
ConsoleHelper helper(info, m_inspector);
String16 title = helper.firstArgToString(String16());
m_inspector->client()->consoleTimeStamp(toStringView(title));
@@ -389,8 +400,7 @@
v8::Isolate* isolate = info.GetIsolate();
info.GetReturnValue().Set(v8::Array::New(isolate));
- v8::debug::ConsoleCallArguments args(info);
- ConsoleHelper helper(args, m_inspector);
+ ConsoleHelper helper(info, m_inspector);
v8::Local<v8::Object> obj;
if (!helper.firstArgAsObject().ToLocal(&obj)) return;
v8::Local<v8::Array> names;
@@ -404,8 +414,7 @@
v8::Isolate* isolate = info.GetIsolate();
info.GetReturnValue().Set(v8::Array::New(isolate));
- v8::debug::ConsoleCallArguments args(info);
- ConsoleHelper helper(args, m_inspector);
+ ConsoleHelper helper(info, m_inspector);
v8::Local<v8::Object> obj;
if (!helper.firstArgAsObject().ToLocal(&obj)) return;
v8::Local<v8::Array> names;
@@ -444,8 +453,7 @@
void V8Console::debugFunctionCallback(
const v8::FunctionCallbackInfo<v8::Value>& info) {
- v8::debug::ConsoleCallArguments args(info);
- ConsoleHelper helper(args, m_inspector);
+ ConsoleHelper helper(info, m_inspector);
v8::Local<v8::Function> function;
if (!helper.firstArgAsFunction().ToLocal(&function)) return;
setFunctionBreakpoint(helper, function,
@@ -455,8 +463,7 @@
void V8Console::undebugFunctionCallback(
const v8::FunctionCallbackInfo<v8::Value>& info) {
- v8::debug::ConsoleCallArguments args(info);
- ConsoleHelper helper(args, m_inspector);
+ ConsoleHelper helper(info, m_inspector);
v8::Local<v8::Function> function;
if (!helper.firstArgAsFunction().ToLocal(&function)) return;
setFunctionBreakpoint(helper, function,
@@ -466,8 +473,7 @@
void V8Console::monitorFunctionCallback(
const v8::FunctionCallbackInfo<v8::Value>& info) {
- v8::debug::ConsoleCallArguments args(info);
- ConsoleHelper helper(args, m_inspector);
+ ConsoleHelper helper(info, m_inspector);
v8::Local<v8::Function> function;
if (!helper.firstArgAsFunction().ToLocal(&function)) return;
v8::Local<v8::Value> name = function->GetName();
@@ -490,8 +496,7 @@
void V8Console::unmonitorFunctionCallback(
const v8::FunctionCallbackInfo<v8::Value>& info) {
- v8::debug::ConsoleCallArguments args(info);
- ConsoleHelper helper(args, m_inspector);
+ ConsoleHelper helper(info, m_inspector);
v8::Local<v8::Function> function;
if (!helper.firstArgAsFunction().ToLocal(&function)) return;
setFunctionBreakpoint(helper, function,
@@ -501,8 +506,7 @@
void V8Console::lastEvaluationResultCallback(
const v8::FunctionCallbackInfo<v8::Value>& info) {
- v8::debug::ConsoleCallArguments args(info);
- ConsoleHelper helper(args, m_inspector);
+ ConsoleHelper helper(info, m_inspector);
InjectedScript* injectedScript = helper.injectedScript();
if (!injectedScript) return;
info.GetReturnValue().Set(injectedScript->lastEvaluationResult());
@@ -513,8 +517,7 @@
if (info.Length() < 1) return;
if (!copyToClipboard) info.GetReturnValue().Set(info[0]);
- v8::debug::ConsoleCallArguments args(info);
- ConsoleHelper helper(args, inspector);
+ ConsoleHelper helper(info, inspector);
InjectedScript* injectedScript = helper.injectedScript();
if (!injectedScript) return;
std::unique_ptr<protocol::Runtime::RemoteObject> wrappedObject;
@@ -544,8 +547,7 @@
void V8Console::inspectedObject(const v8::FunctionCallbackInfo<v8::Value>& info,
unsigned num) {
DCHECK(num < V8InspectorSessionImpl::kInspectedObjectBufferSize);
- v8::debug::ConsoleCallArguments args(info);
- ConsoleHelper helper(args, m_inspector);
+ ConsoleHelper helper(info, m_inspector);
if (V8InspectorSessionImpl* session = helper.currentSession()) {
V8InspectorSession::Inspectable* object = session->inspectedObject(num);
v8::Isolate* isolate = info.GetIsolate();
@@ -554,6 +556,71 @@
else
info.GetReturnValue().Set(v8::Undefined(isolate));
}
+}
+
+v8::Local<v8::Object> V8Console::createConsole(v8::Local<v8::Context> context) {
+ v8::Context::Scope contextScope(context);
+ v8::Isolate* isolate = context->GetIsolate();
+ v8::MicrotasksScope microtasksScope(isolate,
+ v8::MicrotasksScope::kDoNotRunMicrotasks);
+
+ v8::Local<v8::Object> console = v8::Object::New(isolate);
+ bool success =
+ console->SetPrototype(context, v8::Object::New(isolate)).FromMaybe(false);
+ DCHECK(success);
+ USE(success);
+
+ v8::Local<v8::External> data = v8::External::New(isolate, this);
+ createBoundFunctionProperty(context, console, data, "debug",
+ &V8Console::call<&V8Console::debugCallback>);
+ createBoundFunctionProperty(context, console, data, "error",
+ &V8Console::call<&V8Console::errorCallback>);
+ createBoundFunctionProperty(context, console, data, "info",
+ &V8Console::call<&V8Console::infoCallback>);
+ createBoundFunctionProperty(context, console, data, "log",
+ &V8Console::call<&V8Console::logCallback>);
+ createBoundFunctionProperty(context, console, data, "warn",
+ &V8Console::call<&V8Console::warnCallback>);
+ createBoundFunctionProperty(context, console, data, "dir",
+ &V8Console::call<&V8Console::dirCallback>);
+ createBoundFunctionProperty(context, console, data, "dirxml",
+ &V8Console::call<&V8Console::dirxmlCallback>);
+ createBoundFunctionProperty(context, console, data, "table",
+ &V8Console::call<&V8Console::tableCallback>);
+ createBoundFunctionProperty(context, console, data, "trace",
+ &V8Console::call<&V8Console::traceCallback>);
+ createBoundFunctionProperty(context, console, data, "group",
+ &V8Console::call<&V8Console::groupCallback>);
+ createBoundFunctionProperty(
+ context, console, data, "groupCollapsed",
+ &V8Console::call<&V8Console::groupCollapsedCallback>);
+ createBoundFunctionProperty(context, console, data, "groupEnd",
+ &V8Console::call<&V8Console::groupEndCallback>);
+ createBoundFunctionProperty(context, console, data, "clear",
+ &V8Console::call<&V8Console::clearCallback>);
+ createBoundFunctionProperty(context, console, data, "count",
+ &V8Console::call<&V8Console::countCallback>);
+ createBoundFunctionProperty(context, console, data, "assert",
+ &V8Console::call<&V8Console::assertCallback>);
+ createBoundFunctionProperty(
+ context, console, data, "markTimeline",
+ &V8Console::call<&V8Console::markTimelineCallback>);
+ createBoundFunctionProperty(context, console, data, "profile",
+ &V8Console::call<&V8Console::profileCallback>);
+ createBoundFunctionProperty(context, console, data, "profileEnd",
+ &V8Console::call<&V8Console::profileEndCallback>);
+ createBoundFunctionProperty(context, console, data, "timeline",
+ &V8Console::call<&V8Console::timelineCallback>);
+ createBoundFunctionProperty(
+ context, console, data, "timelineEnd",
+ &V8Console::call<&V8Console::timelineEndCallback>);
+ createBoundFunctionProperty(context, console, data, "time",
+ &V8Console::call<&V8Console::timeCallback>);
+ createBoundFunctionProperty(context, console, data, "timeEnd",
+ &V8Console::call<&V8Console::timeEndCallback>);
+ createBoundFunctionProperty(context, console, data, "timeStamp",
+ &V8Console::call<&V8Console::timeStampCallback>);
+ return console;
}
void V8Console::installMemoryGetter(v8::Local<v8::Context> context,
@@ -587,24 +654,24 @@
v8::Local<v8::External> data = v8::External::New(isolate, this);
createBoundFunctionProperty(context, commandLineAPI, data, "dir",
- &V8Console::call<&V8Console::Dir>,
+ &V8Console::call<&V8Console::dirCallback>,
"function dir(value) { [Command Line API] }");
createBoundFunctionProperty(context, commandLineAPI, data, "dirxml",
- &V8Console::call<&V8Console::DirXml>,
+ &V8Console::call<&V8Console::dirxmlCallback>,
"function dirxml(value) { [Command Line API] }");
createBoundFunctionProperty(context, commandLineAPI, data, "profile",
- &V8Console::call<&V8Console::Profile>,
+ &V8Console::call<&V8Console::profileCallback>,
"function profile(title) { [Command Line API] }");
createBoundFunctionProperty(
context, commandLineAPI, data, "profileEnd",
- &V8Console::call<&V8Console::ProfileEnd>,
+ &V8Console::call<&V8Console::profileEndCallback>,
"function profileEnd(title) { [Command Line API] }");
createBoundFunctionProperty(context, commandLineAPI, data, "clear",
- &V8Console::call<&V8Console::Clear>,
+ &V8Console::call<&V8Console::clearCallback>,
"function clear() { [Command Line API] }");
createBoundFunctionProperty(
context, commandLineAPI, data, "table",
- &V8Console::call<&V8Console::Table>,
+ &V8Console::call<&V8Console::tableCallback>,
"function table(data, [columns]) { [Command Line API] }");
createBoundFunctionProperty(context, commandLineAPI, data, "keys",
« no previous file with comments | « src/inspector/v8-console.h ('k') | src/inspector/v8-inspector-impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698