Expose embedder WindowGlobalParent on CanonicalBrowsingContext

RESOLVED FIXED in Firefox 68

Status

()

defect
P3
normal
RESOLVED FIXED
4 months ago
2 months ago

People

(Reporter: Nika, Assigned: Nika)

Tracking

(Depends on 1 bug, Blocks 2 bugs)

unspecified
mozilla68
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(Fission Milestone:M2, firefox68 fixed)

Details

Attachments

(5 attachments)

No description provided.
Component: DOM → DOM: Core & HTML
Assignee: nobody → nika
Summary: Expose embedder WindowGlobalParent on RemoteFrameParent → Expose embedder WindowGlobalParent on BrowserBridgeParent

I'm going to expose WGP on CanonicalBrowsingContext, as it is straightforward to get the CanonicalBrowsingContext associated with a WGP.

Summary: Expose embedder WindowGlobalParent on BrowserBridgeParent → Expose embedder WindowGlobalParent on CanonicalBrowsingContext

Comment 6

3 months ago
Pushed by nlayzell@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/4a210c9266ed
Part 1: Expose WindowGlobalParent & Element on BrowsingContext, r=farre
https://hg.mozilla.org/integration/autoland/rev/f7c82615ea05
Part 2: Directly fetch browsingContext from frameLoader in browser-custom-element, r=mconley
https://hg.mozilla.org/integration/autoland/rev/18fba79d8671
Part 3: Tests for new WindowGlobal properties, r=farre
https://hg.mozilla.org/integration/autoland/rev/0227a59eba8e
Part 4: Correctly tear down TabParent within BrowserBridgeParent, r=farre

Backed out 4 changesets (bug 1525427) for failing at /browser_browsingContext-embedder.js on a CLOSED TREE.

Backout link: https://hg.mozilla.org/integration/autoland/rev/e9457c3941e525cf11e1dc8a9c541689fe08c8c5

Push with failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&resultStatus=testfailed%2Cbusted%2Cexception&revision=0227a59eba8e9334a21e445c2db65d02b3130852&selectedJob=236679767

Log link: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=236679767&repo=autoland&lineNumber=280

Log snippet:

[task 2019-03-28T18:31:49.372Z] x86_64-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -Wdate-time -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wl,-Bsymbolic-functions -Wl,-z,relro -Wdate-time -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security build/temp.linux-x86_64-2.7/psutil/_psutil_common.o build/temp.linux-x86_64-2.7/psutil/_psutil_posix.o -o build/lib.linux-x86_64-2.7/psutil/_psutil_posix.so
[task 2019-03-28T18:31:49.372Z] copying build/lib.linux-x86_64-2.7/psutil/_psutil_linux.so -> psutil
[task 2019-03-28T18:31:49.372Z] copying build/lib.linux-x86_64-2.7/psutil/_psutil_posix.so -> psutil
[task 2019-03-28T18:31:49.372Z]
[task 2019-03-28T18:31:49.372Z] Error processing command. Ignoring because optional. (optional:packages.txt:comm/build/virtualenv_packages.txt)
[task 2019-03-28T18:37:54.171Z] TEST-UNEXPECTED-ERROR | /builds/worker/checkouts/gecko/docshell/test/browser/browser_browsingContext-embedder.js:81:32 | Missing semicolon. (semi)
[task 2019-03-28T18:37:54.171Z] TEST-UNEXPECTED-ERROR | /builds/worker/checkouts/gecko/docshell/test/browser/browser_browsingContext-embedder.js:86:29 | Missing semicolon. (semi)
[task 2019-03-28T18:37:54.171Z] TEST-UNEXPECTED-ERROR | /builds/worker/checkouts/gecko/docshell/test/browser/browser_browsingContext-embedder.js:94:28 | Missing semicolon. (semi)
[task 2019-03-28T18:37:54.171Z] TEST-UNEXPECTED-ERROR | /builds/worker/checkouts/gecko/docshell/test/browser/browser_browsingContext-embedder.js:100:40 | Missing semicolon. (semi)
[task 2019-03-28T18:37:54.171Z] TEST-UNEXPECTED-ERROR | /builds/worker/checkouts/gecko/docshell/test/browser/browser_browsingContext-embedder.js:108:29 | Missing semicolon. (semi)
[task 2019-03-28T18:37:54.171Z] TEST-UNEXPECTED-ERROR | /builds/worker/checkouts/gecko/docshell/test/browser/browser_browsingContext-embedder.js:117:23 | Missing semicolon. (semi)
[task 2019-03-28T18:37:54.171Z] TEST-UNEXPECTED-ERROR | /builds/worker/checkouts/gecko/docshell/test/browser/browser_browsingContext-embedder.js:125:25 | Missing semicolon. (semi)
[taskcluster 2019-03-28 18:37:54.493Z] === Task Finished ===
[taskcluster 2019-03-28 18:37:55.625Z] Unsuccessful task run with exit code: 1 completed in 657.702 seconds

Flags: needinfo?(nika)
Depends on: 1539979

Updated

3 months ago
Status: NEW → ASSIGNED
Blocks: 1541256

What exactly does this bug do, I unfortunately cannot infer it from the title. It looks like this may be something that would require Thunderbird changes as well.

Blocks: 1539163

Comment 9

2 months ago

(In reply to :Nika Layzell (ni? for response) from comment #1)

I'm going to expose WGP on CanonicalBrowsingContext, as it is straightforward to get the CanonicalBrowsingContext associated with a WGP.

I don't quite follow this. How would one get from a BrowserBridgeParent to the embedder's WindowGlobalParent? Are you saying you can easily get from a BrowserBridgeParent to an associated CanonicalBrowsingContext?

Comment 10

2 months ago

Oh... or are you saying we'd go embedded TabParent -> embedded CanonicalBrowsingContext -> embedder WindowGlobalParent?

(In reply to James Teh [:Jamie] from comment #9)

(In reply to :Nika Layzell (ni? for response) from comment #1)

I'm going to expose WGP on CanonicalBrowsingContext, as it is straightforward to get the CanonicalBrowsingContext associated with a WGP.

I don't quite follow this. How would one get from a BrowserBridgeParent to the embedder's WindowGlobalParent? Are you saying you can easily get from a BrowserBridgeParent to an associated CanonicalBrowsingContext?

You'd want to do something like the following:

browserBridgeParent->GetBrowsingContext()->GetEmbedderWindowGlobal();

So yes, you'd go from the embedded TabParent or BrowserBridgeParent to the corresponding embedded CanonicalBrowisngCOntext out to the embedder WindowGlobalParent.

(In reply to Philipp Kewisch [:Fallen] [:📆] from comment #8)

What exactly does this bug do, I unfortunately cannot infer it from the title. It looks like this may be something that would require Thunderbird changes as well.

All this does is expose a new property on the BrowsingContext and CanonicalBrowsingContext actors which should be derived entirely internally. I don't believe any Thunderbird changes should be necessary.

Flags: needinfo?(nika)

Updated

2 months ago
Blocks: 1543287
Depends on: 1544419
Duplicate of this bug: 1544420

Comment 14

2 months ago
Pushed by nlayzell@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/ccc41b77bdeb
Part 1: Expose WindowGlobalParent & Element on BrowsingContext, r=farre
https://hg.mozilla.org/integration/autoland/rev/db66b403cc95
Part 2: Directly fetch browsingContext from frameLoader in browser-custom-element, r=mconley
https://hg.mozilla.org/integration/autoland/rev/de746bd4957f
Part 3: Tests for new WindowGlobal properties, r=farre
https://hg.mozilla.org/integration/autoland/rev/6e450526cf26
Part 4: Correctly tear down TabParent within BrowserBridgeParent, r=farre
https://hg.mozilla.org/integration/autoland/rev/a930e5a3d8ae
Part 5: Don't kill tab when oop iframe dies, r=rhunt
You need to log in before you can comment on or make changes to this bug.