Open Bug 1521110 Opened 1 year ago Updated 1 year ago

Child actors not initialising for privileged web content (about:* / chrome:*) when allFrames is set

Categories

(Toolkit :: Async Tooling, defect, P2)

defect

Tracking

()

People

(Reporter: ato, Unassigned)

References

Details

I have found something I’m not sure is a bug or not:

When you register a child actor with allFrames set, it isn’t
initialised automatically on privileged web content documents such
as about:sessionrestore unless you specify a match rule for "about:*"
or "about:sessionrestore".

Since I haven’t found a way to specify a match rule for ‘everything’,
i.e. "*", I am left in a situation where I can get the child actor
to either initialise on about:sessionrestore or in every other
normal web content document.

I configure the actor this way:

const ACTORS = {
 Log: {
   child: {
     module: "chrome://foo/content/actor/LogChild.jsm",
     events: {
       pageshow: {mozSystemGroup: true},
       pagehide: {mozSystemGroup: true},
     },
     allFrames: true,
   },
 },
};

I then ensure to run Firefox with browser.fission.simulate set from
the command line:

% ./mach run --setpref "browser.fission.simulate=true" -- about:sessionrestore

If this is intended behaviour, is there some way I can load the
actor for all documents?

This also affects mochitest-chrome which use chrome:// URIs and affected form autocomplete-related tests for bug 1474143.

Blocks: 1472491
Summary: Child actors not initialising for privileged web content (about:*) when allFrames is set → Child actors not initialising for privileged web content (about:* / chrome:*) when allFrames is set

You need to specify match patterns for those URLs if you want to match them.

Yes, specifying a match pattern works for chrome:/about:, but then
how can you match regular web content? The * selector is not valid.

"<all_urls>"

Priority: -- → P2
You need to log in before you can comment on or make changes to this bug.