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

27 Коммитов

Автор SHA1 Сообщение Дата
Anny Gakhokidze 8b553ecfcf Bug 1589102 - Part 1: Enable about:srcdoc loads via DocumentChannel, r=mattwoodrow
This patch enables sandboxed srcdoc loads to take place via DocumentChannel,
and adds mechanisms for enabling unsandboxed ones.

Both unsandboxed srcdoc, and in subsequent patches, about:blank, loads require
that the triggering principal and the principal to inherit point to the same
instance if the load takes place in the same process as where we are inheriting
those principals from. We save those principals on a target browsing context before
we load the URI, and later, when we are deserializing LoadInfoArgs into
LoadInfo in the content process, we retrieve the saved principals if the
current load identifier of the target BC matches the load identifier saved
along with the principals.

We also need to make sure that during a process switch for about:srcdoc load,
we don't use the original URI for about:srcdoc to determine the remote type and
instead we use channel's result principal.

Differential Revision: https://phabricator.services.mozilla.com/D85079
2020-08-28 17:20:30 +00:00
Butkovits Atila 3bd0e5497c Backed out 10 changesets (bug 1589102) for failure at browser_saveHeapSnapshot_e10s_01.js CLOSED TREE
Backed out changeset 0d22ad297b19 (bug 1589102)
Backed out changeset 14bcaf2a452c (bug 1589102)
Backed out changeset 20905f91e2bb (bug 1589102)
Backed out changeset 29ee0fbe855f (bug 1589102)
Backed out changeset d1f6185030af (bug 1589102)
Backed out changeset 31949872cc1d (bug 1589102)
Backed out changeset ec04e1a20597 (bug 1589102)
Backed out changeset ffe8da473b91 (bug 1589102)
Backed out changeset 3b92f7306c64 (bug 1589102)
Backed out changeset b187548e258f (bug 1589102)
2020-08-05 21:47:50 +03:00
Anny Gakhokidze e903c66d34 Bug 1589102 - Part 1: Enable about:srcdoc loads via DocumentChannel, r=mattwoodrow
This patch enables sandboxed srcdoc loads to take place via DocumentChannel,
and adds mechanisms for enabling unsandboxed ones.

Both unsandboxed srcdoc, and in subsequent patches, about:blank, loads require
that the triggering principal and the principal to inherit point to the same
instance if the load takes place in the same process as where we are inheriting
those principals from. We save those principals on a target browsing context before
we load the URI, and later, when we are deserializing LoadInfoArgs into
LoadInfo in the content process, we retrieve the saved principals if the
current load identifier of the target BC matches the load identifier saved
along with the principals.

We also need to make sure that during a process switch for about:srcdoc load,
we don't use the original URI for about:srcdoc to determine the remote type and
instead we use channel's result principal.

Differential Revision: https://phabricator.services.mozilla.com/D85079
2020-08-05 16:44:01 +00:00
Tim Huang 4b67d42692 Bug 1639195 - Part 1: Make BrowserChild::RecvLoadURL() to use the correct triggering princpal. r=ckerschb,mattwoodrow
This patch makes the triggering princpal to be propagated to the
BrowserChild when calling LoadURL in nsFrameLoader. And use it as the
triggering principal for loading instead of the system principal.

Differential Revision: https://phabricator.services.mozilla.com/D75965
2020-05-19 20:22:34 +00:00
Emilio Cobos Álvarez 58cf568b3a Bug 1588791 - Cleanup threading of OwnerShowInfo. r=mattwoodrow
Right now we do the same thing in two pretty different code paths... That's not
great, so unify them.

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

--HG--
extra : moz-landing-system : lando
2020-01-13 11:30:36 +00:00
Ciure Andrei 51c540de3d Backed out 2 changesets (bug 1588791) for causing test_bug369370.html and test_transformed_scrolling_repaints_3.html to permafail
Backed out changeset 52e661ff161d (bug 1588791)
Backed out changeset d59e691bda9e (bug 1588791)
2020-01-13 04:49:16 +02:00
Emilio Cobos Álvarez 874686801b Bug 1588791 - Cleanup threading of OwnerShowInfo. r=mattwoodrow
Right now we do the same thing in two pretty different code paths... That's not
great, so unify them.

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

--HG--
extra : moz-landing-system : lando
2020-01-12 22:22:20 +00:00
Ryan Hunt 67035334dd Bug 1556555 - Generate TabId for PBrowserBridge in content process and retain reference to it. r=nika
This lets us get the TabId for the PBrowser created via PBrowserBridge in the embedding process.

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

--HG--
extra : rebase_source : 32f4b465426e4d19e4a81df0fc67076b0132038b
extra : source : 5e938107e10ed489477d104c70e413e0c4e6091d
extra : histedit_source : 24bda5ef39697eb4ba9e691d4a3afcc5f144737b
2019-06-02 13:42:03 -04:00
Ryan Hunt ea567d2cec 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

--HG--
extra : rebase_source : 304d843d2c4a35f468aa847ee66005a932bb7eb2
extra : intermediate-source : d31b7d33efc711fb8115663f4cfc5bc98fd58d73
extra : source : 5aea122dea2120efe107c639b17678e0464b1389
2019-05-15 15:26:25 -05:00
Sylvestre Ledru d57d4905f1 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-05-25 17:46:15 +00:00
arthur.iakab af8e458c5f Backed out changeset a296439a25ff (bug 1519636) for frequent Windows cppunit failures CLOSED TREE 2019-05-24 14:26:01 +03:00
Sylvestre Ledru c82ea97226 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-05-24 09:59:17 +00:00
Ryan Hunt eb21db799b Bug 1525720, part 17 - Ignore nsIRemoteTab methods after we have destroyed the browser. r=nika
It's possible for front-end references to nsIRemoteTab to outlive the IPDL actor. When
this happens, we should ignore methods and property accesses.

The one special case is that some code expects to be able to
access the TabId after the browser has been destroyed. For this
we can just cache the ID.

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

--HG--
extra : source : 9b79caa460a01a7bdf9c27ede487de0ec642ae0b
extra : histedit_source : ec32bc78fac57f523b4c1b2aef08fddfccfbe546%2C8770eefa09a764733a09d8256ef9b3e2f04244df
2019-05-15 12:34:14 -05:00
Ryan Hunt 8768003b13 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

--HG--
extra : source : e65cb2d4c5a55e3049922df02af643337b7a58b2
2019-05-14 16:28:10 -05:00
Ryan Hunt 7073efe48d Bug 1525720, part 15 - Apply appropriate nsIRemoteTab methods to all BrowserParents. r=nika
This commit finally updates some nsIRemoteTab methods to apply
to the whole tree of BrowserParent's.

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

--HG--
extra : source : 99f971a02d87941ee49a391de0e0626c170c0821
2019-05-08 16:12:26 -05:00
Ryan Hunt 9078c825ec Bug 1525720, part 14 - Move final bits of nsIRemoteTab implementation to BrowserHost. r=nika
This commit moves the actual implementation of nsIRemoteTab from BrowserParent
to BrowserHost, without any functional changes.

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

--HG--
extra : source : d25963c72ff7981990660050182a82ea3e935f53
2019-05-08 15:47:18 -05: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 865423612a 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

--HG--
extra : source : ee10a825448133635dbd933c3d60fe427400647b
2019-05-08 11:45:23 -05:00
Ryan Hunt db53312713 Bug 1525720, part 8 - Add RemoteBrowser interface and BrowserHost/BrowserBridgeHost implementations. r=nika
RemoteBrowser is a common interface between the chrome/content process cases for nsFrameLoader,
that allows us to abstract IPC details away. BrowserHost is a concrete implementation for
the chrome process, while BrowserBridgeHost implements the content process case.

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

--HG--
extra : source : eadeacbe44838a0db21d5f535fd14bfd62455a22
2019-05-06 16:04:34 -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 1963d6e5e3 Bug 1525720, part 17 - Ignore nsIRemoteTab methods after we have destroyed the browser. r=nika
It's possible for front-end references to nsIRemoteTab to outlive the IPDL actor. When
this happens, we should ignore methods and property accesses.

The one special case is that some code expects to be able to
access the TabId after the browser has been destroyed. For this
we can just cache the ID.

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

--HG--
extra : rebase_source : 06791db921203a5dfc6cc386e420bfa0de113941
extra : histedit_source : 4617c237d14e01cdbfff66d391069bcdf2267c51
2019-05-15 12:34:14 -05:00
Ryan Hunt ae78387464 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

--HG--
extra : rebase_source : a69b461b202600f6a9421e646fb425adac60bee3
extra : histedit_source : 78f526f4aecf7172a1c9629c991dcade4585b3ce
2019-05-14 16:28:10 -05:00
Ryan Hunt 951a899e36 Bug 1525720, part 15 - Apply appropriate nsIRemoteTab methods to all BrowserParents. r=nika
This commit finally updates some nsIRemoteTab methods to apply
to the whole tree of BrowserParent's.

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

--HG--
extra : rebase_source : 902ba51c6ac3e808bb607e7ef5a0d52893a7b1b9
extra : histedit_source : 01377150da3f7acc2afe020a42bfc74e0aba3f21
2019-05-08 16:12:26 -05:00
Ryan Hunt 9b1bbaea5b Bug 1525720, part 14 - Move final bits of nsIRemoteTab implementation to BrowserHost. r=nika
This commit moves the actual implementation of nsIRemoteTab from BrowserParent
to BrowserHost, without any functional changes.

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

--HG--
extra : rebase_source : 2e6533dfa69a3278300eb70d5258bcd0a3aba68b
extra : histedit_source : a26ba68b78eb6d16cdffbc630f4410c5dd46a367
2019-05-08 15:47:18 -05: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 d7596e4b03 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

--HG--
extra : rebase_source : aa2e71aadfd9bd99cc70b5d31d50a5cf52843027
extra : histedit_source : a2e0240467df745edbbb9836797d3dc97bd1a5ff
2019-05-08 11:45:23 -05:00
Ryan Hunt f89c2fdb2e Bug 1525720, part 8 - Add RemoteBrowser interface and BrowserHost/BrowserBridgeHost implementations. r=nika
RemoteBrowser is a common interface between the chrome/content process cases for nsFrameLoader,
that allows us to abstract IPC details away. BrowserHost is a concrete implementation for
the chrome process, while BrowserBridgeHost implements the content process case.

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

--HG--
extra : rebase_source : 3518e45799a46f9bef57a36049fd7ae10f03aee6
extra : histedit_source : c8ea0b064234163284b9a161523c6bb2b6cba6c2
2019-05-06 16:04:34 -05:00