Closed Bug 1657312 Opened 2 years ago Closed 2 years ago

[Youtube] Masthead flickers when scrolling while a video is playing in theater mode


(Core :: Graphics, defect, P3)

Firefox 81
Windows 10



82 Branch
Tracking Status
firefox-esr68 --- unaffected
firefox-esr78 --- unaffected
firefox79 --- unaffected
firefox80 --- unaffected
firefox81 --- verified
firefox82 --- verified


(Reporter: emilghitta, Assigned: mattwoodrow)


(Regression, )


(Keywords: regression)


(1 file)

Affected versions

  • 81.0a1 (BuildId:20200804215246)

Unaffected versions

  • 80.0b3 (BuildId:20200803045446)
  • 79.0 (BuildId:20200720193547)
  • 78.1.0esr (BuildId:20200722151235)
  • 68.11.0esr (BuildId:20200720181548)

Affected platforms

  • Windows 10 64bit

Unaffected platforms

  • macOS 10.14
  • Ubuntu 18.04 64bit.

Steps to reproduce

  1. Launch Firefox.
  2. Access the following link or access any youtube video.
  3. Maximize the browser window.
  4. Enter in theater mode and play the video.
  5. Scroll down and up.

Expected result

  • No UI issues are encountered.

Actual result

  • A flicker can be observed at the top portion of the masthead.

Regression Range
This seems to be a regression:


  • For further information regarding this issue please access the following link to see the screenshot.
  • [Suggested Severity] Since this is a cosmetic issue I think that marking this as an S4 issue fits here.

Hi Matt!

It seems that mozregression pointed out Bug 1653409 - Set ImageBitmap's picture rect using the picture rect of layers::Image, not the size. r=mstange for causing this regression (I'm not sure about this since your code targeted macOS ? and this issue doesn't seem reproducible on macOS machines).

Could you please take a look?

Thank you!

Flags: needinfo?(matt.woodrow)
Has Regression Range: --- → yes
Has STR: --- → yes
See Also: → 1657443
Severity: -- → S3
Priority: -- → P3

This was likely caused by bug 1653166 which made us use a scaled DirectComposition visual for scaled video, and thus affects Windows.

Regressed by: 1653166
No longer regressed by: 1653409
See Also: 1657443

Probably due to the way the clip and the transform combines. It seems the rectangle that DC computes for the transformed clip doesn't quite match the rectangle that we intended.

And indeed, a pixel-aligned rectangle C isn't necessarily equal to transformed(rounded(untransformed(C))).

Maybe we should adjust the transform to match the rounded rects, like so:
B = rounded(untransformed(C))
T = gfxUtils::TransformRectToRect(B, C)

I don't know why I rounded the clip, I think we can just not do that.

Depends on D86088

Assignee: nobody → matt.woodrow
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 82 Branch
Flags: qe-verify+

Please nominate this for Beta approval when you get a chance.

Comment on attachment 9169944 [details]
Bug 1657312 - Don't round clip rect. r?mstange

Beta/Release Uplift Approval Request

  • User impact if declined: Incorrect clipping of videos on youtube, 1px bar visible
  • Is this code covered by automated tests?: No
  • Has the fix been verified in Nightly?: Yes
  • Needs manual test from QE?: No
  • If yes, steps to reproduce:
  • List of other uplifts needed: None
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): Super simple, just changes clip rounding, so can't have a bigger impact than 1px
  • String changes made/needed: None
Flags: needinfo?(matt.woodrow)
Attachment #9169944 - Flags: approval-mozilla-beta?
QA Whiteboard: [qa-triaged]

Verified patch with 82.0a1 (2020-08-26).
Waiting for 81 before updating the rest of the status-flags.

Comment on attachment 9169944 [details]
Bug 1657312 - Don't round clip rect. r?mstange

approved for 81.0b3

Attachment #9169944 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Flags: qe-verify+

Verified with 81.0b3

You need to log in before you can comment on or make changes to this bug.