Commit graph

78 commits

Author SHA1 Message Date
Nika Layzell
56052d3533 Bug 1523638 - Part 10: Implement WindowGlobalParent::GetRootFrameLoader in terms of Top()->GetEmbedderElement(), r=farre
Differential Revision: https://phabricator.services.mozilla.com/D38552

--HG--
extra : moz-landing-system : lando
2019-08-08 16:07:14 +00:00
Nika Layzell
a231528806 Bug 1523638 - Part 7: Transmit permissions for newly created WindowGlobalParent actors, r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D37654

--HG--
extra : moz-landing-system : lando
2019-08-08 16:07:09 +00:00
Nika Layzell
4a51ab6ceb Bug 1523638 - Part 5: Create a WindowGlobal actor during normal PBrowser construction, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D37652

--HG--
extra : moz-landing-system : lando
2019-08-08 16:07:05 +00:00
Nika Layzell
cf783b1634 Bug 1523638 - Part 1: Remove mIPCClosed from PWindowGlobal, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D37648

--HG--
extra : moz-landing-system : lando
2019-08-08 16:06:52 +00:00
Nika Layzell
d665121e07 Bug 1568517 - Assert embedder exists when creating subframe WindowGlobalParent, r=farre
This asserts that the embedder is always set soon enough that we don't run into
the situation which caused the null deref fixed by bug 1565489.

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

--HG--
extra : moz-landing-system : lando
2019-07-30 14:45:47 +00:00
Narcis Beleuzu
78f3381905 Backed out changeset f74c9d255293 (bug 1568055) for Assertion failures (MOZ_ASSERT_UNREACHABLE: leaking stream event). CLOSED TREE 2019-07-23 23:13:43 +03:00
Nika Layzell
454761339c Bug 1568055 - Part 2: Set embedder for BrowsingContext upon frame creation, r=farre
This should help ensure that the embedder is always set soon enough that we
don't run into the situation which caused the null deref fixed by bug 1565489.

This patch also adds an assertion earlier in WindowGlobalParent's lifecycle to
ensure that the condition is satisfied. This assertion will fail before the
changes in part 1.

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

--HG--
extra : moz-landing-system : lando
2019-07-23 08:05:50 +00:00
Ciure Andrei
c0756f3389 Backed out 10 changesets (bug 1523638) for causing high frequency Android 7.0 mochitests failures CLOSED TREE
Backed out changeset 644ceb2fe568 (bug 1523638)
Backed out changeset 27647ee7a927 (bug 1523638)
Backed out changeset 96f1ccb95570 (bug 1523638)
Backed out changeset b60a17ea716a (bug 1523638)
Backed out changeset 507e63186c5f (bug 1523638)
Backed out changeset 33255408ca61 (bug 1523638)
Backed out changeset d97b2d223616 (bug 1523638)
Backed out changeset eba2a0514cde (bug 1523638)
Backed out changeset d7065174c5c4 (bug 1523638)
Backed out changeset c21b361e175d (bug 1523638)
2019-07-23 05:13:32 +03:00
Nika Layzell
2a0d22e428 Bug 1523638 - Part 10: Implement WindowGlobalParent::GetRootFrameLoader in terms of Top()->GetEmbedderElement(), r=farre
Differential Revision: https://phabricator.services.mozilla.com/D38552

--HG--
extra : moz-landing-system : lando
2019-07-19 19:53:53 +00:00
Nika Layzell
d3369b5645 Bug 1523638 - Part 7: Transmit permissions for newly created WindowGlobalParent actors, r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D37654

--HG--
extra : moz-landing-system : lando
2019-07-18 19:38:18 +00:00
Nika Layzell
96156f34c3 Bug 1523638 - Part 5: Create a WindowGlobal actor during normal PBrowser construction, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D37652

--HG--
extra : moz-landing-system : lando
2019-07-18 19:38:14 +00:00
Nika Layzell
29cceccb51 Bug 1523638 - Part 1: Remove mIPCClosed from PWindowGlobal, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D37648

--HG--
extra : moz-landing-system : lando
2019-07-18 19:38:01 +00:00
Nika Layzell
e691fe7a86 Bug 1565489 - Part 1: Avoid null dereference in IsProcessRoot, r=farre
The crash appears to be being caused by the GetEmbedderWindowGlobal call
returning a null value. This patch simply avoids the crash in this case, and
returns a reasonable default value of false, as it should never be true for a
BrowsingContext with a parent without Fission enabled.

This patch should be small enough to safely uplift if necessary.

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

--HG--
extra : moz-landing-system : lando
2019-07-22 08:43:14 +00:00
Kris Maglione
4503ade360 Bug 1563409: Inherit RemoteSubframes and RemoteTabs flags from parent docshells. r=nika
This also adds an extra assertion against browsing context mismatches that
happen when we don't get this right.

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

--HG--
extra : source : 4b07deb4cd2ef4c98b6d6ee961a20705f4f2deae
2019-07-03 16:09:20 -07:00
Kashav Madan
e7ad7b7104 Bug 1543251 - Move hasBeforeUnload from PBrowser to PWindowGlobal, r=nika
Differential Revision: https://phabricator.services.mozilla.com/D37003

--HG--
extra : moz-landing-system : lando
2019-07-15 17:30:26 +00:00
Noemi Erli
ad5ab4b3e4 Backed out changeset 405100db6c45 (bug 1543251) for failing in nsGlobalWindowInner.cpp 2019-07-11 01:47:47 +03:00
Kashav Madan
0fcee1ff24 Bug 1543251 - Move hasBeforeUnload from PBrowser to PWindowGlobal, r=nika
Differential Revision: https://phabricator.services.mozilla.com/D37003

--HG--
extra : moz-landing-system : lando
2019-07-10 21:13:44 +00:00
Ryan Hunt
27bd25767f Bug 1561395 - Move drawSnapshot API to WindowGlobalParent and allow specifying the whole viewport as a rect. r=mattwoodrow,nika
Differential Revision: https://phabricator.services.mozilla.com/D35842

--HG--
extra : moz-landing-system : lando
2019-07-10 16:45:46 +00:00
Nika Layzell
f3363ff093 Bug 1559460 - Support subframe process switches into embedder process, r=mccr8
This change comes in two parts. First, the code in WindowGlobalChild was changed
to detect the in-process case, and instruct the nsFrameLoader to become a
non-remote nsFrameLoader, and second the logic in WindowGlobalParent was updated
to ensure that the OwnerProcessID is updated after the change.

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

--HG--
extra : moz-landing-system : lando
2019-06-21 16:34:30 +00:00
Johann Hofmann
90ecafd3e1 Bug 1555963 - Add WindowGlobalParent.getSecurityInfo(). r=nika,mconley
This adds an API for fetching security info per frame, no matter if we have
a certificate error or a valid certificate.

I tried to make this work in a Fission-compatible way, let me know if this
is the right approach.

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

--HG--
extra : moz-landing-system : lando
2019-06-21 05:58:40 +00:00
Nika Layzell
9033668540 Bug 1559409 - Show subframe pids in tab hover text, r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D35029

--HG--
extra : moz-landing-system : lando
2019-06-14 15:42:39 +00:00
Nika Layzell
0c0134526f Bug 1556483 - Expose isInitialDocument on WindowGlobalParent, r=bzbarsky
This should hopefully allow the parent process to tell whether a given document
is the initial about:blank document.

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

--HG--
extra : moz-landing-system : lando
2019-06-06 14:57:32 +00:00
John Dai
8add76ec66 Bug 1556686 - Add more comments on JSWindowActor; r=nika
Differential Revision: https://phabricator.services.mozilla.com/D33619

--HG--
extra : moz-landing-system : lando
2019-06-06 10:13:30 +00:00
Nika Layzell
bddb2b3a46 Bug 1554280 - Part 2: Add an IsProcessRoot() getter to WindowGlobalActor, r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D32516

--HG--
extra : moz-landing-system : lando
2019-05-27 18:42:37 +00:00
Nika Layzell
36e3b3266b Bug 1554280 - Part 1: Expose the ContentParentId of a WindowGlobalActor, r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D32515

--HG--
extra : moz-landing-system : lando
2019-05-27 18:42:35 +00:00
Nika Layzell
406f5cc2d8 Bug 1553270 - Part 1: Store the protocol ID on IProtocol directly, r=froydnj
This allows for the getter to be used in IProtocol's destructor, and generally
brings IProtocol more in line with IToplevelProtocol.

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

--HG--
extra : moz-landing-system : lando
2019-05-24 20:21:35 +00:00
Ryan Hunt
4683a8b07a 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

--HG--
extra : source : 810b7371987139844429d0206f9da6a7701a1efc
2019-05-08 14:34:47 -05:00
Ryan Hunt
f037851489 Bug 1525720, part 5 - Redirect nsIHttpChannel using content process ID instead of nsIRemoteTab. r=valentin
This code currently works for remote subframes assuming that nsIRemoteTab is implemented
by BrowserParent, but will break when nsIRemoteTab is only for a top-level BrowserParent.

What this code really wants is a content process ID to retarget the channel to. This
commit switches the interfaces to pass this around instead of nsIRemoteTab.

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

--HG--
extra : source : 757b4f595cc4b18ae35483d23edff4896d15d4b1
2019-05-15 12:33:42 -05:00
Gurzau Raul
57f573a6ff 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
93d6ab4ec4 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

--HG--
extra : rebase_source : 63070e3c2b90c9134f9106028e124935c8dad009
extra : histedit_source : 807f2ff684d86008077be07b0894f39a925fe778
2019-05-08 14:34:47 -05:00
Ryan Hunt
3621e207d9 Bug 1525720, part 5 - Redirect nsIHttpChannel using content process ID instead of nsIRemoteTab. r=valentin
This code currently works for remote subframes assuming that nsIRemoteTab is implemented
by BrowserParent, but will break when nsIRemoteTab is only for a top-level BrowserParent.

What this code really wants is a content process ID to retarget the channel to. This
commit switches the interfaces to pass this around instead of nsIRemoteTab.

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

--HG--
extra : rebase_source : be3303c2d38d704a6a1817fa45fd76700fae6287
extra : histedit_source : c7bf1e496f4328acc9ee70fcccdff98ea2cce5df
2019-05-15 12:33:42 -05:00
Kyle Machulis
9f9436d028 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
1be8bab7d1 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
deebf851e0 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
John Dai
12008a2f96 Bug 1538979 - Part 1: Clear mManager in ActorDestroy and disallow sending message while Destroying; r=nika
Differential Revision: https://phabricator.services.mozilla.com/D30195

--HG--
extra : moz-landing-system : lando
2019-05-10 15:01:33 +00:00
Csoregi Natalia
ca5858897f Backed out 3 changesets (bug 1538979) for bustage on JSWindowActor.cpp. CLOSED TREE
Backed out changeset a098226e4211 (bug 1538979)
Backed out changeset 8e065761738c (bug 1538979)
Backed out changeset 9df2b856b655 (bug 1538979)
2019-05-10 12:44:22 +03:00
John Dai
dcd10aa59f Bug 1538979 - Part 1: Clear mManager in ActorDestroy and disallow sending message while Destroying; r=nika
Differential Revision: https://phabricator.services.mozilla.com/D30195

--HG--
extra : moz-landing-system : lando
2019-05-10 09:19:27 +00:00
John Dai
6678ca2e42 Bug 1539147 - Part 2: Refactor WindowGlobalParent and WindowGlobalChild; r=nika
Differential Revision: https://phabricator.services.mozilla.com/D29427

--HG--
extra : moz-landing-system : lando
2019-05-03 18:12:55 +00:00
Dorel Luca
edcc375f36 Backed out 2 changesets (bug 1539147) for Build bustage in builds/worker/workspace/build/src/obj-firefox/dist/include/mozilla/dom/WindowGlobalActor.h. CLOSED TREE
Backed out changeset 366f29cc8ce7 (bug 1539147)
Backed out changeset 5fa4ae41da87 (bug 1539147)
2019-05-03 18:55:51 +03:00
John Dai
1050f322ac Bug 1539147 - Part 2: Refactor WindowGlobalParent and WindowGlobalChild; r=nika
Differential Revision: https://phabricator.services.mozilla.com/D29427

--HG--
extra : moz-landing-system : lando
2019-05-03 15:31:04 +00:00
Ryan Hunt
0eeced87be Bug 1534395 - Rename TabParent to BrowserParent. r=nika
This commit renames TabParent to BrowserParent.

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

--HG--
rename : dom/ipc/TabParent.cpp => dom/ipc/BrowserParent.cpp
rename : dom/ipc/TabParent.h => dom/ipc/BrowserParent.h
extra : rebase_source : d2706b9f42177d8de16068b7b1d088a44b8720a4
extra : histedit_source : a617ddac45c58050ef799116a67d2d983f2a8f6d%2C1d1dabd8761a32d548a6fbf1027be960698f6a5e
2019-04-09 16:38:15 -05:00
Ryan Hunt
3675f2449b 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

--HG--
rename : dom/interfaces/base/nsITabParent.idl => dom/interfaces/base/nsIRemoteTab.idl
extra : rebase_source : 9d8a1790a7bb10195ad063644d1a93d63b2afb72
2019-04-09 15:59:37 -05:00
Ryan Hunt
9185e0f072 Bug 1534395 - Unified build fixes. r=nika
File renames cause some unified build issues. This commit adds the missing headers.

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

--HG--
extra : rebase_source : 1bc74b73e90caddfa80503b1cb0283142e32c462
2019-04-09 17:38:11 -05:00
Nika Layzell
6114a5f7ab Bug 1544936 - Part 1: Add a sendQuery method to send an async message with a response to JSWindowActor, r=mconley,jdai
This adds a single new method, which acts like sendAsyncMessage, but
also returns a promise. This promise is fulfilled when the promise
returned from the receiveMessage callback is resolved.

```
partial interface JSWindowActor {
  [Throws]
  Promise<any> sendQuery(DOMString messageName,
                         optional any obj,
                         optional any transfers);
}
```

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

--HG--
extra : moz-landing-system : lando
2019-04-18 19:37:15 +00:00
Nika Layzell
50a5699074 Bug 1539163 - Part 2: Support changing the process of subframes, r=qdot
When a remote type mismatch is found for a subframe, this patch checks if
fission is enabled for that window. If it is, it triggers a process switch,
continuing the load in a new process.

With this patch, subframes will only change process when navigating to a HTML
subframe, and not when navigating to a non-HTML subframe. That will be fixed in
a follow-up. This patch also does not change the remote type selection logic,
so only very limited types of remote iframes are supported.

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

--HG--
extra : moz-landing-system : lando
2019-04-17 00:53:32 +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
Nika Layzell
3c646bec4c Bug 1542786 - Set documentURI during WindowGlobalParent creation, r=farre
This avoids a racy situation early during WGP creation where a null documentURI
can be read incorrectly.

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

--HG--
extra : moz-landing-system : lando
2019-04-09 11:58:35 +00:00
Barret Rennie
0196dec3ba Bug 1510569 - Add missing includes and using namespace declarations r=Ehsan
WindowGlobalChild.cpp was relying on several headers already included by other
files in its unified build translation unit, but the addition of the
RemoteWebProgressRequest in the next change bumps them into another translation
unit and breaks the build.

The missing `#include` and `using namespace` statements have been added,
allowing builds to succeed.

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

--HG--
extra : moz-landing-system : lando
2019-04-03 17:31:00 +00:00
Barret Rennie
c8a6795173 Bug 1510569 - Add missing includes to WindowGlobalParent.cpp r=Ehsan
Due to adding a new CPP file in the next change, the unified build fails due to
files being shuffled around between translation units. This change fixes the
build.

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

--HG--
extra : moz-landing-system : lando
2019-04-03 17:30:27 +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