Commit Graph

129 Commits

Author SHA1 Message Date
Ciure Andrei
f4b3bef121 Backed out changeset 70f93c9956fc (bug 1581855) for Windows MinGW build bustages CLOSED TREE 2019-09-26 06:42:46 +03:00
thomasmo
f054c8db61 Bug 1581855:Part 2 - Present VR output to VR Host r=kip,jrmuizel,sotaro,bryce
This change is a continuation of Part 1 (Bug 1570128), where the 2D content rendered by Firefox for Firefox Reality on Desktop is marshalled through VRHost so that it can be presented in a VR environment.
A new class, FxrOutputHandler, is created to manage creating a sharable texture, sharing it through VRShMem, and updating it when content updates. This class updates content with both WebRender and conventional rendering output.
This initial iteration of FxrOutputHandler does not have synchronization between reading and writing this shared texture across processes. A subsequent fix (Bug 1581881) is pending, which will reuse WebVR code to manage writing to and reading from a pool of textures.
This also presents issues with rendering protected media, so an additional class, FxrWindowManager, is created to manage all windows created for Firefox Reality on Desktop so that it can inform whether or not protected media can be presented.
The automated manual tests in vrhosttest.cpp now show the real shared texture handle rather than a fake value, which shows that marshaling succeeded.

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

--HG--
extra : moz-landing-system : lando
2019-09-26 01:18:58 +00:00
Emilio Cobos Álvarez
2e05768081 Bug 1578379 - Make pageshow / pagehide during frame loader swaps not mess with document visibility. r=bzbarsky
Also while doing it:

 * Ensure activity observers get notified after visibility is computed already.
This is how we notify all other activity observers already, and we are
double-notifying in the case we actually get a page show _and_ a visibility
change, but this is a pre-existing problem.

 * Remove special-cases for InFrameSwap() from MediaRecorder. Now that pagehide
doesn't mess up with our visibility state the regular check just works. I
ensured I didn't regress bug 1444541.

 * Had to fix a UITour test that relied on the visibility changing back and
forth for the detached tab. It seems there's no real place in UITour that
listens to that event so we should be good.

 * Added tests, verifying that they both fail without the patch.

After this we can remove nsDocShell::InFrameSwap(), as the only caller is the
assertion, but I wanted to keep it regardless, at least for now, until this
patch has been in for a bit.

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

--HG--
extra : moz-landing-system : lando
2019-09-23 10:16:44 +00:00
Bogdan Tara
8675cadd18 Backed out changeset d984fd004e7e (bug 1578379) for ES lint failure on browser_tab_replace_while_loading.js CLOSED TREE 2019-09-23 13:00:56 +03:00
Emilio Cobos Álvarez
10fa3b178f Bug 1578379 - Make pageshow / pagehide during frame loader swaps not mess with document visibility. r=bzbarsky
Also while doing it:

 * Ensure activity observers get notified after visibility is computed already.
This is how we notify all other activity observers already, and we are
double-notifying in the case we actually get a page show _and_ a visibility
change, but this is a pre-existing problem.

 * Remove special-cases for InFrameSwap() from MediaRecorder. Now that pagehide
doesn't mess up with our visibility state the regular check just works. I
ensured I didn't regress bug 1444541.

 * Had to fix a UITour test that relied on the visibility changing back and
forth for the detached tab. It seems there's no real place in UITour that
listens to that event so we should be good.

 * Added tests, verifying that they both fail without the patch.

After this we can remove nsDocShell::InFrameSwap(), as the only caller is the
assertion, but I wanted to keep it regardless, at least for now, until this
patch has been in for a bit.

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

--HG--
extra : moz-landing-system : lando
2019-09-23 09:36:59 +00:00
Agi Sferro
731917effd Bug 1570115 - Allow Actors to implement WebBrowserChrome. r=kmag,snorp
Differential Revision: https://phabricator.services.mozilla.com/D44052

--HG--
extra : moz-landing-system : lando
2019-09-20 18:15:18 +00:00
Hiroyuki Ikezoe
f61192f0f0 Bug 1541705 - Notify areas of out-of-process subframes from the compositor to the corresponding process. r=botond
Note that the areas are clipped out by all ancestor scroll ports and
their coordinate systems are the screen coordinate.  So that we can tell
arbitrary elements in out-of-process iframes are scrolled out or not with
this area and the transform matrix of the iframe on screen coodinate.

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

--HG--
extra : moz-landing-system : lando
2019-09-12 08:08:45 +00:00
Alphan Chen
cc2cf9eb99 Bug 1578296 - TabListener is only for contentSessionStore on FF desktop r=peterv
Don't need TabListener on Thunderbird

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

--HG--
extra : moz-landing-system : lando
2019-09-09 13:49:27 +00:00
Kris Maglione
e561c0f595 Bug 1542415: Part 2 - Treat in-flight messages from incorrect owner as warnings. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D44736

--HG--
extra : moz-landing-system : lando
2019-09-09 11:50:35 +00:00
Alphan Chen
9fceaaa7ff Bug 1549975 - Implement SessionStorageListener for contentSessionStore in C++ r=peterv,mikedeboer
Differential Revision: https://phabricator.services.mozilla.com/D36493

--HG--
extra : moz-landing-system : lando
2019-08-27 14:47:27 +00:00
Barret Rennie
6e865b7b87 Bug 1510569 - Use nsIPrincipal and nsIContentSecurityPolicy in WebProgressLocationChangeData directly r=nika
Now that there is an {IPDL}ParamTraits implementation for nsIPrincipal* and
nsIContentSecurityPolicy*, we need not manually transform it to/from a
PrincipalInfo/CSPInfo ourselves.

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

--HG--
extra : moz-landing-system : lando
2019-08-28 18:56:44 +00:00
Barret Rennie
3844e69d02 Bug 1510569 - Add nsIWebProgressListener2 to BrowserChild's interface map r=Ehsan
The members of nsIWebProgressListener2 were added to BrowserChild (then
TabChild) in commit 1028814583232487b52b9c20d47e3b38dc1c288a, but the interface
was never added to the interface map.

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

--HG--
extra : moz-landing-system : lando
2019-08-28 18:56:02 +00:00
Barret Rennie
c48dcf7d7c Bug 1510569 - Port onSecurityChange from WebProgressChild.jsm to C++; remove WebProgressChild r=Ehsan,ochameau
This is the last message that WebProgressChild was sending to the
RemoteWebProgress in the parent process, so we can remove the module entirely.

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

--HG--
extra : moz-landing-system : lando
2019-08-28 18:55:45 +00:00
Dorel Luca
b09fe526aa Backed out 4 changesets (bug 1510569) for build bustage. CLOSED TREE
Backed out changeset d7db6a1935ce (bug 1510569)
Backed out changeset 03b7cf756a7f (bug 1510569)
Backed out changeset fa318eec0e76 (bug 1510569)
Backed out changeset cecb17bd8c03 (bug 1510569)
2019-08-28 21:46:40 +03:00
Barret Rennie
697c695a3c Bug 1510569 - Use nsIPrincipal and nsIContentSecurityPolicy in WebProgressLocationChangeData directly r=nika
Now that there is an {IPDL}ParamTraits implementation for nsIPrincipal* and
nsIContentSecurityPolicy*, we need not manually transform it to/form a
PrincipalInfo/CSPInfo ourselves.

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

--HG--
extra : moz-landing-system : lando
2019-08-28 18:00:36 +00:00
Barret Rennie
d60f7b37a8 Bug 1510569 - Add nsIWebProgressListener2 to BrowserChild's interface map r=Ehsan
The members of nsIWebProgressListener2 were added to BrowserChild (then
TabChild) in commit 1028814583232487b52b9c20d47e3b38dc1c288a, but the interface
was never added to the interface map.

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

--HG--
extra : moz-landing-system : lando
2019-08-28 18:00:27 +00:00
Barret Rennie
e0d50ea7ce Bug 1510569 - Port onSecurityChange from WebProgressChild.jsm to C++; remove WebProgressChild r=Ehsan,ochameau
This is the last message that WebProgressChild was sending to the
RemoteWebProgress in the parent process, so we can remove the module entirely.

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

--HG--
extra : moz-landing-system : lando
2019-08-28 18:00:23 +00:00
Ehsan Akhgari
ba7fe6ea70 Bug 1556015 - Retrieve the content blocking log using an IPC stream in order to support logs of arbitrary sizes; r=baku
Differential Revision: https://phabricator.services.mozilla.com/D42959

--HG--
extra : moz-landing-system : lando
2019-08-22 17:17:34 +00:00
Oana Pop Rus
3223cd3dc2 Backed out 4 changesets (bug 1510569) for causing build bustage on a CLOSED TREE
Backed out changeset eae555c11f25 (bug 1510569)
Backed out changeset 2fb8938d16db (bug 1510569)
Backed out changeset b480af862022 (bug 1510569)
Backed out changeset 642cd6323cdc (bug 1510569)
2019-08-21 22:55:43 +03:00
Barret Rennie
d8feee727d Bug 1510569 - Use nsIPrincipal and nsIContentSecurityPolicy in WebProgressLocationChangeData directly r=nika
Now that there is an {IPDL}ParamTraits implementation for nsIPrincipal* and
nsIContentSecurityPolicy*, we need not manually transform it to/form a
PrincipalInfo/CSPInfo ourselves.

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

--HG--
extra : moz-landing-system : lando
2019-08-21 18:26:08 +00:00
Barret Rennie
015c35ed0d Bug 1510569 - Add nsIWebProgressListener2 to BrowserChild's interface map r=Ehsan
The members of nsIWebProgressListener2 were added to BrowserChild (then
TabChild) in commit 1028814583232487b52b9c20d47e3b38dc1c288a, but the interface
was never added to the interface map.

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

--HG--
extra : moz-landing-system : lando
2019-08-21 18:25:11 +00:00
Barret Rennie
52899c1e0d Bug 1510569 - Port onSecurityChange from WebProgressChild.jsm to C++; remove WebProgressChild r=Ehsan,ochameau
This is the last message that WebProgressChild was sending to the
RemoteWebProgress in the parent process, so we can remove the module entirely.

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

--HG--
extra : moz-landing-system : lando
2019-08-21 18:25:04 +00:00
Botond Ballo
629b3580ff Bug 1565525 - Modify MatrixMessage to carry a Maybe<Matrix>, so that a transform can be cleared by sending Nothing. r=hsivonen
Depends on D42564

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

--HG--
extra : moz-landing-system : lando
2019-08-20 06:37:05 +00:00
Sebastian Streich
db893cf0d7 Bug 1561056 - Pass CSP on Link-drop r=ckerschb,Gijs,farre
***
Fix linux build

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

--HG--
extra : moz-landing-system : lando
2019-08-20 12:43:02 +00:00
Ehsan Akhgari
e06a6e7ca6 Bug 1572240 - Part 2: Introduce nsIBrowser.contentBlockingAllowListPrincipal; r=baku
This patch also includes some spot fixes for the storage principal
support on the XUL browser element.

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

--HG--
extra : moz-landing-system : lando
2019-08-19 14:38:34 +00:00
Daniel Varga
95ce40b8d4 Backed out changeset a7ac9f64f6ea (bug 1561056) for build bustage at widget/gtk/nsDragService. On a CLOSED TREE 2019-08-16 09:30:39 +03:00
Sebastian Streich
c051155f99 Bug 1561056 - Pass CSP on Link-drop r=ckerschb,Gijs,farre
Differential Revision: https://phabricator.services.mozilla.com/D37563

--HG--
extra : moz-landing-system : lando
2019-08-15 18:44:00 +00:00
Nika Layzell
57067bd337 Bug 1570369 - Part 1: Use IPDL refcounted for PWindowGlobal, r=farre
Differential Revision: https://phabricator.services.mozilla.com/D40252

--HG--
extra : moz-landing-system : lando
2019-08-08 16:46:20 +00:00
Nika Layzell
143941e2d4 Bug 1523638 - Part 9: Use provided 'WindowGlobalChild' actors to create the initial about:blank document, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D37656

--HG--
extra : moz-landing-system : lando
2019-08-08 16:07:12 +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
Kris Maglione
64c062d570 Bug 1570773: Move browsingContext getter to nsIDocShellTreeItem and add notxpcom variant. r=nika
This also renames the existing infallible nsDocShell:GetBrowsingContext()
getter to BrowsingContextRef(), and changes the return type, since several
callers rely on it returning a raw pointer rather than an already_AddRefed.

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

--HG--
extra : moz-landing-system : lando
2019-08-07 16:59:30 +00:00
Kris Maglione
c01ad83372 Bug 1571502: Don't leak TabGroups which have never had windows joined to them. r=nika
Currently, TabGroups know to break their reference cycles only when the last
window leaves them. For TabGroups which have never had a window join (which
happens under Fission), this means they also never see a window leave, and
therefore never break their reference cycles, and leak.

This patch adds a check to break reference cycles if no windows have joined by
the time a BrowserChild they belong to is destroyed.

MANUAL PUSH: Lando fails to rebase.

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

--HG--
extra : source : 03acb28ab60fb77fa06064385a62cc46cf4ad1bd
extra : amend_source : 0a71625d99951bebe45ee6f62570de491a714e97
2019-08-02 18:19:53 -07:00
Kris Maglione
22592538f5 Bug 1561015: Part 1 - Use BrowsingContext in window provider APIs. r=bzbarsky,mossop
This is the first step in making it possible to return remote WindowProxy
objects from window.open() and related APIs.

This patch also incidentally fixes a bug where getContentWindowOrOpenURI
returned the top-level browser window rather than the new content window when
passed OPEN_NEWWINDOW for the `aWhere` parameter. This was not the expected
behavior, and was a potentially major footgun for any new users who expected
to always get the content window for the URL they were loading, rather than
sometimes getting a chrome browser window instead.

For now, that case just returns null, which is only a minor footgun, rather
than the major one we had before.

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

--HG--
extra : moz-landing-system : lando
2019-08-02 20:48:33 +00:00
Alphan Chen
efa34c0a06 Bug 1544371 - Implement FormDataListener for contentSessionStore in C++ r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D30078

--HG--
extra : moz-landing-system : lando
2019-08-02 14:19:00 +00:00
Emilio Cobos Álvarez
9c34445fce Bug 1568051 - Don't paint during interrupt callbacks if it's not safe to run script. r=bzbarsky
So that paint doesn't reenter on layout, or mess with incomplete frame trees, or
what not.

I just early-returned rather than only skipping the PaintWhileInterruptingJS
call because I don't think we should be running untrusted scripts in the first
place when IsSafeToRunScript() is false.

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

--HG--
extra : moz-landing-system : lando
2019-07-31 10:29:32 +00:00
Nika Layzell
a4f8f4db51 Bug 1550560 - Part 5: Remove unnecessary Alloc method for PBrowserBridge, r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D39536

--HG--
extra : moz-landing-system : lando
2019-07-29 19:54:21 +00:00
Nika Layzell
2698092f32 Bug 1550560 - Part 3: Make BrowserBridgeParent refcounted in IPDL, r=mccr8
This is an example refcounted actor which was easy enough to port over as an
initial test. More can be ported in the future, potentially alongside removing
`mIPCOpen`.

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

--HG--
extra : moz-landing-system : lando
2019-07-29 19:54:18 +00:00
James Willcox
bc13c95548 Bug 1561079 - Add referrerInfo to <browser> r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D36525

--HG--
extra : moz-landing-system : lando
2019-07-29 15:34:30 +00:00
Nicholas Nethercote
18fae65f38 Bug 1563139 - Remove StaticPrefs.h. r=glandium
This requires replacing inclusions of it with inclusions of more specific prefs
files.

The exception is that StaticPrefsAll.h, which is equivalent to StaticPrefs.h,
and is used in `Codegen.py` because doing something smarter is tricky and
suitable for a follow-up. As a result, any change to StaticPrefList.yaml will
still trigger recompilation of all the generated DOM bindings files, but that's
still a big improvement over trigger recompilation of every file that uses
static prefs.

Most of the changes in this commit are very boring. The only changes that are
not boring are modules/libpref/*, Codegen.py, and ServoBindings.toml.

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

--HG--
extra : moz-landing-system : lando
2019-07-26 01:10:23 +00:00
Coroiu Cristina
075c52994f Backed out 4 changesets (bug 1561079, bug 1561913) for mochitest failures at dom/base/test/test_bug375314.html on a CLOSED TREE
Backed out changeset 0d1eaf86253f (bug 1561913)
Backed out changeset 1d1be67a5950 (bug 1561079)
Backed out changeset 528a46ffe2af (bug 1561079)
Backed out changeset f562e67e38cf (bug 1561079)
2019-07-24 20:56:30 +03:00
James Willcox
212e5673e3 Bug 1561079 - Add referrerInfo to <browser> r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D36525

--HG--
extra : moz-landing-system : lando
2019-07-24 16:33:47 +00:00
Bogdan Tara
e82c5fe738 Backed out 4 changesets (bug 1561079, bug 1561913) for apilint and checkstyle failures CLOSED TREE
Backed out changeset 50244d8132f9 (bug 1561913)
Backed out changeset 9abb44cca93b (bug 1561079)
Backed out changeset e6e23c902808 (bug 1561079)
Backed out changeset e48cf42b707f (bug 1561079)
2019-07-24 19:23:44 +03:00
James Willcox
a7171dad07 Bug 1561079 - Add referrerInfo to <browser> r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D36525

--HG--
extra : moz-landing-system : lando
2019-07-24 15:47:55 +00:00
Bogdan Tara
c230c12dae Backed out 2 changesets (bug 1561079) foe ES lint failure on browser-custom-element.js CLOSED TREE
Backed out changeset 74cd5c0338ee (bug 1561079)
Backed out changeset adbc4ea67da9 (bug 1561079)
2019-07-24 18:31:15 +03:00
James Willcox
0a734ca6ba Bug 1561079 - Add referrerInfo to <browser> r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D36525

--HG--
extra : moz-landing-system : lando
2019-07-24 14:53:19 +00:00
Alphan Chen
bb06ecd152 Bug 1567057 - TabListener is only for contentSessionStore on desktop r=peterv
Don't need TabListener on geckoview

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

--HG--
extra : moz-landing-system : lando
2019-07-24 08:05:55 +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
83236ff0f4 Bug 1523638 - Part 9: Use provided 'WindowGlobalChild' actors to create the initial about:blank document, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D37656

--HG--
extra : moz-landing-system : lando
2019-07-18 19:38:22 +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
Bogdan Tara
ca45889546 Backed out 9 changesets (bug 1523638) for browser_contextmenu.js failures CLOSED TREE
Backed out changeset 0a584a07b696 (bug 1523638)
Backed out changeset 8c5af2289900 (bug 1523638)
Backed out changeset 40ed1bd64b09 (bug 1523638)
Backed out changeset 9a99a0391979 (bug 1523638)
Backed out changeset 07fb4748b91a (bug 1523638)
Backed out changeset 49047c3ebae9 (bug 1523638)
Backed out changeset d606d072126c (bug 1523638)
Backed out changeset 76dc1937fc77 (bug 1523638)
Backed out changeset c784c14b5d5d (bug 1523638)
2019-07-16 23:40:47 +03:00