Bug 1333289. Part 2 - retrieve debugging data from MediaDecoder/MDSM. r?jya
MozReview-Commit-ID: F4AxZFBPVPB
--- a/dom/html/HTMLMediaElement.cpp
+++ b/dom/html/HTMLMediaElement.cpp
@@ -1474,20 +1474,32 @@ HTMLMediaElement::GetMozDebugReaderData(
already_AddRefed<Promise>
HTMLMediaElement::MozRequestDebugInfo(ErrorResult& aRv)
{
RefPtr<Promise> promise = CreateDOMPromise(aRv);
if (NS_WARN_IF(aRv.Failed())) {
return nullptr;
}
- // TODO: collect data from MDSM which must be done off the main thread.
nsAutoString result;
GetMozDebugReaderData(result);
- promise->MaybeResolve(result);
+
+ if (mDecoder) {
+ mDecoder->RequestDebugInfo()->Then(
+ AbstractThread::MainThread(), __func__,
+ [promise, result] (const nsACString& aString) {
+ promise->MaybeResolve(result + NS_ConvertUTF8toUTF16(aString));
+ },
+ [promise, result] () {
+ promise->MaybeResolve(result);
+ });
+ } else {
+ promise->MaybeResolve(result);
+ }
+
return promise.forget();
}
void
HTMLMediaElement::MozDumpDebugInfo()
{
if (mDecoder) {
mDecoder->DumpDebugInfo();