Граф коммитов

35 Коммитов

Автор SHA1 Сообщение Дата
Andreas Farre 68ac0a2401 Bug 1583863 - Part 3: WindowContext using SyncedContext, r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D56743

--HG--
extra : moz-landing-system : lando
2020-01-20 14:58:52 +00:00
Dimi Lee 96dd11aa0c Bug 1600896 - P1. Add contentBlockingLog attribute to WindowGlobalActors.webidl r=timhuang,Ehsan
This allows us to access contentBlockingLog in the parent process
through a WindowGlobalParent object.

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

--HG--
extra : moz-landing-system : lando
2019-12-17 11:31:28 +00:00
Dimi Lee 1a3ae49197 Bug 1600878 - P1. Add contentBlockingEvent attribute to WindowGlobalActors.webidl r=timhuang,Ehsan
This allows us to access contentBlockingEvents in the parent process
through a WindowGlobalParent object.

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

--HG--
extra : moz-landing-system : lando
2019-12-17 11:25:25 +00:00
Emilio Cobos Álvarez 86a70df5d7 Bug 1607006 - Remove utf-16 versions of nsCSSProps::LookupProperty* and ServoCSSParser::ComputeColor. r=bzbarsky
Now that we have UTF8String in the WebIDL, we can remove quite a few of the
conversions. Do that, and lift the remaining string conversions up as needed.

Also deindent Servo_ComputeColor while touching it.

Most of the remaining copies are because either bug 1606994, or because they're
WebIDL attributes that we still need to serialize back as UTF-16 (bug 1606995).

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

--HG--
extra : moz-landing-system : lando
2020-01-08 01:21:30 +00:00
Nika Layzell 965f006a70 Bug 1576714 - Part 3: Initiate subframe process switches from the parent, r=kmag
This flips the direction in which the BrowserBridge actor is generally created
such that it is generally created in the parent and sent down to a child
process.

This is done by making the decision about what kind of switch to perform in the
parent, and sending messages down to child processes async to orchestrate these
process changes.

Process launching is changed to use an async `MozPromise`-returning API in this
patch, though the actual process launching still occurs synchronously. A future
patch will enable performing async process launching through the
NewOrUsedBrowserProcess mechanism.

I know of at least a few timing issues which exist with the new logic,
especially around the state of the BrowsingContext during the process
transition. I decided to not try to fix all of these issues in this patch, as
many are complex and will require changing how we manage the lifecycle of
BrowsingContext substantially. I do, however, think that the new logic is more
reliable and has fewer timing issues than the previous logic.

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

--HG--
extra : moz-landing-system : lando
2019-10-15 16:19:16 +00:00
Csoregi Natalia 8768a4f5e3 Backed out 7 changesets (bug 1576714) for fission permafailures on test_bug590812.html. a=backout
Backed out changeset d0c49f00eb91 (bug 1576714)
Backed out changeset faecc9f35b49 (bug 1576714)
Backed out changeset 2e156655c31e (bug 1576714)
Backed out changeset eece722082c7 (bug 1576714)
Backed out changeset ebda40f96884 (bug 1576714)
Backed out changeset 7dce423417d8 (bug 1576714)
Backed out changeset 9a5072019168 (bug 1576714)
2019-10-05 00:08:33 +03:00
Nika Layzell 89b22d83ef Bug 1576714 - Part 3: Initiate subframe process switches from the parent, r=kmag
This flips the direction in which the BrowserBridge actor is generally created
such that it is generally created in the parent and sent down to a child
process.

This is done by making the decision about what kind of switch to perform in the
parent, and sending messages down to child processes async to orchestrate these
process changes.

Process launching is changed to use an async `MozPromise`-returning API in this
patch, though the actual process launching still occurs synchronously. A future
patch will enable performing async process launching through the
NewOrUsedBrowserProcess mechanism.

I know of at least a few timing issues which exist with the new logic,
especially around the state of the BrowsingContext during the process
transition. I decided to not try to fix all of these issues in this patch, as
many are complex and will require changing how we manage the lifecycle of
BrowsingContext substantially. I do, however, think that the new logic is more
reliable and has fewer timing issues than the previous logic.

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

--HG--
extra : moz-landing-system : lando
2019-10-03 21:40:24 +00:00
Brindusan Cristian 950e03660b Backed out 6 changesets (bug 1576714) for build bustages at nsFrameLoaderOwner.cpp. CLOSED TREE
Backed out changeset 083967e704d2 (bug 1576714)
Backed out changeset b3467f1bdde7 (bug 1576714)
Backed out changeset 88e3b4b7fbaf (bug 1576714)
Backed out changeset b91221da32c7 (bug 1576714)
Backed out changeset 6996b7705f06 (bug 1576714)
Backed out changeset a303fc193f60 (bug 1576714)
2019-10-02 04:14:53 +03:00
Nika Layzell f55d088ec3 Bug 1576714 - Part 3: Initiate subframe process switches from the parent, r=kmag
This flips the direction in which the BrowserBridge actor is generally created
such that it is generally created in the parent and sent down to a child
process.

This is done by making the decision about what kind of switch to perform in the
parent, and sending messages down to child processes async to orchestrate these
process changes.

Process launching is changed to use an async `MozPromise`-returning API in this
patch, though the actual process launching still occurs synchronously. A future
patch will enable performing async process launching through the
NewOrUsedBrowserProcess mechanism.

I know of at least a few timing issues which exist with the new logic,
especially around the state of the BrowsingContext during the process
transition. I decided to not try to fix all of these issues in this patch, as
many are complex and will require changing how we manage the lifecycle of
BrowsingContext substantially. I do, however, think that the new logic is more
reliable and has fewer timing issues than the previous logic.

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

--HG--
extra : moz-landing-system : lando
2019-10-01 18:09:03 +00: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
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
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
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
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 2ba6dc3f7f Bug 1542783 - Expose WindowGlobalParent.tabParent to JS, r=farre
Differential Revision: https://phabricator.services.mozilla.com/D26553

--HG--
extra : moz-landing-system : lando
2019-04-17 00:53:03 +00:00
Andreas Farre a93a5cfa92 Bug 1519910 - Rename ChromeBrowsingContext to CanonicalBrowsingContext. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D17957

--HG--
rename : docshell/base/ChromeBrowsingContext.cpp => docshell/base/CanonicalBrowsingContext.cpp
rename : docshell/base/ChromeBrowsingContext.h => docshell/base/CanonicalBrowsingContext.h
extra : moz-landing-system : lando
2019-01-29 17:32:28 +00:00
John Dai 7b1dd6aef8 Bug 1513878 - Part 2: Implement a getter method to WindowGlobalParent/WindowGlobalChild. r=nika
Depends on D16844

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

--HG--
extra : moz-landing-system : lando
2019-01-28 19:02:02 +00:00
Dorel Luca 2702a37d2c Backed out 3 changesets (bug 1513878) for build bustage. CLOSED TREE
Backed out changeset a480d92de046 (bug 1513878)
Backed out changeset 0333640041bb (bug 1513878)
Backed out changeset 48b36980fe1c (bug 1513878)
2019-01-25 21:16:50 +02:00
John Dai bb99ebce70 Bug 1513878 - Part 2: Implement a getter method to WindowGlobalParent/WindowGlobalChild. r=nika
Depends on D16844

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

--HG--
extra : moz-landing-system : lando
2019-01-25 18:45:28 +00:00
Nika Layzell 614b663032 Bug 1510460 - Record the current WindowGlobal on ChromeBrowsingContext, r=farre
Differential Revision: https://phabricator.services.mozilla.com/D13156
2018-12-05 10:18:43 -05:00
Nika Layzell 1114608d6f Bug 1500950 - Expose rootFrameLoader on WindowGlobalParent, r=farre
This attribute was not exposed due to Bug 1489301.

Differential Revision: https://phabricator.services.mozilla.com/D9404
2018-12-05 10:18:39 -05:00
Nika Layzell f18502de7a Bug 1500949 - Include innerWindowId/outerWindowId in PWindowGlobal, r=farre
This will be useful as both an ID for PWindowGlobal, as well as a mechanism for
taking advantage of already synchronized information. As an example, LoadInfo
objects contain the inner window IDs of the window requesting the load, which
can now be used to obtain a reference to the corresponding WindowGlobalParent
in the parent process.

Differential Revision: https://phabricator.services.mozilla.com/D9396
2018-12-05 10:18:38 -05: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