Commit Graph

480 Commits

Author SHA1 Message Date
Ryan Hunt
eda6ea6e51 Bug 1525720, part 13 - Stop inheriting nsIRemoteTab interface in BrowserParent. r=nika
This commit removes nsIRemoteTab as a parent class from BrowserParent,
so that BrowserHost is the only concrete implementation of nsIRemoteTab.

Some static_cast's are updated to cast to BrowserHost, and other places
have to be updated to pass a BrowserHost instead of a BrowserParent.

WindowGlobalParent had a getter to return it's managing BrowserParent
as a nsIRemoteTab. I couldn't find a use of this in-tree, so I've just
opt-ed to remove it. If there's a use-case, we can add something back
in.

Differential Revision: https://phabricator.services.mozilla.com/D31444
2019-05-08 14:34:47 -05:00
Ryan Hunt
0ee34f47f3 Bug 1525720, part 12 - Make BrowserHost implement nsIRemoteTab by delegating to nsIRemoteTab. r=nika
This commit implements nsIRemoteTab in BrowserHost by delegating to nsIRemoteTab. In a
future commit, these methods will be implemented by BrowserHost.

Differential Revision: https://phabricator.services.mozilla.com/D31443
2019-05-08 11:45:23 -05:00
Ryan Hunt
1c78da408b Bug 1525720, part 11 - Use RemoteBrowser interface instead of IPDL actors in nsFrameLoader. r=nika
This commit replaces the direct use of the IPDL actors in nsFrameLoader with
the RemoteBrowser interface. Some special use cases are adapted to still use
the IPDL actors. In the future, we should burn these use cases down.

Differential Revision: https://phabricator.services.mozilla.com/D31442
2019-05-06 21:29:48 -05:00
Ryan Hunt
edb906832d Bug 1525720, part 7 - Use getter methods to access mBrowserParent and mBrowserBridgeChild. r=farre
This prepares nsFrameLoader for replacing mBrowserParent and mBrowserBridgeChild
with a common interface by making special case code use a getter method instead
of direct access.

Differential Revision: https://phabricator.services.mozilla.com/D31437
2019-04-25 12:36:16 -05:00
Ryan Hunt
e8458e930b Bug 1525720, part 6 - Move BrowserBridgeChild creation to ContentChild. r=farre
This makes it symmetrical to how BrowserParent is created by ContentParent.

Differential Revision: https://phabricator.services.mozilla.com/D31436
2019-04-24 23:52:47 -05:00
Ryan Hunt
48794f137d Bug 1525720, part 4 - Assert in DrawSnapshot if not the chrome process. r=mattwoodrow
This API is only intended to be used in the chrome process and this commit
makes this explicit to simplify a later refactoring.

Differential Revision: https://phabricator.services.mozilla.com/D31434
2019-04-24 23:28:31 -05:00
Ryan Hunt
6c8597ff7d Bug 1525720, part 3 - Remove method to createRemoteFrameLoader from nsIMozBrowserFrame interface. r=farre
This appears unused and adds unneeded surface area for these API's to support.

Differential Revision: https://phabricator.services.mozilla.com/D31431
2019-04-24 23:25:56 -05:00
Ryan Hunt
dfd08b5b1d Bug 1525720, part 1 - Allow calling BrowserParent::InitRendering multiple times, and remove RenderFrame dependency from nsFrameLoader. r=kats
This cleanup will simplify refactoring nsFrameLoader later.

Differential Revision: https://phabricator.services.mozilla.com/D31429
2019-04-24 22:36:27 -05:00
Alphan Chen
b025f04a46 Bug 1549973 - Force tabState flush from C++ listener before tab is closed r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D30475
2019-05-22 09:06:14 +00:00
Christoph Kerschbaumer
29451e9f5e Bug 965637: Move CSP from Principal into Client, part 1: backend changes. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D27654
2019-05-21 23:14:27 +00:00
Kyle Machulis
d29c67c357 Bug 1540839 - Add ability to preserve browsing contexts between FrameLoaders; r=nika
When changing processes and therefore destroying/rebuilding
frameloaders, add ability to keep the browsing context around and add
it to the new frameloader.

Differential Revision: https://phabricator.services.mozilla.com/D26267
2019-05-14 10:51:04 -07:00
Razvan Maries
e5b095be37 Backed out 8 changesets (bug 1540839) for build bustages. CLOSED TREE
Backed out changeset f7e477858ab7 (bug 1540839)
Backed out changeset 55e841a0f005 (bug 1540839)
Backed out changeset b71b58e40426 (bug 1540839)
Backed out changeset 484a54613358 (bug 1540839)
Backed out changeset b34c4d71f202 (bug 1540839)
Backed out changeset 8ff2ff524489 (bug 1540839)
Backed out changeset 27492a30286c (bug 1540839)
Backed out changeset f1c35e8e84f6 (bug 1540839)
2019-05-14 04:23:27 +03:00
Kyle Machulis
563569ce58 Bug 1540839 - Add ability to preserve browsing contexts between FrameLoaders; r=nika
When changing processes and therefore destroying/rebuilding
frameloaders, add ability to keep the browsing context around and add
it to the new frameloader.

Differential Revision: https://phabricator.services.mozilla.com/D26267
2019-05-13 17:58:44 -07:00
Hiroyuki Ikezoe
bf6b448470 Bug 1518919 - Propagate CSS visibility information to descendant documents via IPC call for fission. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D30460
2019-05-13 01:49:07 +00:00
Alphan Chen
1d60c9f374 Bug 1474130 - Implement ScrollPosition/Privacy/DocCapability listeners in C++ r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D23057
2019-05-04 10:42:52 +00:00
Andrea Marchesini
f40d2b344b Bug 1320404 - Remove appId from origin attributes - part 1 - OriginAttributes and nsIPrincipal, r=Ehsan,flod
Differential Revision: https://phabricator.services.mozilla.com/D29353
2019-05-03 17:13:17 +00:00
Bogdan Tara
3fc33e1227 Backed out 4 changesets (bug 1320404) for test_permmanager_load_invalid_entries.js failures
Backed out changeset 7c2f4e64d38e (bug 1320404)
Backed out changeset a7e7c0251179 (bug 1320404)
Backed out changeset dd741b25a244 (bug 1320404)
Backed out changeset de9073c57d20 (bug 1320404)
2019-05-03 06:12:25 +03:00
Andrea Marchesini
8f5e7dccdc Bug 1320404 - Remove appId from origin attributes - part 1 - OriginAttributes and nsIPrincipal, r=Ehsan,flod
Differential Revision: https://phabricator.services.mozilla.com/D29353
2019-05-02 17:24:51 +00:00
Cosmin Sabou
57e65f8648 Backed out 4 changesets (bug 1320404) for xperf failures on permissions.sqlite-journal.
Backed out changeset fbacf18b6532 (bug 1320404)
Backed out changeset fed7c475d75c (bug 1320404)
Backed out changeset 557b586f774a (bug 1320404)
Backed out changeset 5a20b5f43280 (bug 1320404)
2019-05-02 04:51:18 +03:00
Andrea Marchesini
483e24a1ff Bug 1320404 - Remove appId from origin attributes - part 1 - OriginAttributes and nsIPrincipal, r=Ehsan,flod
Differential Revision: https://phabricator.services.mozilla.com/D29353
2019-05-01 23:21:45 +00:00
Masayuki Nakano
70415b08f2 Bug 1547621 - Move all inline methods of nsIPresShell into mozilla::PresShell r=smaug
And also this patch moves some related methods which use the inline methods
and member variables used only by them.

Differential Revision: https://phabricator.services.mozilla.com/D29201
2019-04-30 01:52:53 +00:00
Andreas Farre
f0023db829 Bug 1546454 - Don't create frameloader for partially destroyed docshell. r=qdot
Differential Revision: https://phabricator.services.mozilla.com/D28818
2019-04-25 16:07:39 +00:00
Masayuki Nakano
12b5544904 Bug 1545342 - part 2: Make some public enum of nsIPresShell move to mozilla namespace and defined as enum class in PresShellForwards.h r=smaug
This patch moves some `enum` in `nsIPresShell` which are in public scope into
`mozilla` namespace and change them as `enum class`es.

Unfortunately, only "where to scroll" enum is just defines constants of
percentages of scroll destination.  Therefore, this patch makes only them
as `static const`.

Differential Revision: https://phabricator.services.mozilla.com/D28606
2019-04-25 05:04:15 +00:00
Ryan Hunt
7144ca54c8 Bug 1534395 - Rename TabChild to BrowserChild. r=nika
This commit renames TabChild to BrowserChild.

Differential Revision: https://phabricator.services.mozilla.com/D28135
2019-04-09 17:39:01 -05:00
Ryan Hunt
6b09ea12a4 Bug 1534395 - Rename TabParent to BrowserParent. r=nika
This commit renames TabParent to BrowserParent.

Differential Revision: https://phabricator.services.mozilla.com/D28133
2019-04-09 16:38:15 -05:00
Ryan Hunt
c6e302039f Bug 1534395 - Rename nsITabParent to nsIRemoteTab. r=nika,mconley
nsITabParent is exposed to frontend code and is generally used as a representation of a remote tab. We could just rename the interface to nsIBrowserParent and worry about it later, but I think it's better to rename the interface to nsIRemoteTab so that we can later work on splitting the interface away from the PBrowser protocol.

Note: Some frontend code refers to a TabParentId. This commit renames this to RemoteTabId. We need to figure out the purpose of TabId with fission.

Differential Revision: https://phabricator.services.mozilla.com/D28132
2019-04-09 15:59:37 -05:00
Ryan Hunt
47a44fbd0e Bug 1534395 - Rename mRemoteBrowser to mBrowserParent in nsFrameLoader. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D28131
2019-04-08 16:23:25 -05:00
Ehsan Akhgari
504ae4e4ea Bug 1543786 - Ensure that we revoke a top frame's storage access when it is navigated away; r=baku
Differential Revision: https://phabricator.services.mozilla.com/D27155
2019-04-17 15:01:53 +00:00
Nika Layzell
f084bacb8a Bug 1539163 - Part 1: support resuming load after process switch, r=qdot
This adds a codepath to the process switching logic to, rather than triggering
a fresh load, resume a process switching load.

Differential Revision: https://phabricator.services.mozilla.com/D27512
2019-04-17 00:53:28 +00:00
Nika Layzell
aba1cbbb99 Bug 1542790 - Part 4: Change definition of toplevel content to match reality in nsFrameLoader, r=qdot
This prevents cross-process window proxies for being created for remote
browsers embedded in a content browser, as well as establishing a boundary at
<iframe mozbrowser>

Differential Revision: https://phabricator.services.mozilla.com/D27515
2019-04-17 00:53:14 +00:00
Nika Layzell
aac7e782f2 Bug 1525427 - Part 1: Expose WindowGlobalParent & Element on BrowsingContext, r=farre
Differential Revision: https://phabricator.services.mozilla.com/D25181
2019-04-17 00:51:36 +00:00
Brindusan Cristian
bb73909318 Backed out changeset 19d9a16423fd (bug 1543786) for ESlint failure at browser_storageAccessRemovalNavigateTopframe.js. CLOSED TREE 2019-04-17 08:29:16 +03:00
Ehsan Akhgari
8fe257a030 Bug 1543786 - Ensure that we revoke a top frame's storage access when it is navigated away; r=baku
Differential Revision: https://phabricator.services.mozilla.com/D27155
2019-04-16 22:49:25 +00:00
Andreas Farre
b79abf7c01 Bug 1523636 - Create BrowsingContext in nsFrameLoader. r=nika,qdot
Differential Revision: https://phabricator.services.mozilla.com/D25039
2019-04-15 15:14:54 +00:00
Masayuki Nakano
d0d9ccd592 Bug 1542506 - Make nsDocShell use mozilla::PresShell* directly rather than nsIPresShell* r=bzbarsky
This patch makes `nsDocShell::GetPresShell()` and
`nsDocShell::GetEldestPresShell()` return `mozilla::PresShell*` and
some non-public methods use `mozilla::PresShell*` directly.

Differential Revision: https://phabricator.services.mozilla.com/D26424
2019-04-13 01:03:13 +00:00
Boris Zbarsky
c5af831021 Bug 1543564 part 1. Get rid of pointless nsPIDOMWindowOuter::AsOuter() methods. r=farre
Differential Revision: https://phabricator.services.mozilla.com/D27026
2019-04-11 12:12:04 +00:00
Csoregi Natalia
7e5b45129e Backed out changeset d76b42f0d6ca (bug 1523636) for causing bug 1543015. a=backout 2019-04-10 18:46:01 +03:00
Andreas Farre
ca3485b2d2 Bug 1523636 - Create BrowsingContext in nsFrameLoader. r=nika,qdot
Differential Revision: https://phabricator.services.mozilla.com/D25039
2019-04-08 08:21:40 +00:00
Ciure Andrei
33798e9722 Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-04-04 00:57:38 +03:00
Ryan Hunt
d9ef432d25 Bug 1516425 - Hold a strong reference to TabParent from nsFrameLoader and make TabParent cycle collected. r=smaug
Currently TabParent is refcounted, but nsFrameLoader hold a weak pointer. The pointer
should be cleared out when the TabParent is destroyed, but that's a bit of a footgun
and it's not obvious that we always do this correctly.

Because TabParent holds a reference to a nsFrameLoader and the frame element (which
contains a nsFrameLoader), I think this means we need to cycle collect TabParent.
2019-04-02 10:35:51 -04:00
Masayuki Nakano
edcab6281e Bug 1540930 - Make nsPresContext use mozilla::PresShell directly rather than via nsIPresShell r=emilio
`nsPresContext` should use `mozilla::PresShell` directly instead of
`nsIPresShell`.  This patch makes it.

Unfortunately, `nsPresContext` and `nsIFrame` have `PresShell()`.  Therefore,
we cannot use `PresShell*` in its methods so that this patch uses `mozilla::`
namespace prefix.

It might be better to rename them as `PresShellPtr()` in another bug.

Differential Revision: https://phabricator.services.mozilla.com/D25721
2019-04-03 12:40:26 +00:00
Emilio Cobos Álvarez
2738f83ce2 Bug 1535788 - add some includes to fix some builds on automation.
CLOSED TREE
2019-04-03 14:22:11 +02:00
Masayuki Nakano
e56c690088 Bug 1540015 - part 3: Rename Document::GetShell() to Document::GetPresShell() and make it return PresShell* rather than nsIPresShell* r=smaug,emilio
This makes `Document::GetShell()` return `PresShell*` instead of `nsIPresShell`.

Additonally, "shell" is unclear ("docshell" vs. "presshell").  Therefore, this
also renames `Document::GetShell()` to `Document::GetPresShell()`.

Similarly, some other method names of `Document` are also renamed from
`*Shell*` to `*PresShell*`.

Differential Revision: https://phabricator.services.mozilla.com/D25338
2019-03-29 15:12:47 +00:00
Dorel Luca
6cd4166b18 Backed out 3 changesets (bug 1540015) for build bustage. CLOSED TREE
Backed out changeset 7b71c9da0214 (bug 1540015)
Backed out changeset 5723ddbc5c44 (bug 1540015)
Backed out changeset 9561d2c36fa5 (bug 1540015)
2019-03-29 16:14:26 +02:00
Masayuki Nakano
12ec0ad7f4 Bug 1540015 - part 3: Rename Document::GetShell() to Document::GetPresShell() and make it return PresShell* rather than nsIPresShell* r=smaug,emilio
This makes `Document::GetShell()` return `PresShell*` instead of `nsIPresShell`.

Additonally, "shell" is unclear ("docshell" vs. "presshell").  Therefore, this
also renames `Document::GetShell()` to `Document::GetPresShell()`.

Similarly, some other method names of `Document` are also renamed from
`*Shell*` to `*PresShell*`.

Differential Revision: https://phabricator.services.mozilla.com/D25338
2019-03-29 13:09:26 +00:00
Gurzau Raul
a31d364d9b 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
527af262b0 Bug 1525427 - Part 1: Expose WindowGlobalParent & Element on BrowsingContext, r=farre
Differential Revision: https://phabricator.services.mozilla.com/D25181
2019-03-28 15:03:54 +00:00
Nika Layzell
b816d81616 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
2019-03-14 18:51:09 +00:00
Nika Layzell
0c530c45c2 Bug 1529684 - Part 3: Create BrowsingContext for remote iframes in embedder, r=farre
Depends on D21096

Differential Revision: https://phabricator.services.mozilla.com/D21097
2019-03-14 18:50:47 +00:00
Emilio Cobos Álvarez
cf0e6ff153 Bug 1533963 - Use a single RestyleHint representation. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D22828
2019-03-14 11:47:50 +00:00