зеркало из https://github.com/electron/electron.git
chore: make `contentTracing.stopRecording()` failure clearer (#38488)
chore: make contentTracing.stopRecording() failure clearer
This commit is contained in:
Родитель
115d37477e
Коммит
663497dc6b
|
@ -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');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче