Closed Bug 1676569 Opened 1 year ago Closed 9 months ago

JavaScript error: resource://gre/actors/PictureInPictureChild.jsm, line 453: TypeError: can't access property "requestIdleCallback", this.contentWindow is null

Categories

(Toolkit :: Video/Audio Controls, defect, P3)

defect

Tracking

()

RESOLVED FIXED
88 Branch
Tracking Status
firefox-esr78 --- unaffected
firefox83 --- unaffected
firefox84 --- wontfix
firefox85 --- wontfix
firefox86 --- wontfix
firefox87 --- wontfix
firefox88 --- fixed

People

(Reporter: whimboo, Assigned: popeoliv)

References

(Blocks 2 open bugs, Regression)

Details

(Keywords: regression)

Attachments

(1 file)

Flags: needinfo?(kmaglione+bmo)

This is a PiP bug, which bug 1669961 just made more obvious. Prior to that, it would have just silently did the wrong thing, trying to register idle callbacks and remove event listeners from the wrong inner window. Except that under Fission, it would have failed anyway whenever the BrowsingContext navigated and changed process.

Flags: needinfo?(kmaglione+bmo)

Mike, could you weigh in on this bug wrt to the priority/Severity? Thanks

Flags: needinfo?(mconley)
Blocks: videopip, 1662870
Severity: -- → S4
Flags: needinfo?(mconley)
Priority: -- → P3
Assignee: nobody → baumga91
Assignee: baumga91 → nobody
Blocks: 1685549
No longer blocks: 1662870
Assignee: nobody → popeoliv
Status: NEW → ASSIGNED

Henrik, I can't seem to reproduce this locally or using a push to "try" for Marionette jobs. Is this issue still happening?

Flags: needinfo?(hskupin)

I can see this in each and every Mn job on mozilla-central:
https://treeherder.mozilla.org/jobs?repo=mozilla-central&searchStr=mn

Just get the full log and search for the URI.

Flags: needinfo?(hskupin)
Summary: JavaScript error: resource://gre/actors/PictureInPictureChild.jsm, line 452: TypeError: can't access property "requestIdleCallback", this.contentWindow is null → JavaScript error: resource://gre/actors/PictureInPictureChild.jsm, line 453: TypeError: can't access property "requestIdleCallback", this.contentWindow is null

Here some steps to easily reproduce the failure, and that shows that it has nothing to do with Marionette or other test harnesses:

  1. Load data:text/html;charset=utf-8,%3Cvideo%20loop%3E
  2. Reload the page

After step 2 the failure will be visible in the console of the multi-process browser toolbox.

There are also other errors visible for me:

can't access property "removeAttribute", shadowRoot.firstChild is null PictureInPictureChild.jsm:830
TypeError: can't access property "removeEventListener", this.contentWindow is null PictureInPictureChild.jsm:571:5
InvalidStateError: JSWindowActorChild.document getter: Cannot access property 'document' after actor 'PictureInPictureToggle' has been destroyed

Will those be fixed at the same time or shall I file new bugs?

Flags: needinfo?(popeoliv)
Attachment #9200158 - Attachment description: Bug 1676569 - added check to ensure this.contentWindow will not be null when marionette is testing → Bug 1676569 - Avoid calling requestIdleCallback when contentWindow is not available
Pushed by mtigley@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/bfbef0e4eac2
Avoid calling requestIdleCallback when contentWindow is not available r=mtigley,mhowell
Flags: needinfo?(popeoliv)

(In reply to Henrik Skupin (:whimboo) [⌚️UTC+1] from comment #8)

There are also other errors visible for me:

can't access property "removeAttribute", shadowRoot.firstChild is null PictureInPictureChild.jsm:830
TypeError: can't access property "removeEventListener", this.contentWindow is null PictureInPictureChild.jsm:571:5
InvalidStateError: JSWindowActorChild.document getter: Cannot access property 'document' after actor 'PictureInPictureToggle' has been destroyed

Will those be fixed at the same time or shall I file new bugs?

follow up bug here: https://bugzilla.mozilla.org/show_bug.cgi?id=1695020

Status: ASSIGNED → RESOLVED
Closed: 9 months ago
Resolution: --- → FIXED
Target Milestone: --- → 88 Branch
You need to log in before you can comment on or make changes to this bug.