Commit Graph

848 Commits

Author SHA1 Message Date
Emilio Cobos Álvarez
d134c6d9a2 Bug 1545499 - Remove dead code for threading accelerator state. r=NeilDeakin
It's only moved around, but not actually used anywhere.

I have no idea what this was supposed to control in the past but it doesn't seem
useful to keep it around.

Differential Revision: https://phabricator.services.mozilla.com/D33393
2019-06-03 15:29:06 +00:00
Ryan Hunt
8036a2a741 Bug 1519546, part 4 - Wire up basic EffectsInfo updates in DOM IPC. r=farre
This commit adds RemoteBrowser::UpdateEffects for updating a remote browser's
EffectsInfo over IPC.

A following commit will actually use the EffectsInfo for
enabling/disabling rendering for a remote browser, and another
commit will actually use these IPDL methods.

Differential Revision: https://phabricator.services.mozilla.com/D31472
2019-05-15 15:26:25 -05:00
Mark Striemer
71a2b9ecfd Bug 1532724 - Part 1: Inline options browser for HTML about:addons details r=rpl,kmag
Differential Revision: https://phabricator.services.mozilla.com/D29787
2019-05-31 14:05:53 +00:00
Ryan Hunt
5e0b1127da Bug 1554073 - Use GetContentParent in TryRemoteBrowser to avoid null-deref if PBrowser actor is destroyed. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D32547
2019-05-27 17:31:24 +00:00
shindli
a5086b2190 Backed out changeset 79436da3bf79 (bug 1549930) for causing perma browser chrome failures in browser/components/privatebrowsing/test/browser/browser_privatebrowsing_about.js CLOSED TREE 2019-05-27 18:09:53 +03:00
Henri Sivonen
4364cf78ec Bug 1549930 - Avoid popping BrowserParent in response to window lowering. r=masayuki
Differential Revision: https://phabricator.services.mozilla.com/D30873
2019-05-27 12:22:37 +00:00
Nika Layzell
804ba40b53 Bug 1553952 - Fire oop-browser-crashed when mBrowserParent construction fails, r=mconley
This is an attempt to reduce the negative impact of bug 1553644 by replacing a
remote browser which fails to create an `mBrowserParent` actor with a tab
crashed display rather than a failed `nsFrameLoader`. This is done by firing the
`oop-browser-crashed` event on the owner `<browser>` element when the attempt
fails, even if no `BrowserParent` was ever created.

This does not fix the root cause of bug 1553644, but may make the browser better
at recovering.

Differential Revision: https://phabricator.services.mozilla.com/D32381
2019-05-24 22:14:44 +00:00
Ryan Hunt
880fab8da2 Bug 1525720, part 16 - Cycle collect RemoteBrowser and support weak references in BrowserHost. r=nika
BrowserParent is cycle collected and supported weak references, so this commit adds support
for these things to BrowserHost.

Differential Revision: https://phabricator.services.mozilla.com/D31448
2019-05-14 16:28:10 -05:00
Ryan Hunt
8f79ffabf2 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
e0df76275c 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
19165ba5ca 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
afb9eae784 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
4eb8f13f99 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
cf33af7969 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
2ba5c8b757 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
9b6e7f2af6 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
Gurzau Raul
65201d8181 Backed out 18 changesets (bug 1525720) for mass failures on Windows platform e.g ProcessPriorityManager.cpp on a CLOSED TREE.
Backed out changeset 1f2e86c2d691 (bug 1525720)
Backed out changeset 9b79caa460a0 (bug 1525720)
Backed out changeset e65cb2d4c5a5 (bug 1525720)
Backed out changeset 99f971a02d87 (bug 1525720)
Backed out changeset d25963c72ff7 (bug 1525720)
Backed out changeset 810b73719871 (bug 1525720)
Backed out changeset ee10a8254481 (bug 1525720)
Backed out changeset 1bcf9f586c55 (bug 1525720)
Backed out changeset d3b2ac8d5ca4 (bug 1525720)
Backed out changeset 697774dd8984 (bug 1525720)
Backed out changeset eadeacbe4483 (bug 1525720)
Backed out changeset 32eeee79d628 (bug 1525720)
Backed out changeset 07678a2fa9e7 (bug 1525720)
Backed out changeset 757b4f595cc4 (bug 1525720)
Backed out changeset b255e0a84e12 (bug 1525720)
Backed out changeset 9a255864f75d (bug 1525720)
Backed out changeset 5f1c1b609ec1 (bug 1525720)
Backed out changeset 00d83f1d02e0 (bug 1525720)
2019-05-23 01:57:16 +03:00
Ryan Hunt
eb5f18e9dd Bug 1525720, part 16 - Cycle collect RemoteBrowser and support weak references in BrowserHost. r=nika
BrowserParent is cycle collected and supported weak references, so this commit adds support
for these things to BrowserHost.

Differential Revision: https://phabricator.services.mozilla.com/D31448
2019-05-14 16:28:10 -05:00
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