void HTMLTrackElement::CreateTextTrack() { nsString label, srcLang; GetSrclang(srcLang); GetLabel(label); TextTrackKind kind; if (const nsAttrValue* value = GetParsedAttr(nsGkAtoms::kind)) { kind = static_cast<TextTrackKind>(value->GetEnumValue()); } else { kind = TextTrackKind::Subtitles; } bool hasHadScriptObject = true; nsIScriptGlobalObject* scriptObject = OwnerDoc()->GetScriptHandlingObject(hasHadScriptObject); NS_ENSURE_TRUE_VOID(scriptObject || !hasHadScriptObject); nsCOMPtr<nsPIDOMWindow> window = do_QueryInterface(scriptObject); mTrack = new TextTrack(window, kind, label, srcLang, TextTrackMode::Disabled, TextTrackReadyState::NotLoaded, TextTrackSource::Track); mTrack->SetTrackElement(this); if (mMediaParent) { mMediaParent->AddTextTrack(mTrack); } }
void HTMLTrackElement::CreateTextTrack() { nsString label, srcLang; GetSrclang(srcLang); GetLabel(label); TextTrackKind kind; if (const nsAttrValue* value = GetParsedAttr(nsGkAtoms::kind)) { kind = static_cast<TextTrackKind>(value->GetEnumValue()); } else { kind = TextTrackKind::Subtitles; } mTrack = new TextTrack(OwnerDoc()->GetParentObject(), kind, label, srcLang); if (mMediaParent) { mMediaParent->AddTextTrack(mTrack); } }