chore: make `contentTracing.stopRecording()` failure clearer (#38488)

chore: make contentTracing.stopRecording() failure clearer
This commit is contained in:
Shelley Vohr 2023-05-31 15:54:41 +02:00 коммит произвёл GitHub
Родитель 115d37477e
Коммит 663497dc6b
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
2 изменённых файлов: 10 добавлений и 5 удалений

Просмотреть файл

@ -77,15 +77,20 @@ void StopTracing(gin_helper::Promise<base::FilePath> promise,
} }
}, },
std::move(promise), *file_path); std::move(promise), *file_path);
if (file_path) {
auto* instance = TracingController::GetInstance();
if (!instance->IsTracing()) {
std::move(resolve_or_reject)
.Run(absl::make_optional(
"Failed to stop tracing - no trace in progress"));
} else if (file_path) {
auto split_callback = base::SplitOnceCallback(std::move(resolve_or_reject)); auto split_callback = base::SplitOnceCallback(std::move(resolve_or_reject));
auto endpoint = TracingController::CreateFileEndpoint( auto endpoint = TracingController::CreateFileEndpoint(
*file_path, *file_path,
base::BindOnce(std::move(split_callback.first), absl::nullopt)); base::BindOnce(std::move(split_callback.first), absl::nullopt));
if (!TracingController::GetInstance()->StopTracing(endpoint)) { if (!instance->StopTracing(endpoint)) {
std::move(split_callback.second) std::move(split_callback.second)
.Run(absl::make_optional( .Run(absl::make_optional("Failed to stop tracing"));
"Failed to stop tracing (was a trace in progress?)"));
} }
} else { } else {
std::move(resolve_or_reject) std::move(resolve_or_reject)

Просмотреть файл

@ -114,7 +114,7 @@ ifdescribe(!(['arm', 'arm64', 'ia32'].includes(process.arch)))('contentTracing',
}); });
it('rejects if no trace is happening', async () => { it('rejects if no trace is happening', async () => {
await expect(contentTracing.stopRecording()).to.be.rejected(); await expect(contentTracing.stopRecording()).to.be.rejectedWith('Failed to stop tracing - no trace in progress');
}); });
}); });