summaryrefslogtreecommitdiff
path: root/chromium/third_party/blink/renderer/core/inspector/inspector_dom_debugger_agent.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/blink/renderer/core/inspector/inspector_dom_debugger_agent.cc')
-rw-r--r--chromium/third_party/blink/renderer/core/inspector/inspector_dom_debugger_agent.cc71
1 files changed, 38 insertions, 33 deletions
diff --git a/chromium/third_party/blink/renderer/core/inspector/inspector_dom_debugger_agent.cc b/chromium/third_party/blink/renderer/core/inspector/inspector_dom_debugger_agent.cc
index d1bbcbcd5fe..1889e2eede6 100644
--- a/chromium/third_party/blink/renderer/core/inspector/inspector_dom_debugger_agent.cc
+++ b/chromium/third_party/blink/renderer/core/inspector/inspector_dom_debugger_agent.cc
@@ -45,6 +45,10 @@
#include "third_party/blink/renderer/core/inspector/v8_inspector_string.h"
#include "third_party/blink/renderer/core/probe/core_probes.h"
#include "third_party/blink/renderer/platform/wtf/functional.h"
+#include "third_party/inspector_protocol/crdtp/json.h"
+
+using crdtp::SpanFrom;
+using crdtp::json::ConvertCBORToJSON;
namespace {
@@ -210,7 +214,7 @@ InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent(
InspectorDOMDebuggerAgent::~InspectorDOMDebuggerAgent() = default;
-void InspectorDOMDebuggerAgent::Trace(blink::Visitor* visitor) {
+void InspectorDOMDebuggerAgent::Trace(Visitor* visitor) {
visitor->Trace(dom_agent_);
visitor->Trace(dom_breakpoints_);
InspectorBaseAgent::Trace(visitor);
@@ -220,7 +224,7 @@ Response InspectorDOMDebuggerAgent::disable() {
SetEnabled(false);
dom_breakpoints_.clear();
agent_state_.ClearAllFields();
- return Response::OK();
+ return Response::Success();
}
void InspectorDOMDebuggerAgent::Restore() {
@@ -244,11 +248,11 @@ Response InspectorDOMDebuggerAgent::setInstrumentationBreakpoint(
Response InspectorDOMDebuggerAgent::SetBreakpoint(const String& event_name,
const String& target_name) {
if (event_name.IsEmpty())
- return Response::Error("Event name is empty");
+ return Response::ServerError("Event name is empty");
event_listener_breakpoints_.Set(
EventListenerBreakpointKey(event_name, target_name), true);
DidAddBreakpoint();
- return Response::OK();
+ return Response::Success();
}
Response InspectorDOMDebuggerAgent::removeEventListenerBreakpoint(
@@ -268,11 +272,11 @@ Response InspectorDOMDebuggerAgent::RemoveBreakpoint(
const String& event_name,
const String& target_name) {
if (event_name.IsEmpty())
- return Response::Error("Event name is empty");
+ return Response::ServerError("Event name is empty");
event_listener_breakpoints_.Clear(
EventListenerBreakpointKey(event_name, target_name));
DidRemoveBreakpoint();
- return Response::OK();
+ return Response::Success();
}
void InspectorDOMDebuggerAgent::DidInvalidateStyleAttr(Node* node) {
@@ -312,17 +316,18 @@ void InspectorDOMDebuggerAgent::DidRemoveDOMNode(Node* node) {
static Response DomTypeForName(const String& type_string, int& type) {
if (type_string == "subtree-modified") {
type = SubtreeModified;
- return Response::OK();
+ return Response::Success();
}
if (type_string == "attribute-modified") {
type = AttributeModified;
- return Response::OK();
+ return Response::Success();
}
if (type_string == "node-removed") {
type = NodeRemoved;
- return Response::OK();
+ return Response::Success();
}
- return Response::Error(String("Unknown DOM breakpoint type: " + type_string));
+ return Response::ServerError(
+ String("Unknown DOM breakpoint type: " + type_string).Utf8());
}
static String DomTypeName(int type) {
@@ -344,12 +349,12 @@ Response InspectorDOMDebuggerAgent::setDOMBreakpoint(
const String& type_string) {
Node* node = nullptr;
Response response = dom_agent_->AssertNode(node_id, node);
- if (!response.isSuccess())
+ if (!response.IsSuccess())
return response;
int type = -1;
response = DomTypeForName(type_string, type);
- if (!response.isSuccess())
+ if (!response.IsSuccess())
return response;
uint32_t root_bit = 1 << type;
@@ -360,7 +365,7 @@ Response InspectorDOMDebuggerAgent::setDOMBreakpoint(
UpdateSubtreeBreakpoints(child, root_bit, true);
}
DidAddBreakpoint();
- return Response::OK();
+ return Response::Success();
}
Response InspectorDOMDebuggerAgent::removeDOMBreakpoint(
@@ -368,12 +373,12 @@ Response InspectorDOMDebuggerAgent::removeDOMBreakpoint(
const String& type_string) {
Node* node = nullptr;
Response response = dom_agent_->AssertNode(node_id, node);
- if (!response.isSuccess())
+ if (!response.IsSuccess())
return response;
int type = -1;
response = DomTypeForName(type_string, type);
- if (!response.isSuccess())
+ if (!response.IsSuccess())
return response;
uint32_t root_bit = 1 << type;
@@ -390,7 +395,7 @@ Response InspectorDOMDebuggerAgent::removeDOMBreakpoint(
UpdateSubtreeBreakpoints(child, root_bit, false);
}
DidRemoveBreakpoint();
- return Response::OK();
+ return Response::Success();
}
Response InspectorDOMDebuggerAgent::getEventListeners(
@@ -406,7 +411,7 @@ Response InspectorDOMDebuggerAgent::getEventListeners(
std::unique_ptr<v8_inspector::StringBuffer> object_group;
if (!v8_session_->unwrapObject(&error, ToV8InspectorStringView(object_id),
&object, &context, &object_group)) {
- return Response::Error(ToCoreString(std::move(error)));
+ return Response::ServerError(ToCoreString(std::move(error)).Utf8());
}
v8::Context::Scope scope(context);
V8EventListenerInfoList event_information;
@@ -415,7 +420,7 @@ Response InspectorDOMDebuggerAgent::getEventListeners(
pierce.fromMaybe(false), &event_information);
*listeners_array = BuildObjectsForEventListeners(event_information, context,
object_group->string());
- return Response::OK();
+ return Response::Success();
}
std::unique_ptr<protocol::Array<protocol::DOMDebugger::EventListener>>
@@ -539,11 +544,12 @@ void InspectorDOMDebuggerAgent::BreakProgramOnDOMEvent(Node* target,
DCHECK(breakpoint_owner_node_id);
description->setInteger("nodeId", breakpoint_owner_node_id);
description->setString("type", DomTypeName(breakpoint_type));
- String json = description->toJSONString();
+ std::vector<uint8_t> json;
+ ConvertCBORToJSON(SpanFrom(description->Serialize()), &json);
v8_session_->breakProgram(
ToV8InspectorStringView(
v8_inspector::protocol::Debugger::API::Paused::ReasonEnum::DOM),
- ToV8InspectorStringView(json));
+ v8_inspector::StringView(json.data(), json.size()));
}
bool InspectorDOMDebuggerAgent::HasBreakpoint(Node* node, int type) {
@@ -579,17 +585,15 @@ void InspectorDOMDebuggerAgent::PauseOnNativeEventIfNeeded(
bool synchronous) {
if (!event_data)
return;
- String json = event_data->toJSONString();
+ std::vector<uint8_t> json;
+ ConvertCBORToJSON(SpanFrom(event_data->Serialize()), &json);
+ v8_inspector::StringView json_view(json.data(), json.size());
+ auto listener = ToV8InspectorStringView(
+ v8_inspector::protocol::Debugger::API::Paused::ReasonEnum::EventListener);
if (synchronous)
- v8_session_->breakProgram(
- ToV8InspectorStringView(v8_inspector::protocol::Debugger::API::Paused::
- ReasonEnum::EventListener),
- ToV8InspectorStringView(json));
+ v8_session_->breakProgram(listener, json_view);
else
- v8_session_->schedulePauseOnNextStatement(
- ToV8InspectorStringView(v8_inspector::protocol::Debugger::API::Paused::
- ReasonEnum::EventListener),
- ToV8InspectorStringView(json));
+ v8_session_->schedulePauseOnNextStatement(listener, json_view);
}
std::unique_ptr<protocol::DictionaryValue>
@@ -689,7 +693,7 @@ Response InspectorDOMDebuggerAgent::setXHRBreakpoint(const String& url) {
else
xhr_breakpoints_.Set(url, true);
DidAddBreakpoint();
- return Response::OK();
+ return Response::Success();
}
Response InspectorDOMDebuggerAgent::removeXHRBreakpoint(const String& url) {
@@ -698,7 +702,7 @@ Response InspectorDOMDebuggerAgent::removeXHRBreakpoint(const String& url) {
else
xhr_breakpoints_.Clear(url);
DidRemoveBreakpoint();
- return Response::OK();
+ return Response::Success();
}
// Returns the breakpoint url if a match is found, or WTF::String().
@@ -722,11 +726,12 @@ void InspectorDOMDebuggerAgent::WillSendXMLHttpOrFetchNetworkRequest(
protocol::DictionaryValue::create();
event_data->setString("breakpointURL", breakpoint_url);
event_data->setString("url", url);
- String json = event_data->toJSONString();
+ std::vector<uint8_t> json;
+ ConvertCBORToJSON(SpanFrom(event_data->Serialize()), &json);
v8_session_->breakProgram(
ToV8InspectorStringView(
v8_inspector::protocol::Debugger::API::Paused::ReasonEnum::XHR),
- ToV8InspectorStringView(json));
+ v8_inspector::StringView(json.data(), json.size()));
}
void InspectorDOMDebuggerAgent::DidCreateCanvasContext() {