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

170 Коммитов

Автор SHA1 Сообщение Дата
Ryan Hunt 1a2ad4026e 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

--HG--
extra : source : 1bcf9f586c5582ddeb822f4c2be3ca314694337e
2019-05-06 21:29:48 -05:00
Ryan Hunt 7959d6495e 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

--HG--
extra : source : 32eeee79d628dade8109454c636d5f8aaff0c93e
2019-04-25 12:36:16 -05:00
Ryan Hunt 936683ad1d 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

--HG--
extra : source : 9a255864f75ddcf4096b6222d016a914f5a43c8a
2019-04-24 23:25:56 -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 9196bf1d7b 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

--HG--
extra : rebase_source : f3a53c733cfaee33bec4a74615f87fd636ddd22a
extra : histedit_source : 10c5071221fe61418ee7dc72668c99243f50087d
2019-05-06 21:29:48 -05:00
Ryan Hunt 1d9e574c17 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

--HG--
extra : rebase_source : a3493579481b7b79086c34486b7342783fd68070
extra : histedit_source : d4a2909d13575822d36611879d2e14211ef2cf3a
2019-04-25 12:36:16 -05:00
Ryan Hunt 5592e0d298 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

--HG--
extra : rebase_source : 7886ce8abf398d13432fa9e2ef61cedac41f52b4
extra : histedit_source : dc5404d058bac24d47459bd89d261a506a2a891b
2019-04-24 23:25:56 -05:00
Alphan Chen 2dbd18c6c8 Bug 1549973 - Force tabState flush from C++ listener before tab is closed r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D30475

--HG--
extra : moz-landing-system : lando
2019-05-22 09:06:14 +00: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
Hiroyuki Ikezoe 863f6d62eb Bug 1518919 - Propagate CSS visibility information to descendant documents via IPC call for fission. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D30460

--HG--
extra : moz-landing-system : lando
2019-05-13 01:49:07 +00:00
Masayuki Nakano 19fbb1a392 Bug 1549925 - Mark all methods of nsIDocumentStateListener as can_run_script r=m_kato
`nsIDocumentStateListener` is a scriptable interface and each method may run
any script.  So, we should mark them as `can_run_script`.  Then, we need to
mark a lot of editing methods because we need to mark
`EditorBase::EndTransactionInternal()` and `EditorBase::DoTransactionInternal()`
as `MOZ_CAN_RUN_SCRIPT`.

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

--HG--
extra : moz-landing-system : lando
2019-05-09 07:37:51 +00:00
Alphan Chen d12fbd8633 Bug 1474130 - Implement ScrollPosition/Privacy/DocCapability listeners in C++ r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D23057

--HG--
extra : moz-landing-system : lando
2019-05-04 10:42:52 +00:00
Ryan Hunt d6509bb237 Bug 1534395 - Rename TabChild to BrowserChild. r=nika
This commit renames TabChild to BrowserChild.

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

--HG--
rename : dom/base/InProcessTabChildMessageManager.cpp => dom/base/InProcessBrowserChildMessageManager.cpp
rename : dom/base/InProcessTabChildMessageManager.h => dom/base/InProcessBrowserChildMessageManager.h
rename : dom/ipc/TabChild.cpp => dom/ipc/BrowserChild.cpp
rename : dom/ipc/TabChild.h => dom/ipc/BrowserChild.h
extra : rebase_source : e7fcfb845a971a2760e73d517e24da18ce2551b5
extra : histedit_source : d1991334ccb107fe56e478865f22fd97b041a317
2019-04-09 17:39:01 -05: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 a964b8a7f2 Bug 1534395 - Rename mRemoteBrowser to mBrowserParent in nsFrameLoader. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D28131

--HG--
extra : rebase_source : f4a2805ac72f79248121591926a2d1cc06f82f0c
2019-04-08 16:23:25 -05:00
Nika Layzell bc80781e67 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

--HG--
extra : moz-landing-system : lando
2019-04-17 00:53:28 +00:00
Nika Layzell 40f91b783c 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

--HG--
extra : moz-landing-system : lando
2019-04-17 00:53:14 +00:00
Andreas Farre 29d439a983 Bug 1523636 - Create BrowsingContext in nsFrameLoader. r=nika,qdot
Differential Revision: https://phabricator.services.mozilla.com/D25039

--HG--
extra : moz-landing-system : lando
2019-04-15 15:14:54 +00:00
Masayuki Nakano 414509fe00 Bug 1543315 - part 9: Mark nsIPresShell::FlushPendingNotifications() as MOZ_CAN_RUN_SCRIPT r=smaug
So, this patch makes all caller of it safe including its arguments unless
they come from other methods.

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

--HG--
extra : moz-landing-system : lando
2019-04-13 12:43:57 +00:00
Csoregi Natalia b794b31607 Backed out changeset d76b42f0d6ca (bug 1523636) for causing bug 1543015. a=backout 2019-04-10 18:46:01 +03:00
Andreas Farre 888908c3cb Bug 1523636 - Create BrowsingContext in nsFrameLoader. r=nika,qdot
Differential Revision: https://phabricator.services.mozilla.com/D25039

--HG--
extra : moz-landing-system : lando
2019-04-08 08:21:40 +00:00
Ryan Hunt 7f35fd333c 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.

--HG--
extra : rebase_source : 06e04c2ba8ea81d996d2688a1b0064aa37f45bbc
2019-04-02 10:35:51 -04:00
Christoph Kerschbaumer 49a632b6c1 Bug 1532207: Do not query the CSP from the principal within LoadFrame, but rather do not even set the Principal if it does not override the CSP within nsContentUtils::GetAttrTriggeringPrincipal. r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D22121

--HG--
extra : moz-landing-system : lando
2019-03-14 11:39:04 +00:00
Kyle Machulis 514400e811 Bug 1522713 - Allow updating of Frameloader Remoteness via FrameLoaderOwner; r=nika
Adds a method for to nsFrameLoaderOwner destroying and rebuilding a
FrameLoader in order to facilitate a process switch. Method works
without requiring that the work be done in the frontend.

Depends on D22789

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

--HG--
extra : moz-landing-system : lando
2019-03-14 01:25:07 +00:00
Kyle Machulis 0f2bca226d Bug 1522713 - Rename mRemoteFrame to mIsRemoteFrame; r=nika
We have mRemoteFrameChild which owns a RemoteFrameChild, but
mRemoteFrame is just a state. Change to mIsRemoteFrame to reflect
this.

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

--HG--
extra : moz-landing-system : lando
2019-03-14 00:51:58 +00:00
Ryan Hunt c39b1f89d0 Bug 1532725 - Rename PRemoteFrame to PBrowserBridge. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D22132

--HG--
rename : dom/ipc/RemoteFrameChild.cpp => dom/ipc/BrowserBridgeChild.cpp
rename : dom/ipc/RemoteFrameChild.h => dom/ipc/BrowserBridgeChild.h
rename : dom/ipc/RemoteFrameParent.cpp => dom/ipc/BrowserBridgeParent.cpp
rename : dom/ipc/RemoteFrameParent.h => dom/ipc/BrowserBridgeParent.h
rename : dom/ipc/PRemoteFrame.ipdl => dom/ipc/PBrowserBridge.ipdl
extra : rebase_source : d5ca117b96c0d266041d23d80f0f4ab9b0471fb6
2019-03-04 20:15:58 -06:00
Hiroyuki Ikezoe af78a85968 Bug 1532443 - Drop clampScrollPoistion stuff. r=kats
This was introduced in bug 726817 for B2G stuff and there is no call site of
SetClampScrollPosition now and the only one entry point to call the function
was nsIFrameLoader.clampScrollPosition which was removed in
https://hg.mozilla.org/mozilla-central/rev/cd9aace7bb96 .

ScrollFrameHelper::ShouldClampScrollPosition() had always returned true in both
cases of root and non-root scrollable frames. (In the case of non-root
scrollable, nsFrameLoader.mClampScrollPosition is initially set to true and
nobody changes the value)

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

--HG--
extra : moz-landing-system : lando
2019-03-04 22:16:46 +00:00
Henri Sivonen 8d2a0bd7ac Bug 1524977 - Use RemoteFrameChild if present in nsFocusManager::GetNextTabbableContent(). r=nika
Differential Revision: https://phabricator.services.mozilla.com/D21913

--HG--
extra : moz-landing-system : lando
2019-03-05 19:33:09 +00:00
Kyle Machulis 342d109220 Bug 1529164 - Remove FakePlugin frame loading; r=nika
Remove the ability for fake plugins to create frames. Fake plugins
aren't used anymore, so we can simplify nsFrameLoader a bit by
removing some of the related checks.

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

--HG--
extra : moz-landing-system : lando
2019-02-20 14:12:05 +00:00
Kyle Machulis 2bb286e58e Bug 1524683 - Move all nsIFrameLoaderOwner references to nsFrameLoaderOwner; r=nika
Depends on D19728

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

--HG--
extra : moz-landing-system : lando
2019-02-15 22:20:53 +00:00
Ryan Hunt 2feee8e648 Bug 1500257 part 8 - Remove dependency on RenderFrame from nsDisplayRemote. r=aosmond
This commit removes the dependency on RenderFrame from nsDisplayRemote so that
it can work in child processes with remote subframes. Instead nsDisplayRemote
now works with an nsFrameLoader, which will return the LayerId from either
the RenderFrame (for top-level remote browsers), or from RemoteFrameChild
(for remote subframes).

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

--HG--
extra : source : 1e1b5cd23412a85fad19ab8ec5aacf31b3a9c9b6
extra : intermediate-source : a62c029510315d109faa9edb31216014e7c70367
extra : histedit_source : 3df246e632fbb71f731c856779e0d2201b3673a3
2019-01-23 11:07:57 -06:00
Ryan Hunt 0d69472e8b Bug 1500257 part 4 - Modify nsFrameLoader to create PRemoteFrame when enabled via pref and attribute. r=qdot
This commit hooks up nsFrameLoader in the child process to use the
PRemoteFrame protocol to support remote iframes. This is only activated
when a special pref is set, and the iframe has a marker attribute on it.

For example:
<iframe fission/>

In the future, we should unify nsFrameLoader to operate on a common
interface between the parent process top-level browser, and child
process subframe case. This commit just adds a new member that can
be used instead of mRemoteBrowser, when appropriate. IsRemoteFrame()
will return true for both cases.

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

--HG--
extra : source : e33b9de7283e5fb6441e118b25af8d4ac3411bf2
extra : intermediate-source : 697a9159e0d260118ee6ebd34948d187a8c5359f
2019-01-23 10:56:27 -06:00
Emilio Cobos Álvarez d2ed260822 Bug 1517241 - Rename nsIDocument to mozilla::dom::Document. r=smaug
Summary: Really sorry for the size of the patch. It's mostly automatic
s/nsIDocument/Document/ but I had to fix up in a bunch of places manually to
add the right namespacing and such.

Overall it's not a very interesting patch I think.

nsDocument.cpp turns into Document.cpp, nsIDocument.h into Document.h and
nsIDocumentInlines.h into DocumentInlines.h.

I also changed a bunch of nsCOMPtr usage to RefPtr, but not all of it.

While fixing up some of the bits I also removed some unneeded OwnerDoc() null
checks and such, but I didn't do anything riskier than that.
2019-01-03 17:48:33 +01:00
Peter Van der Beken 58c7fc4d20 Bug 1353867 - Change WindowProxyHolder's native type to BrowsingContext. r=bzbarsky
Make the WindowProxyHolder hold a strong reference to a BrowsingContext, as in the future
we might not have a nsPIDOMWindowOuter (if the document is loaded in a different process).

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

--HG--
extra : moz-landing-system : lando
2019-01-02 13:27:05 +00:00
Nika Layzell 554bfd2811 Bug 1500948 - Expose BrowsingContext on nsFrameLoader objects, r=farre
This should make BrowsingContext more usable by making it much easier to obtain
for a given frame or browser. BrowsingContext and nsFrameLoader should have
the same lifetime.

Differential Revision: https://phabricator.services.mozilla.com/D9395
2018-12-05 10:18:36 -05:00
Sylvestre Ledru 265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Emilio Cobos Álvarez cf56163d41 Bug 1509044 - FrameLoader.clipSubdocument is unused. r=jwatt,smaug
Plus it generally doesn't work for e10s, etc. etc.

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

--HG--
extra : moz-landing-system : lando
2018-11-21 20:06:15 +00:00
Ryan Hunt 5b463a82c1 Bug 1503655 part 11 - Rename RenderFrameParent to RenderFrame. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D11114

--HG--
rename : layout/ipc/RenderFrameParent.cpp => layout/ipc/RenderFrame.cpp
rename : layout/ipc/RenderFrameParent.h => layout/ipc/RenderFrame.h
extra : rebase_source : d47ebaef909d8705a7d5d9d2eab8ca2053f58054
extra : histedit_source : dc40313790b59161b3df86c09efb7092bcedb5d8
2018-11-06 15:35:37 -06:00
Andreas Farre 89cb220346 Bug 1480198 - Construct nsDocShell objects inside BrowsingContext. r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D7400

--HG--
extra : moz-landing-system : lando
2018-11-05 12:43:10 +00:00
Ryan Hunt 3bb8e3eca9 Bug 1475139 part 12 - Expose drawSnapshot API to <browser>. r=nika
This commit initially exposes the drawSnapshot API off of <browser>. This
is done by adding a WebIDL binding to FrameLoader and wrapping it in
browser.xml.

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

--HG--
extra : rebase_source : 9f819b13c102edf42ab2bb2466578751a7a2f647
2018-09-24 21:48:30 -05:00
Nicholas Nethercote d0be881cf4 Bug 1494244 - Remove dead code in and around nsFrameLoader methods. r=nika
This was found with the help of code coverage results.
2018-10-03 13:09:26 +10:00
Jonathan Kingston 33b8e3a7b3 Bug 1493956 - Pass an explicit triggeringPrincipal in nsFrameLoader. r=ckerschb,nika
Differential Revision: https://phabricator.services.mozilla.com/D6773

--HG--
extra : moz-landing-system : lando
2018-09-28 14:00:13 +00:00
Kris Maglione 6b594aefe4 Bug 1480244: Part 1b - Rename nsInProcessTabChildGlobal to InProcessTabChildMessageManager. r=bz
MozReview-Commit-ID: GgleVt1tXTG

--HG--
rename : dom/base/nsInProcessTabChildGlobal.cpp => dom/base/InProcessTabChildMessageManager.cpp
rename : dom/base/nsInProcessTabChildGlobal.h => dom/base/InProcessTabChildMessageManager.h
extra : rebase_source : c0a595cb31c98952e9586830c8d1cee9f9d4c62b
2018-08-10 14:08:07 -07:00
Boris Zbarsky b421d6d7fb Bug 1479569 part 1. Add a ContentFrameMessageManager getter on nsIDocShell. r=kmag 2018-08-02 23:49:09 -04:00
Csoregi Natalia 08c950712e Backed out 3 changesets (bug 1479569) for devtools/client/responsive.html failures. CLOSED TREE
Backed out changeset e123d0aa911c (bug 1479569)
Backed out changeset b828a58404e5 (bug 1479569)
Backed out changeset 97041ef8f311 (bug 1479569)
2018-08-03 10:39:12 +03:00
Boris Zbarsky 0bfdfe4699 Bug 1479569 part 1. Add a ContentFrameMessageManager getter on nsIDocShell. r=kmag 2018-08-02 23:49:09 -04:00
Andi-Bogdan Postelnicu 88cc63910d Bug 1453795 - DOM - Initialize member fields in classes/ structures. r=peterv
--HG--
extra : rebase_source : 249fc26e50bded4e94f5effa4308af0f1e54b908
2018-06-16 17:21:46 +03:00