Bug 1521964 - Invalidate visually cloned element when clone source is invalidated. r=jya

Differential Revision: https://phabricator.services.mozilla.com/D21401

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Mike Conley 2019-03-01 22:37:16 +00:00
parent 261ba88daa
commit 442333ceaf
2 changed files with 16 additions and 0 deletions

View File

@ -130,6 +130,19 @@ nsresult HTMLVideoElement::GetVideoSize(nsIntSize* size) {
return NS_OK;
}
void HTMLVideoElement::Invalidate(bool aImageSizeChanged,
Maybe<nsIntSize>& aNewIntrinsicSize,
bool aForceInvalidate) {
HTMLMediaElement::Invalidate(aImageSizeChanged, aNewIntrinsicSize, aForceInvalidate);
if (mVisualCloneTarget) {
VideoFrameContainer* container =
mVisualCloneTarget->GetVideoFrameContainer();
if (container) {
container->Invalidate();
}
}
}
bool HTMLVideoElement::ParseAttribute(int32_t aNamespaceID, nsAtom* aAttribute,
const nsAString& aValue,
nsIPrincipal* aMaybeScriptedPrincipal,

View File

@ -33,6 +33,9 @@ class HTMLVideoElement final : public HTMLMediaElement {
using HTMLMediaElement::GetPaused;
void Invalidate(bool aImageSizeChanged, Maybe<nsIntSize>& aNewIntrinsicSize,
bool aForceInvalidate) override;
virtual bool IsVideo() const override { return true; }
virtual bool ParseAttribute(int32_t aNamespaceID, nsAtom* aAttribute,