diff options
Diffstat (limited to 'content/browser/devtools/protocol/tracing_handler.cc')
-rw-r--r-- | content/browser/devtools/protocol/tracing_handler.cc | 45 |
1 files changed, 20 insertions, 25 deletions
diff --git a/content/browser/devtools/protocol/tracing_handler.cc b/content/browser/devtools/protocol/tracing_handler.cc index 29d1641..74446ca 100644 --- a/content/browser/devtools/protocol/tracing_handler.cc +++ b/content/browser/devtools/protocol/tracing_handler.cc @@ -83,15 +83,14 @@ void TracingHandler::OnTraceComplete() { client_->TracingComplete(TracingCompleteParams::Create()); } -scoped_refptr<DevToolsProtocol::Response> TracingHandler::Start( - const std::string* categories, - const std::string* options_str, - const double* buffer_usage_reporting_interval, - scoped_refptr<DevToolsProtocol::Command> command) { +Response TracingHandler::Start(DevToolsCommandId command_id, + const std::string* categories, + const std::string* options_str, + const double* buffer_usage_reporting_interval) { if (is_recording_) - return command->InternalErrorResponse("Tracing is already started"); - is_recording_ = true; + return Response::InternalError("Tracing is already started"); + is_recording_ = true; base::debug::TraceOptions options = TraceOptionsFromString(options_str); base::debug::CategoryFilter filter(categories ? *categories : std::string()); if (buffer_usage_reporting_interval) @@ -104,7 +103,7 @@ scoped_refptr<DevToolsProtocol::Response> TracingHandler::Start( filter, options, TracingController::EnableRecordingDoneCallback()); - return nullptr; + return Response::FallThrough(); } TracingController::GetInstance()->EnableRecording( @@ -112,34 +111,30 @@ scoped_refptr<DevToolsProtocol::Response> TracingHandler::Start( options, base::Bind(&TracingHandler::OnRecordingEnabled, weak_factory_.GetWeakPtr(), - command)); - return command->AsyncResponsePromise(); + command_id)); + return Response::OK(); } -scoped_refptr<DevToolsProtocol::Response> TracingHandler::End( - scoped_refptr<DevToolsProtocol::Command> command) { +Response TracingHandler::End(DevToolsCommandId command_id) { if (!is_recording_) - return command->InternalErrorResponse("Tracing is not started"); + return Response::InternalError("Tracing is not started"); + DisableRecording(false); // If inspected target is a render process Tracing.end will be handled by // tracing agent in the renderer. - if (target_ == Renderer) - return nullptr; - return command->SuccessResponse(nullptr); + return target_ == Renderer ? Response::FallThrough() : Response::OK(); } -scoped_refptr<DevToolsProtocol::Response> TracingHandler::GetCategories( - scoped_refptr<DevToolsProtocol::Command> command) { +Response TracingHandler::GetCategories(DevToolsCommandId command_id) { TracingController::GetInstance()->GetCategories( base::Bind(&TracingHandler::OnCategoriesReceived, weak_factory_.GetWeakPtr(), - command)); - return command->AsyncResponsePromise(); + command_id)); + return Response::OK(); } -void TracingHandler::OnRecordingEnabled( - scoped_refptr<DevToolsProtocol::Command> command) { - client_->SendStartResponse(command, StartResponse::Create()); +void TracingHandler::OnRecordingEnabled(DevToolsCommandId command_id) { + client_->SendStartResponse(command_id, StartResponse::Create()); } void TracingHandler::OnBufferUsage(float percent_full, @@ -153,12 +148,12 @@ void TracingHandler::OnBufferUsage(float percent_full, } void TracingHandler::OnCategoriesReceived( - scoped_refptr<DevToolsProtocol::Command> command, + DevToolsCommandId command_id, const std::set<std::string>& category_set) { std::vector<std::string> categories; for (const std::string& category : category_set) categories.push_back(category); - client_->SendGetCategoriesResponse(command, + client_->SendGetCategoriesResponse(command_id, GetCategoriesResponse::Create()->set_categories(categories)); } |