| Index: content/browser/devtools/devtools_tracing_handler.cc
|
| diff --git a/content/browser/devtools/devtools_tracing_handler.cc b/content/browser/devtools/devtools_tracing_handler.cc
|
| index 19ec9769d48f65c9b2ad34e463298866743dd4e5..7d308642212bf5c74d572babc1c029f180834af7 100644
|
| --- a/content/browser/devtools/devtools_tracing_handler.cc
|
| +++ b/content/browser/devtools/devtools_tracing_handler.cc
|
| @@ -55,6 +55,9 @@ DevToolsTracingHandler::DevToolsTracingHandler(
|
| RegisterCommandHandler(devtools::Tracing::end::kName,
|
| base::Bind(&DevToolsTracingHandler::OnEnd,
|
| base::Unretained(this)));
|
| + RegisterCommandHandler(devtools::Tracing::getCategories::kName,
|
| + base::Bind(&DevToolsTracingHandler::OnGetCategories,
|
| + base::Unretained(this)));
|
| }
|
|
|
| DevToolsTracingHandler::~DevToolsTracingHandler() {
|
| @@ -217,4 +220,29 @@ void DevToolsTracingHandler::OnClientDetached() {
|
| DisableRecording();
|
| }
|
|
|
| +scoped_refptr<DevToolsProtocol::Response>
|
| +DevToolsTracingHandler::OnGetCategories(
|
| + scoped_refptr<DevToolsProtocol::Command> command) {
|
| + TracingController::GetInstance()->GetCategories(
|
| + base::Bind(&DevToolsTracingHandler::OnCategoriesReceived,
|
| + weak_factory_.GetWeakPtr(),
|
| + command));
|
| + return command->AsyncResponsePromise();
|
| +}
|
| +
|
| +void DevToolsTracingHandler::OnCategoriesReceived(
|
| + scoped_refptr<DevToolsProtocol::Command> command,
|
| + const std::set<std::string>& category_set) {
|
| + base::DictionaryValue* response = new base::DictionaryValue;
|
| + base::ListValue* category_list = new base::ListValue;
|
| + for (std::set<std::string>::const_iterator it = category_set.begin();
|
| + it != category_set.end(); ++it) {
|
| + category_list->AppendString(*it);
|
| + }
|
| +
|
| + response->Set(devtools::Tracing::getCategories::kResponseCategories,
|
| + category_list);
|
| + SendAsyncResponse(command->SuccessResponse(response));
|
| +}
|
| +
|
| } // namespace content
|
|
|