Bug 985915 - Vertically move up closed caption to not overlap control bar. r=rillian

MozReview-Commit-ID: HzJ3ppbmQnk
This commit is contained in:
Ray Lin
2016-06-27 11:22:15 +08:00
parent f435f830b2
commit 8f4815c8d7
6 changed files with 41 additions and 6 deletions

View File

@@ -230,6 +230,7 @@ TextTrackManager::UpdateCueDisplay()
}
nsCOMPtr<nsIContent> overlay = videoFrame->GetCaptionOverlay();
nsCOMPtr<nsIContent> controls = videoFrame->GetVideoControls();
if (!overlay) {
return;
}
@@ -247,7 +248,7 @@ TextTrackManager::UpdateCueDisplay()
nsPIDOMWindowInner* window = mMediaElement->OwnerDoc()->GetInnerWindow();
if (window) {
sParserWrapper->ProcessCues(window, jsCues, overlay);
sParserWrapper->ProcessCues(window, jsCues, overlay, controls);
}
} else if (overlay->Length() > 0) {
nsContentUtils::SetNodeTextContent(overlay, EmptyString(), true);
@@ -296,6 +297,10 @@ TextTrackManager::AddListeners()
if (mMediaElement) {
mMediaElement->AddEventListener(NS_LITERAL_STRING("resizevideocontrols"),
this, false, false);
mMediaElement->AddEventListener(NS_LITERAL_STRING("seeked"),
this, false, false);
mMediaElement->AddEventListener(NS_LITERAL_STRING("controlbarchange"),
this, false, true);
}
}
@@ -405,11 +410,17 @@ TextTrackManager::HandleEvent(nsIDOMEvent* aEvent)
nsAutoString type;
aEvent->GetType(type);
if (type.EqualsLiteral("resizevideocontrols")) {
if (type.EqualsLiteral("resizevideocontrols") ||
type.EqualsLiteral("seeked")) {
for (uint32_t i = 0; i< mTextTracks->Length(); i++) {
((*mTextTracks)[i])->SetCuesDirty();
}
}
if (type.EqualsLiteral("controlbarchange")) {
UpdateCueDisplay();
}
return NS_OK;
}