Commit Graph

408 Commits

Author SHA1 Message Date
Cosmin Sabou
357a0887a1 Backed out 24 changesets (bug 1616353) for fission assertion failures nsGlobalWindowOuter.cpp.
Backed out changeset 3a43210e4900 (bug 1616353)
Backed out changeset cb77e9149cf8 (bug 1616353)
Backed out changeset 3aacc7cfe33f (bug 1616353)
Backed out changeset c026b06063a5 (bug 1616353)
Backed out changeset 580e790c5d17 (bug 1616353)
Backed out changeset 6f09bc1c476d (bug 1616353)
Backed out changeset 6955906262c0 (bug 1616353)
Backed out changeset a7700472807a (bug 1616353)
Backed out changeset a4735096e01b (bug 1616353)
Backed out changeset bd1706c57d91 (bug 1616353)
Backed out changeset 363c13296fda (bug 1616353)
Backed out changeset e414df387524 (bug 1616353)
Backed out changeset 765d3364cca0 (bug 1616353)
Backed out changeset 8a13355b4ac4 (bug 1616353)
Backed out changeset ada17fb8fca7 (bug 1616353)
Backed out changeset 6b6b99af186d (bug 1616353)
Backed out changeset ea966e78b296 (bug 1616353)
Backed out changeset cb88e0bbb3b9 (bug 1616353)
Backed out changeset f89a89015114 (bug 1616353)
Backed out changeset ae6058552969 (bug 1616353)
Backed out changeset f42bb5b48c1b (bug 1616353)
Backed out changeset 1ab9d22c73bb (bug 1616353)
Backed out changeset 2692c2c1396b (bug 1616353)
Backed out changeset 11a279c8da08 (bug 1616353)
2020-04-06 20:03:02 +03:00
Nika Layzell
458cd6db6a Bug 1616353 - Part 6.1: Implement nsILoadContext on BrowsingContext, r=smaug
This also moves nsDocShell's implementation of nsILoadContext to be based on its
BrowsingContext.

This patch does not, by itself, fix all places which try to mutate
`nsILoadContext`. Those are fixed by the other parts of this patch stack.

Differential Revision: https://phabricator.services.mozilla.com/D67045
2020-04-06 14:29:47 +00:00
Narcis Beleuzu
0668c5ab4c Backed out 6 changesets (bug 1626404) for assertion failures on BrowsingContext.cpp . CLOSED TREE
Backed out changeset aed006ab4c20 (bug 1626404)
Backed out changeset ad87dcb98637 (bug 1626404)
Backed out changeset c065bd4594b4 (bug 1626404)
Backed out changeset a248fc78ab0c (bug 1626404)
Backed out changeset 52892d053ff1 (bug 1626404)
Backed out changeset 440b9193338a (bug 1626404)
2020-04-04 05:29:30 +03:00
Kris Maglione
98bd7e4124 Bug 1626404: Part 4 - Remove now-redundant accessor args from BrowsingContext load methods. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D69421
2020-04-04 00:36:30 +00:00
Kris Maglione
1c110e1fd9 Bug 1626404: Part 3 - Do sandbox flag checks at both ends of cross-process loads. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D69420
2020-04-04 00:12:57 +00:00
Kris Maglione
99164ee547 Bug 1626404: Part 1 - Move IsSandboxedFrom to BrowsingContext. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D69417
2020-04-04 00:13:04 +00:00
Narcis Beleuzu
518dd9a134 Backed out 6 changesets (bug 1626404) for bustages on LocationBase.cpp . CLOSED TREE
Backed out changeset a399dfff2725 (bug 1626404)
Backed out changeset ad3272abd830 (bug 1626404)
Backed out changeset 322c170e8301 (bug 1626404)
Backed out changeset df37f57cfa1d (bug 1626404)
Backed out changeset e255e4c9e665 (bug 1626404)
Backed out changeset 51120d617459 (bug 1626404)
2020-04-04 02:42:18 +03:00
Kris Maglione
6d933b2e13 Bug 1626404: Part 4 - Remove now-redundant accessor args from BrowsingContext load methods. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D69421
2020-04-03 22:42:25 +00:00
Kris Maglione
e4f39e6caa Bug 1626404: Part 3 - Do sandbox flag checks at both ends of cross-process loads. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D69420
2020-04-03 22:42:17 +00:00
Kris Maglione
a5d565da2f Bug 1626404: Part 1 - Move IsSandboxedFrom to BrowsingContext. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D69417
2020-04-03 22:41:26 +00:00
nika
ec45daa8f7 Bug 1557118, add support for filtering actor creation based on the messagemanagergroup attribute set on browser elements, r=farre
Differential Revision: https://phabricator.services.mozilla.com/D68780
2020-04-01 12:59:19 +00:00
Peter Van der Beken
cbc91e4a02 Bug 1622420 - Set the current WindowContext for BrowsingContexts newly created over IPC. r=farre
Differential Revision: https://phabricator.services.mozilla.com/D68572
2020-04-01 12:54:28 +00:00
Kris Maglione
af7f2fcbb8 Bug 1576262: Handle ownership races during cross-process navigations. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D68454
2020-03-27 13:55:07 +00:00
Nika Layzell
95184fc842 Bug 1614259 - Ensure BrowisngContexts are detached when nsDocShell is destroyed, r=farre
After bug 1582832, DocShell destruction and BrowsingContext detaching happen
in separate operations, leaving a gap where a DocShell has been destroyed, but
its BrowsingContext is still considered attached. During this gap, the usual
invariant that an in-process, attached BrowsingContext always has an
associated DOM window doesn't hold, nor do the usual invariants for outer
window forwarding security checks.

This patch fixes the detach timing so that a child BrowsingContext for a frame
which has been removed is always marked detached at the same time its DocShell
is destroyed.

Co-authored-by: Kris Maglione <maglione.k@gmail.com>

Differential Revision: https://phabricator.services.mozilla.com/D62791
2020-03-23 13:28:09 +00:00
Dan Glastonbury
0d44ecd70d Bug 1621192 - P2: Move allowContentRetargeting to BrowsingContext. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D66168
2020-03-19 01:49:04 +00:00
Dan Glastonbury
f9e0dcfc5b Bug 1621192 - P1: Move allowPlugins to BrowsingContext. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D66167
2020-03-19 01:48:56 +00:00
Valentin Gosu
374f0d0d36 Bug 1617889 - COOP: Open new windows as "noopener" when origins don't match r=nika
If current's top-level browsing context's active document's cross-origin
opener-policy is "same-origin" or "same-origin + COEP", then:
- Let currentDoc be current's active document.
- If currentDoc's origin is not same origin with currentDoc's top-level
  origin, then set noopener to true.

https://gist.github.com/annevk/6f2dd8c79c77123f39797f6bdac43f3e#changes-to-choosing-a-browsing-context

Differential Revision: https://phabricator.services.mozilla.com/D66433
2020-03-17 16:39:27 +00:00
Valentin Gosu
6bfb669e6c Bug 1617889 - Fix CrossOriginOpenerPolicy inheritance from a cross origin iframe r=nika
Differential Revision: https://phabricator.services.mozilla.com/D65524
2020-03-17 16:36:58 +00:00
Valentin Gosu
612f8eb38e Bug 1617889 - Fix COOP comparison check r=michal
Differential Revision: https://phabricator.services.mozilla.com/D64083
2020-03-17 16:36:17 +00:00
Dan Glastonbury
98cd5d2e09 Bug 1616171 - P3: Move initatorType from DocumentChannelCreationArgs to BC. r=mattwoodrow,nika
Differential Revision: https://phabricator.services.mozilla.com/D63452
2020-02-25 23:17:56 +00:00
Kris Maglione
27a6ede8fd Bug 1617254: Rename BrowsingContext.getChildren() to .children. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D63699
2020-02-25 22:33:53 +00:00
Arthur Iakab
7dc57054cd Backed out changeset 5616425b54da (bug 1617254)for casuing multiple browser-chrome failures.
CLOSED TREE
2020-02-26 00:09:34 +02:00
Kris Maglione
9b4f095126 Bug 1617254: Rename BrowsingContext.getChildren() to .children. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D63699
2020-02-25 21:03:58 +00:00
Noemi Erli
5296ed257e Backed out changeset 034e2e79ecfa (bug 1617254) for causing build bustages CLOSED TREE 2020-02-25 21:59:14 +02:00
Kris Maglione
0523739f93 Bug 1617254: Rename BrowsingContext.getChildren() to .children. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D63699
2020-02-25 19:39:25 +00:00
Matt Woodrow
08b49cc241 Bug 1615967 - Move customUserAgent to BrowsingContext. r=nika,remote-protocol-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D63040
2020-02-24 02:15:03 +00:00
Nika Layzell
32a9a739a7 Bug 1615403 - Part 9: Remove old BrowsingContext & WindowContext serializers, r=farre
These serializers have been superceded by the new
MaybeDiscarded<BrowsingContext> and MaybeDiscarded<WindowContext> serializers
added in earlier parts.

Differential Revision: https://phabricator.services.mozilla.com/D62838
2020-02-20 23:30:56 +00:00
Nika Layzell
f596d846f3 Bug 1615403 - Part 5: Use MaybeDiscarded for RestoreBrowsingContextChildren, r=farre
Differential Revision: https://phabricator.services.mozilla.com/D62836
2020-02-20 23:30:47 +00:00
Nika Layzell
3a735eb297 Bug 1615403 - Part 1: Introduce a new MaybeDiscarded type, r=farre
Adds a new MaybeDiscarded wrapper type which allows sending a maybe-discarded
BrowsingContext over IPC to another process which must be explicitly checked for
nullness and discarded status before being used.

Differential Revision: https://phabricator.services.mozilla.com/D62832
2020-02-20 23:30:33 +00:00
Henri Sivonen
0bb6ff45eb Bug 1556627 - Make nsFocusManager::SetFocus work in Fission. r=NeilDeakin,farre,masayuki
Differential Revision: https://phabricator.services.mozilla.com/D55651
2020-02-18 13:30:04 +00:00
Simon Giesecke
9bcfd47601 Bug 1611415 - Prefer using std::move over forget. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D60980
2020-02-13 14:38:48 +00:00
shindli
6bb3487209 Backed out changeset 0c982bc69cb3 (bug 1611415) for causing build bustages in /builds/worker/workspace/build/src/obj-firefox/dist/include/nsCOMPtr CLOSED TREE 2020-02-12 20:13:29 +02:00
Simon Giesecke
d45525793f Bug 1611415 - Applied FixItHints from mozilla-non-std-move. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D60980
2020-02-12 17:24:41 +00:00
Kris Maglione
3af7a24cdd Bug 1582832: Part 3 - Correctly handle windowless BCs created for printing. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D61006
2020-02-06 19:08:06 +00:00
Kris Maglione
c48e9854bb Bug 1582832: Part 2 - Don't attach a BrowsingContext before a FrameLoader is initialized. r=nika
There are cases where the initial BrowsingContext that we create for a
FrameLoader will never have a DocShell created for it. In the particular case
when the frame it belongs to is part of an inactive document, trying to
eagerly attach the BrowsingContext ends up attaching it as an active child of
its parent BrowsingContext, when it should be either cached or detached. Which
causes no end of problems.

This patch delays attaching the BrowsingContext until the FrameLoader is
initialized, which solves most of these problems.

Differential Revision: https://phabricator.services.mozilla.com/D59009
2020-02-06 19:08:04 +00:00
Kris Maglione
d7e4043bb8 Bug 1582832: Part 1 - Make FrameLoader owner rather than DocShell responsible for discarding a BC. r=nika
There are all sorts of lifecycle issues which arise from making DocShell
responsible for discarding BrowsingContexts. In this particular bug, we tend
to run into them in cases where we create a BrowsingContext for a FrameLoader,
and then never create a DocShell for it, leading to it never being destroyed.
But there are myriad other issues as well.

This patch moves the responsibility for BrowsingContext lifecycle management
to the FrameLoader/FrameLoaderOwner, rather than the DocShell, which makes
things more consistent, and more closely aligns with spec-defined behavior.

Differential Revision: https://phabricator.services.mozilla.com/D59008
2020-02-06 19:07:56 +00:00
Andrea Marchesini
8dcb4fe84b Bug 1611855 - Worklet must be part of the same parent's agentCluster - part 2 - CloneDataPolicy in writing, r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D61182
2020-02-06 13:46:25 +00:00
Narcis Beleuzu
f00579517d Backed out 13 changesets (bug 1611855) for wpt failures on /audioworklet-postmessage-sharedarraybuffer.https.html . CLOSED TREE
Backed out changeset 2b661d588f96 (bug 1611855)
Backed out changeset 16094fc92bc9 (bug 1611855)
Backed out changeset 3f89bbcaff92 (bug 1611855)
Backed out changeset a906501b6d92 (bug 1611855)
Backed out changeset 54738b88425d (bug 1611855)
Backed out changeset d27de910a6c0 (bug 1611855)
Backed out changeset 261902f6336d (bug 1611855)
Backed out changeset 380d83b61e62 (bug 1611855)
Backed out changeset 39aac60ebf5e (bug 1611855)
Backed out changeset 5ea099787376 (bug 1611855)
Backed out changeset d0f58871f838 (bug 1611855)
Backed out changeset e1be102310a9 (bug 1611855)
Backed out changeset 633357835540 (bug 1611855)
2020-02-06 12:31:36 +02:00
Andrea Marchesini
b87fea304b Bug 1611855 - Worklet must be part of the same parent's agentCluster - part 2 - CloneDataPolicy in writing, r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D61182
2020-02-05 22:07:34 +00:00
Kris Maglione
04adf714ef Bug 1595936: Part 2 - Refresh feature policy when attaching browsing context. r=farre,baku
We go to great lengths to try to avoid initializing FrameLoaders during
document updates. That means that when `BindToTree` is called, the element's
FrameLoader is not initialized, and it has no BrowsingContext. Calling
`GetBrowsingContext()` (which happens as a side-effect of
`HTMLIFrameElement::RefreshFeaturePolicy`), however, forces eager
initialization, which can cause any number of problems.

This patch moves that logic from being triggered by `BindToTree` to being
triggered by `BrowsingContext::Embed`, which happens as soon as the
BrowsingContext is bound to the element, but does not force it to be created
early.

Differential Revision: https://phabricator.services.mozilla.com/D55872
2020-01-24 19:03:10 +00:00
Tetsuharu OHZEKI
660e0491c4 Bug 1594280 - Fix uses of nsIDocShellTreeItem in nsIDocShellTreeItem in nsDocShell::ValidateOrigin. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D58447
2020-01-23 18:14:42 +00:00
Andreas Farre
ab078dadbb Bug 1583863 - Part 3: WindowContext using SyncedContext, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D56743
2020-01-20 14:58:52 +00:00
Andreas Farre
8333415e36 Bug 1583863 - Part 2: BrowsingContext moved to SyncedContext, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D56742
2020-01-20 14:57:47 +00:00
alwu
933c5b76fa Bug 1606782 - part2 : create media controller via canonical browsing context. r=chunmin,nika
As each media controller corresponds to a tab (a browsing context tree), so the controller's life cycle should be equal to the tab. Currently we use the top-level browsing context to represent a tab, so when that browsing context is being destroyed, we should also destroy the corresponding media controller.

Therefore, `MediaControlService` don't need to have methods to access media controller anymore, we should access media controller directly from the top-level canonical browsing context.

Differential Revision: https://phabricator.services.mozilla.com/D58591
2020-01-16 18:05:14 +00:00
Julian Descottes
52566e4239 Bug 1585747 - Remove devtools-specific workaround in BrowsingContext.cpp r=nika
Depends on D47963

This workaround was only used by DevTools when using a chrome frame. DevTools toolbox now always uses frame type=content, so the workaround can be removed.

Differential Revision: https://phabricator.services.mozilla.com/D47964
2020-01-14 14:47:17 +00:00
pbz
9ca53ea171 Bug 1432856 - Extended focus methods in Window.webidl, Client.webidl and Element.webidl to pass CallerType. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D55811
2020-01-16 14:38:40 +00:00
Anny Gakhokidze
1934b9d89d Bug 1574017 - Fix console error reporting for postMessage, r=peterv
1. Rename mCallerDocumentURI field of PostMessageEvent to mCallerURI as we
might not always have a document, e.g. when we have a sandbox.
2. When we neither have caller's inner window (and thus we have no caller's
window ID) nor caller's URI, use script location as a source name for the error
object when reporting errors to console.
3. When the caller of postMessage has its window in a different process, pass along
the caller's window ID so that the error can be reported correctly.

Differential Revision: https://phabricator.services.mozilla.com/D59526
2020-01-15 20:20:31 +00:00
Narcis Beleuzu
4723d54743 Backed out changeset ea7d48958f2f (bug 1594280) for mochitest failures on nsDocShell.cpp . CLOSED TREE 2020-01-15 05:50:28 +02:00
Tetsuharu OHZEKI
abbe92b5c8 Bug 1594280 - Fix uses of nsIDocShellTreeItem in nsIDocShellTreeItem in nsDocShell::ValidateOrigin. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D58447
2020-01-14 21:03:52 +00:00
Nika Layzell
cf88c3bd1a Bug 1605514 - Avoid hard-crashing on malformed data while fuzzing, r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D58986
2020-01-07 18:58:06 +00:00