Commit graph

53 commits

Author SHA1 Message Date
Andreas Farre
e3410c54b8 Bug 1471869 - Re-attach cached contexts in bulk. r=nika
This makes restoring from bfcache send less messages. It also
separates detach/attach from the caching logic, making it more clear
that caching is going on.

Differential Revision: https://phabricator.services.mozilla.com/D28670

--HG--
extra : moz-landing-system : lando
2019-04-29 11:38:45 +00:00
Andreas Farre
5c480515bf Bug 1533447 - Part 2: Move bc caching to BrowsingContextGroup. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D28669

--HG--
extra : moz-landing-system : lando
2019-04-29 07:01:50 +00:00
Nika Layzell
7d3df12687 Bug 1542790 - Part 1: BC::GetParent on toplevel windows should be self, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D26558

--HG--
extra : moz-landing-system : lando
2019-04-17 00:53:05 +00:00
Nika Layzell
0bc40288dc Bug 1525427 - Part 1: Expose WindowGlobalParent & Element on BrowsingContext, r=farre
Differential Revision: https://phabricator.services.mozilla.com/D25181

--HG--
extra : moz-landing-system : lando
2019-04-17 00:51:36 +00:00
Andreas Farre
29d439a983 Bug 1523636 - Create BrowsingContext in nsFrameLoader. r=nika,qdot
Differential Revision: https://phabricator.services.mozilla.com/D25039

--HG--
extra : moz-landing-system : lando
2019-04-15 15:14:54 +00:00
Nika Layzell
43ded41fb0 Bug 1542785 - Expose a top method on BrowsingContext to Chrome JS, r=farre
Differential Revision: https://phabricator.services.mozilla.com/D26554

--HG--
extra : moz-landing-system : lando
2019-04-09 06:19:24 +00:00
Csoregi Natalia
b794b31607 Backed out changeset d76b42f0d6ca (bug 1523636) for causing bug 1543015. a=backout 2019-04-10 18:46:01 +03:00
Andreas Farre
888908c3cb Bug 1523636 - Create BrowsingContext in nsFrameLoader. r=nika,qdot
Differential Revision: https://phabricator.services.mozilla.com/D25039

--HG--
extra : moz-landing-system : lando
2019-04-08 08:21:40 +00:00
Gurzau Raul
ed07da8648 Backed out 4 changesets (bug 1525427) for failing at /browser_browsingContext-embedder.js on a CLOSED TREE.
Backed out changeset 0227a59eba8e (bug 1525427)
Backed out changeset 18fba79d8671 (bug 1525427)
Backed out changeset f7c82615ea05 (bug 1525427)
Backed out changeset 4a210c9266ed (bug 1525427)
2019-03-28 20:54:28 +02:00
Nika Layzell
10fb5cf828 Bug 1525427 - Part 1: Expose WindowGlobalParent & Element on BrowsingContext, r=farre
Differential Revision: https://phabricator.services.mozilla.com/D25181

--HG--
extra : moz-landing-system : lando
2019-03-28 15:03:54 +00:00
Nika Layzell
4c8b577b88 Bug 1539069 - Part 2: Use field epochs to avoid racy field interactions, r=farre
Differential Revision: https://phabricator.services.mozilla.com/D24976

--HG--
extra : moz-landing-system : lando
2019-03-27 09:19:29 +00:00
Nika Layzell
6a18c93ae4 Bug 1539069 - Part 1: Allow BC fields to be racy, and not have ProcessID validated, r=farre
Differential Revision: https://phabricator.services.mozilla.com/D24975

--HG--
extra : moz-landing-system : lando
2019-03-27 13:46:01 +00:00
Alastor Wu
bbb2e64dde Bug 1524065 - part1 : implement the way to resume delayed autoplay media via browsing context. r=farre
After enable Fission, we're not able to resume media in the different process, because the current way we use can only notify one process and would cause the media on other process can't be resumed.

Therefore, we should use the browsing context to notify the web content which might be on different processes.

Differential Revision: https://phabricator.services.mozilla.com/D18136

--HG--
extra : moz-landing-system : lando
2019-03-20 03:15:36 +00:00
Andrew McCreight
cce04c17b8 Bug 1535453 - BrowsingContext does not need to inherit from LinkedListElement. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D23586

--HG--
extra : moz-landing-system : lando
2019-03-19 21:33:40 +00:00
Nika Layzell
f6a5c73c2a Bug 1532661 - Part 5: Make the BrowsingContext opener edge a weak reference, r=farre
Depends on D22193

Differential Revision: https://phabricator.services.mozilla.com/D23047

--HG--
extra : moz-landing-system : lando
2019-03-14 18:51:11 +00:00
Nika Layzell
1b8834985a Bug 1532661 - Part 4: Support initializing complete BrowsingContextGroups in a single op with an IPCInitializer struct, r=farre
Depends on D22192

Differential Revision: https://phabricator.services.mozilla.com/D22193

--HG--
extra : moz-landing-system : lando
2019-03-14 18:51:09 +00:00
Nika Layzell
e936e7d33b Bug 1532661 - Part 3: Add WillSetX and DidSetX callbacks for BrowsingContext synced fields, r=farre
Depends on D22191

Differential Revision: https://phabricator.services.mozilla.com/D22192

--HG--
extra : moz-landing-system : lando
2019-03-14 18:51:07 +00:00
Nika Layzell
1ebd4ff025 Bug 1532661 - Part 2: Use a field list macro header for synced fields, r=farre
Depends on D22190

Differential Revision: https://phabricator.services.mozilla.com/D22191

--HG--
extra : moz-landing-system : lando
2019-03-14 18:51:05 +00:00
Nika Layzell
b388b0df00 Bug 1530550 - Synchronize mOpener and mIsActivatedByUserGesture with SYNCED_BC_FIELD, r=farre
Depends on D22764

Differential Revision: https://phabricator.services.mozilla.com/D21134

--HG--
extra : moz-landing-system : lando
2019-03-14 18:50:55 +00:00
Nika Layzell
a26325ea58 Bug 1529684 - Part 6: Store a mIsInProcess flag to preserve WindowProxy behaviour, r=farre
Currently when we have an in-process WindowProxy object, we will attempt
to either use the cached mWindowProxy value, or fetch the
nsGlobalWindowOuter object from through the nsDocShell. Unfortunately,
when the BrowsingContext is detached, we will fail to get the
nsGlobalWindowOuter object. This happens to be OK for our test cases, as
the cached mWindowProxy value doesn't have the chance to go away, but
isn't acceptable long-term.

These patches exascerbated that issue by causing the nsDocShell pointer
itself to be cleared when it is destroyed, which caused the Remote
WindowProxy logic to be triggered. To deal with that case, this patch
adds a new mIsInProcess flag to continue to act like the old code-path.

In the future, we will need to also handle ensuring that the
nsGlobalWindowOuter lives for long enough, however that is not being
done in this patch in order to land it sooner rather than later.

Depends on D22763

Differential Revision: https://phabricator.services.mozilla.com/D22764

--HG--
extra : moz-landing-system : lando
2019-03-14 18:50:54 +00:00
Nika Layzell
6a04609cc9 Bug 1529684 - Part 1: Allow Attaching BrowsingContext from parent to child, r=farre
This is important to allow creating BrowsingContexts outside of the process
where they are going to be used. This is largely a re-arrangement of existing
code.

There is currently no way to do this type of attaching for browsing contexts in
existing BrowsingContextGroups, which creates some limitations, but happens to
be sufficient for us in the current situation.

Differential Revision: https://phabricator.services.mozilla.com/D21095

--HG--
extra : moz-landing-system : lando
2019-03-14 18:50:38 +00:00
Valentin Gosu
21bfdeb265 Bug 1525036 - Add CrossOriginPolicy to the browsing context r=nika
Differential Revision: https://phabricator.services.mozilla.com/D21418

--HG--
extra : moz-landing-system : lando
2019-03-12 08:04:01 +00:00
Csoregi Natalia
d086070187 Backed out 5 changesets (bug 1525036) for browser_httpCrossOriginHeader.js failures. CLOSED TREE
Backed out changeset 6717beb3ac53 (bug 1525036)
Backed out changeset 0c05686bd62a (bug 1525036)
Backed out changeset 502b0bb796cd (bug 1525036)
Backed out changeset fa0363d33dbd (bug 1525036)
Backed out changeset 6391f42aaa6d (bug 1525036)
2019-03-09 02:39:11 +02:00
Valentin Gosu
d12177cb53 Bug 1525036 - Add CrossOriginPolicy to the browsing context r=nika
Differential Revision: https://phabricator.services.mozilla.com/D21418

--HG--
extra : moz-landing-system : lando
2019-03-08 15:34:54 +00:00
Brindusan Cristian
8a1c4fbd47 Backed out 4 changesets (bug 1530550, bug 1529684) for bc crashes at [@ mozilla::dom::BrowsingContext::Detach(bool)]. CLOSED TREE
Backed out changeset 289c2b4126c9 (bug 1530550)
Backed out changeset 9f3e65f6b1dd (bug 1529684)
Backed out changeset 257d45117af3 (bug 1529684)
Backed out changeset 7f2bda80e479 (bug 1529684)
2019-03-05 23:11:48 +02:00
Nika Layzell
8b4e459999 Bug 1530550 - Synchronize mOpener and mIsActivatedByUserGesture with SYNCED_BC_FIELD, r=farre
Differential Revision: https://phabricator.services.mozilla.com/D21134

--HG--
extra : moz-landing-system : lando
2019-03-05 17:33:52 +00:00
Nika Layzell
95cc8c68c0 Bug 1529684 - Part 1: Allow Attaching BrowsingContext from parent to child, r=farre
This is important to allow creating BrowsingContexts outside of the process
where they are going to be used. This is largely a re-arrangement of existing
code.

There is currently no way to do this type of attaching for browsing contexts in
existing BrowsingContextGroups, which creates some limitations, but happens to
be sufficient for us in the current situation.

Differential Revision: https://phabricator.services.mozilla.com/D21095

--HG--
extra : moz-landing-system : lando
2019-03-05 17:33:19 +00:00
Peter Van der Beken
f13ee34fd0 Bug 1518202 - Make RemoteObjectProxies add the edge to the native object to the CC. r=bzbarsky
Depends on D15848

Differential Revision: https://phabricator.services.mozilla.com/D21497

--HG--
extra : moz-landing-system : lando
2019-02-28 19:34:02 +00:00
Peter Van der Beken
41fde75dc8 Bug 1518202 - Add cross-process proxies for Location. r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D15848

--HG--
extra : moz-landing-system : lando
2019-02-28 18:23:15 +00:00
Ciure Andrei
662a6079d1 Backed out changeset c2091f595c72 (bug 1530550) for ,ultiple leakcheck failures CLOSED TREE 2019-02-28 02:56:12 +02:00
Nika Layzell
b9e168fca3 Bug 1530550 - Synchronize mOpener and mIsActivatedByUserGesture with SYNCED_BC_FIELD, r=farre
Differential Revision: https://phabricator.services.mozilla.com/D21134

--HG--
extra : moz-landing-system : lando
2019-02-27 22:46:41 +00:00
Andreas Farre
1b8510f881 Bug 1523645 - Add transactions for syncing BrowsingContext fields. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D20187

--HG--
extra : moz-landing-system : lando
2019-02-21 20:14:28 +00:00
Andreas Farre
48da8e2402 Bug 1515646 - Add FindWithName and FindChildWithName to BrowsingContext. r=peterv
This implements the step of choosing a browsing context with
FindWithName, which should be equivalent to calling
nsIDocShellTreeItem.findItemWithName passing null for 'aRequestor' and
'aOriginalRequestor' and false for 'aSkipTabGroup'.

Differential Revision: https://phabricator.services.mozilla.com/D15190

--HG--
extra : moz-landing-system : lando
2019-02-15 09:59:21 +00:00
Nika Layzell
330d9fd3a2 Bug 1516240 - Part 3: Directly pass BrowsingContext over IPC when possible, r=farre
This patch changes the logic such that we use the new direct
BrowsingContext ParamTraits implementation when possible, and avoids
doing manual lookups.

Depends on D19178

Differential Revision: https://phabricator.services.mozilla.com/D19179

--HG--
extra : moz-landing-system : lando
2019-02-13 21:02:55 +00:00
Nika Layzell
34cef5cb0d Bug 1516240 - Part 2: Allow serializing BrowsingContext over IPC, r=farre
This patch takes the approach of taking a reference, so that we can land
it into the tree more quickly & fix issues we have.

This isn't a final solution by any means, we should also do something
along the lines of the StableState approach, but it should be sufficient
for now.

Depends on D19177

Differential Revision: https://phabricator.services.mozilla.com/D19178

--HG--
extra : moz-landing-system : lando
2019-02-13 21:02:53 +00:00
Andreas Farre
aff8c1286e Bug 1521149 - Keep track of all BrowsingContext object in a BrowsingContextGroup r=nika
Differential Revision: https://phabricator.services.mozilla.com/D17003

--HG--
extra : moz-landing-system : lando
2019-01-30 16:07:21 +00:00
Alastor Wu
9ac741bd4b Bug 1516482 - part3 : reset user gesture activation flag when top level document changes. r=nika
As the user gesture activation flag is a flag which is used to reflect whether the corresponding document of browsing context has been activated by user or not, we should reset the flag when the top level window changes its document.

Differential Revision: https://phabricator.services.mozilla.com/D16094

--HG--
extra : moz-landing-system : lando
2019-01-14 23:21:05 +00:00
Alastor Wu
71c03664cd Bug 1516482 - part1 : save user gesture activation flag in top level browsing context r=nika
This patch moves the user gesture activation flag from saving in document to saving in browsing context. The flag would be saved in the top level browsing context and then every time we need to check for that flag, we will request it from top level browsing context.

Differential Revision: https://phabricator.services.mozilla.com/D15435

--HG--
extra : moz-landing-system : lando
2019-01-14 23:09:42 +00:00
Peter Van der Beken
066d891adb Bug 1353867 - Add cross-process proxies for WindowProxy. r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D12656

--HG--
extra : moz-landing-system : lando
2019-01-02 13:29:18 +00:00
Peter Van der Beken
58c7fc4d20 Bug 1353867 - Change WindowProxyHolder's native type to BrowsingContext. r=bzbarsky
Make the WindowProxyHolder hold a strong reference to a BrowsingContext, as in the future
we might not have a nsPIDOMWindowOuter (if the document is loaded in a different process).

Differential Revision: https://phabricator.services.mozilla.com/D12651

--HG--
extra : moz-landing-system : lando
2019-01-02 13:27:05 +00:00
Andreas Farre
67ea30c7d4 Bug 1505838 - Add BrowsingContextGroup. r=peterv
Add top-level and auxiliary browsing contexts to a group of
BrowsingContexts on creation and store a pointer to that group in all
children of the BrowsingContexts in the group. With this it is
possible to compute the transitive closure of related browsing
contexts.

Since we'll not be using linked lists of BrowsingContexts for neither
groups nor children we can move children to be an array of
BrowsingContexts and adjust to use a the more convenient HashMap for
roots.

Differential Revision: https://phabricator.services.mozilla.com/D13227

--HG--
extra : moz-landing-system : lando
2018-12-17 10:45:37 +00:00
Nika Layzell
91dd6c616f Bug 1500944 - Part 2: Expose WindowGlobal actors to Chrome JS, r=farre
This serves 2 purposes:
1. Provides an object corresponding to an inner window which Chrome JS can hold onto.
2. Provides the object to JS which Chrome JS per-window actors will be attached to.
3. Provides useful information to Chrome JS in the parent process.

Differential Revision: https://phabricator.services.mozilla.com/D9394
2018-12-05 10:18:34 -05:00
Nika Layzell
b4954ede43 Bug 1500944 - Part 1: Store the set of active WindowGlobalParent objects in ChromeBrowsingContext, r=farre
This allows getting the set of all window globals for a given browsing context.
This is less useful at the moment as the active window global is not exposed as
such. That will be added as a follow-up.

Differential Revision: https://phabricator.services.mozilla.com/D9393
2018-12-05 10:18:33 -05:00
Sylvestre Ledru
265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Andreas Farre
3ccff85cdd Bug 1502330 - Create BrowsingContext with passed opener. r=qdot
By replacing nsWebBrowser's implementation of the
nsIBaseWindow.initWindow and nsIBaseWindow.create with a new static
nsWebBrowser::Create method we make it possible to pass arguments
directly when creating an nsWebBrowser, for example the opener
BrowsingContext. As a bonus we can do away with
nsWebBrowser::mInitInfo!

Differential Revision: https://phabricator.services.mozilla.com/D12634

--HG--
extra : moz-landing-system : lando
2018-11-27 09:59:44 +00:00
Andreas Farre
af6942ecbc Bug 1502328 - Add opener member to BrowsingContext and expose through webidl. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D10580

--HG--
extra : moz-landing-system : lando
2018-11-09 08:53:53 +00:00
Andreas Farre
89cb220346 Bug 1480198 - Construct nsDocShell objects inside BrowsingContext. r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D7400

--HG--
extra : moz-landing-system : lando
2018-11-05 12:43:10 +00:00
Andreas Farre
8a334bc798 Bug 1498222 - Add BrowsingContext.docShell webidl. r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D8381

--HG--
extra : moz-landing-system : lando
2018-10-18 06:52:30 +00:00
Andreas Farre
931874ae8d Bug 1480113 - Split parent process specific parts out of BrowsingContext r=peterv
Create ChromeBrowsingContext and move parent process specific parts
from BrowsingContext there. After that make sure that all
BrowsingContexts created in the parent process is actually
ChromeBrowsingContexts and all BrowsingContexts in the child processes
are BrowsingContexts.

Differential Revision: https://phabricator.services.mozilla.com/D5419

--HG--
extra : moz-landing-system : lando
2018-09-14 14:57:18 +00:00
Andreas Farre
82694e9ac3 Bug 1481238 - Create WebIDL interface for BrowsingContext. r=peterv
Expose Chrome only WebIDL to interface with BrowsingContext from
script. The API consists of parent, firstChild and nextSibling
attributes for BrowsingContext, and the browsingContext attribute for
Window.

--HG--
extra : rebase_source : 772d25e8b4e5526453545ddb2b1607845f3b65ea
2018-08-29 05:00:00 +03:00