Commit Graph

714625 Commits

Author SHA1 Message Date
Lee Salzman
6221028051 Bug 1646835 - refactor RenderCompositorOGL into RenderCompositorNative. r=mstange
RenderCompositorOGL currently has many responsibilities including supporting
OpenGL compositor for Linux, whole-window compositing for Mac NativeLayerCA,
and per-cache-tile compositing for Mac NativeLayerCA. With the addition of
support for SWGL, this becomes even further complicated.

It becomes advantageous to separate out RenderCompositorOGL specifically as
only the basic OpenGL compositing case, as that naturally yields a simple and
isolated RenderCompositor.

What is left over becomes RenderCompositorNative, a basis for implementing
NativeLayer-based RenderCompositors. To cleanly isolate state and details of
when HW compositing or SW compositing is being used, these are further split
off into RCNativeOGL and RCNativeSWGL versions that deal with specific
isolated details of OpenGL and SWGL respectively.

RCNativeOGL deals with just setting up OpenGL FBOs for NativeLayers.

RCNativeSWGL's new task is just to deal mapping NativeLayers and providing
SWGL FBOs for them without involving OpenGL.

Differential Revision: https://phabricator.services.mozilla.com/D80270
2020-06-23 23:54:24 +00:00
Lee Salzman
d879c564d6 Bug 1646835 - add MapTile/UnmapTile hooks to the WR compositor. r=mstange
RenderCompositors for SWGL that wish to provide accelerated compositing need to
subvert the existing Bind/Unbind hooks in the WR compositor. These compositors
need to keep track of their HW tiles without actually binding an OpenGL FBO
for WR to render picture cache tiles. SWGL needs to intervene and get a backing
buffer for tile from the RenderCompositor so that it can create a SWGL FBO for
WR to render the picture cache tile to.

To that end, this adds MapTile/UnmapTile as a replacement for Bind/Unbind for
those scenarios. This is done in a way that it affects only the WrCompositor of
webrender_bindings without actually altering WR's Compositor interface. This is
beneficial because WR does not have to understand the details of SWGL
integration and also so as not to complicate other users of WR such as Servo
who are not currently utilizing SWGL at all.

RenderCompositorOGL is initially modified to use these hooks in this patch. It
later became more convenient to restructure that in a follow-up patch.

Differential Revision: https://phabricator.services.mozilla.com/D80269
2020-06-23 23:55:11 +00:00
Lee Salzman
a8bc86a552 Bug 1646835 - implement basic SWGL compositor. r=jrmuizel
This is a first implementation of a software-only SWGL RenderCompositor
that relies on the existing widget hooks for Basic compositing. It attempts
to lock the widget and get a DT whose underlying data it can supply directly
to SWGL to composite to. Critically, it does not rely on OpenGL or any other
form of HW accel to function. The interface between the RenderCompositor and
SWGL will be further refined in follow-up patches.

Differential Revision: https://phabricator.services.mozilla.com/D80268
2020-06-24 00:53:39 +00:00
Lee Salzman
62ba932186 Bug 1646835 - allow specifying backing data and stride for SWGL default framebuffer. r=jimb
For performance reasons in SWGL software compositors. to avoid unnecessary
full-screen copies of the framembuffer, we need to allow those compositors to
map their underlying widget surfaces and pass that buffer to SWGL so that they
can be directly rendered to. That also requires supporting custom strides, as
we can't always enforce the particular layout of the buffers handed off to us.
To that end, InitDefaultFramebuffer is generalized to take such information
and then many places where we rely on a specific hard-coded SWGL-calculated
stride have been altered to deal with a caller-supplied stride.

Differential Revision: https://phabricator.services.mozilla.com/D80267
2020-06-23 01:44:00 +00:00
Razvan Maries
15c6376141 Backed out changeset 3a956cf3b8d3 (bug 1645416) for build bustages on MPSCQueue.h. CLOSED TREE 2020-06-24 15:31:34 +03:00
Andrea Marchesini
88086d4c44 Bug 1645588 -/fetch/http-cache/split-cache.tentative.html requires network-state isolation on, r=michal
Differential Revision: https://phabricator.services.mozilla.com/D80867
2020-06-24 12:48:31 +00:00
Paul Adenot
1a80554253 Bug 1645416 - Fix the TracePayload layout on 32bits and re-enable the static assert that check the struct has a size that is a power of two. r=achronop
Differential Revision: https://phabricator.services.mozilla.com/D80696
2020-06-24 12:05:04 +00:00
Corentin Arnould
76419cd0d4 Bug 1618225 - Added wpt test for loop with duration r=padenot
Silenced the mochitest

Differential Revision: https://phabricator.services.mozilla.com/D79875
2020-06-24 12:00:18 +00:00
Corentin Arnould
2ef567c825 Bug 1618225 - Updated mochitest for loop with duration r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D79874
2020-06-24 12:00:11 +00:00
Corentin Arnould
d3cc80aa8c Bug 1618225 - Set stop time when using loop with duration. r=padenot
The AudioBufferSourceNode can now be looping and stop after duration.

Differential Revision: https://phabricator.services.mozilla.com/D79873
2020-06-24 11:59:53 +00:00
Mihai Alexandru Michis
c509eace0d Backed out changeset 461c861e1190 (bug 1633710) for causing failures in /browser_cookiePermission*.js
CLOSED TREE
2020-06-24 14:50:00 +03:00
Jason Orendorff
7eb9e6c8e0 Bug 1647066 - Fix interfaces tests for shipping AggregateError to beta. r=jwalden.
Differential Revision: https://phabricator.services.mozilla.com/D80755
2020-06-24 00:52:46 +00:00
VandanRogheliya
1979f2279c Bug 1645197 - Type pageload added to browsertime visualmetrics data. r=sparky
Differential Revision: https://phabricator.services.mozilla.com/D80647
2020-06-24 11:12:15 +00:00
Florian Quèze
0a6859916e Bug 1647238 - Replace Services.profiler.AddMarker with ChromeUtils.addProfilerMarker in browser/, r=Gijs.
Depends on D80651

Differential Revision: https://phabricator.services.mozilla.com/D80652
2020-06-23 13:44:48 +00:00
Florian Quèze
5bf701d122 Bug 1647704 - Add profiler markers for Telemetry Stopwatch, r=chutten.
Differential Revision: https://phabricator.services.mozilla.com/D80651
2020-06-23 20:24:59 +00:00
Gijs Kruitbosch
5dd1896056 Bug 1647727 - make SelectParent find ZoomManager on the top window (fix dropdowns in add-on manager), r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D80837
2020-06-24 10:41:40 +00:00
Razvan Maries
592b80d333 Backed out changeset 7ff5210dae5e (bug 1645896) for build bustages. CLOSED TREE 2020-06-24 13:39:43 +03:00
longsonr
0a29054e26 Bug 1647101 - Move SVGTextFrame SVGViewFrame SVGFEContainerFrame SVGFEImageFrame SVGFELeafFrame SVGFEUnstyledLeafFrame into the mozilla namespace r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D80383
2020-06-23 22:59:34 +00:00
Tom Schuster
366e3067b4 Bug 1647895 - Remove inputType from MTypeof. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D80746
2020-06-24 08:12:22 +00:00
Emilio Cobos Álvarez
45dcbc2d5c Bug 1645987 - Isolate sheet cache by partitioned principal. r=baku
Differential Revision: https://phabricator.services.mozilla.com/D80678
2020-06-24 06:47:38 +00:00
Razvan Maries
c54f50f342 Backed out changeset a10fc7b299ff (bug 1614969) for build bustages on nsContentSecurityUtils.cpp. CLOSED TREE 2020-06-24 13:23:02 +03:00
Valentin Gosu
63042412c1 Bug 1647638 - Fix static-analysis warnings in nsStandardURL r=mayhemer,necko-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D80624
2020-06-24 10:18:49 +00:00
Valentin Gosu
e956550085 Bug 1647638 - Add nsStandardURL assertions r=mayhemer,necko-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D80600
2020-06-24 10:12:15 +00:00
Nihanth Subramanya
6be693b933 Bug 1645896 - Add a console log origins that have their cookies partitioned by dFPI. r=timhuang
Differential Revision: https://phabricator.services.mozilla.com/D80675
2020-06-24 10:11:45 +00:00
Sebastian Streich
a9516ee4f5 Bug 1614969 - Check download with MixedContentBlocker r=ckerschb
Differential Revision: https://phabricator.services.mozilla.com/D73302
2020-06-24 09:54:50 +00:00
Sebastian Streich
77655c5463 Bug 1633710 - principal.URI in Sanitizer.jsm r=ckerschb,johannh
Differential Revision: https://phabricator.services.mozilla.com/D75801
2020-06-24 09:58:10 +00:00
Nicolas Chevobbe
efe9743fe7 Bug 1495728 - Remove unused ActorPool class. r=ochameau.
This class isn't used anymore, and it's safe to remove it.
We take this as an opportunity to remove Pool#cleanup and
Pool#isEmpty, which each only had one callsite.
Some comments are updated to not mention ActorPool.

Differential Revision: https://phabricator.services.mozilla.com/D80602
2020-06-24 07:39:06 +00:00
Nicolas Chevobbe
a67f596fa2 Bug 1621713 - Don't create extra ActorPools in devtools/server. r=jdescottes.
Remove pools and make target actors manage themselves.
devtools/server/tests/browser/browser_navigateEvents.js was modified
since the targetActor can't be retrieved with `searchAllConnectionsForActor`
anymore.

Differential Revision: https://phabricator.services.mozilla.com/D67510
2020-06-24 07:38:09 +00:00
Michael Weghorn
1b52f1f63a Bug 1646499 - Fix GTK_USE_PORTAL env variable evaluation. r=stransky
While the comment for 'GetFlatpakPortalEnv' said
"We use the same code as gtk_should_use_portal() to detect
if we're in flatpak env", this was not actually true, since the
code only checked whether the environment variable 'GTK_USE_PORTAL'
was set at all, ignoring its value, while the gtk implementation
checks that it is set and that the first character is '1'
(which was already true in the gtk as of the commit that the
comment refers to, [1]).

Adapt it to check for the actual value here, according to what
is also done at [2], so that setting 'GTK_USE_PORTAL=0' or
'GTK_USE_PORTAL=1' in the environment works as expected.

I ran into this while looking at why bug 1517074 still occured
with the native file chooser presumably having been disabled by
starting Firefox using

    GTK_USE_PORTAL=0 firefox

with gtk 3.24.20 that does not yet have the fix for gtk issue [3].

[1] e0ce028c88/gtk/gtkprivate.c (L272)
[2] https://searchfox.org/mozilla-central/rev/37932bfc600f97ec923464086dc12cdaa72aefde/widget/gtk/nsFilePicker.cpp#608
[3] https://gitlab.gnome.org/GNOME/gtk/-/issues/1820

Differential Revision: https://phabricator.services.mozilla.com/D80073
2020-06-24 08:06:00 +00:00
Martin Stransky
f2821c99e1 Bug 1645776 [Linux/Gtk] Check XWindow id for XGetWindowProperty(), r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D80827
2020-06-24 09:09:07 +00:00
James Teh
a047283d38 Bug 1647666: test_doc_busy.html: Handle the case where we get a load event for about:blank before the download prompt itself. r=MarcoZ
Differential Revision: https://phabricator.services.mozilla.com/D80828
2020-06-24 09:30:14 +00:00
Jan de Mooij
31af427a90 Bug 1646302 - Only create a template object if prototype is an object in getTemplateObjectForScripted. r=evilpie
Differential Revision: https://phabricator.services.mozilla.com/D80595
2020-06-23 10:11:10 +00:00
Nihanth Subramanya
62a1db641a Bug 1630093 - Don't run heuristics until internet connectivity has been established. r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D80809
2020-06-24 09:13:28 +00:00
Nicolas Silva
c5e5e1cbac Bug 1647742 - Move the prepare pass out of prim_store/mod.rs. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D80692
2020-06-24 09:04:09 +00:00
Nicolas Silva
60ac872184 Bug 1647742 - Move the visibility pass out of prim_store/mod.rs. r=gw
Differential Revision: https://phabricator.services.mozilla.com/D80693
2020-06-24 09:03:08 +00:00
Nicolas Silva
0e4d3e634f Bug 1647299 - Store a single array of primitives per prim list instead of per-cluster. r=gw
After this change, clusters just keep a range of indices in the prim list's instance array.

Differential Revision: https://phabricator.services.mozilla.com/D80461
2020-06-24 09:02:50 +00:00
Florin Strugariu
f1924e25d7 Bug 1647230 - Don't alert on build metrics that have sccache enabled r=rstewart,davehunt
Differential Revision: https://phabricator.services.mozilla.com/D80427
2020-06-23 16:19:59 +00:00
Masayuki Nakano
a240090dfd Bug 1646325 - part 4: Make WSRunScanner create WSFragment when it's needed r=m_kato
In most methods of `WSRunScanner`, `WSFragment`s are never used.  Therefore,
this patch makes them created when they are necessary.

Depends on D80315

Differential Revision: https://phabricator.services.mozilla.com/D80638
2020-06-24 08:37:26 +00:00
Yoshi Cheng-Hao Huang
116f13bd23 Bug 1644111 : Remove isEnabled() check. r=jonco
As we have bail out early if !isEnabled()
https://searchfox.org/mozilla-central/rev/5e6c7717255ca9638b2856c2b2058919aec1d21d/js/src/gc/Nursery.cpp#965

Differential Revision: https://phabricator.services.mozilla.com/D80282
2020-06-22 09:49:54 +00:00
Yoshi Cheng-Hao Huang
7eb496c2fe Bug 1644111 : Don't send promotionRate and pretenureCount telemetry if nursery was empty. r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D80281
2020-06-23 15:09:11 +00:00
Liang-Heng Chen
5d3f7207b6 Bug 1628486 - Enable Dynamic First-Party Isolation in Nightly; r=ewright
Differential Revision: https://phabricator.services.mozilla.com/D71941
2020-06-24 08:36:17 +00:00
Jean-Yves Avenard
a63e132e24 Bug 1647976 - Remove stray file. r=jgilbert
File was restored following a conflict while rebasing bug 1637500 - P2

Differential Revision: https://phabricator.services.mozilla.com/D80812
2020-06-24 07:23:03 +00:00
Adam Roach [:abr]
097e139422 Bug 1642059: Fix tracking of pending fill when triggered for other section r=zbraniecki
Differential Revision: https://phabricator.services.mozilla.com/D80794
2020-06-24 05:50:59 +00:00
Makoto Kato
0f09630e38 Bug 1599340 - Remote mochitest should consider host's suffix for ssltunnel. r=gbrown
Differential Revision: https://phabricator.services.mozilla.com/D80588
2020-06-24 04:46:38 +00:00
alwu
2c3533116e Bug 1642715 - part7 : add test. r=chunmin
Differential Revision: https://phabricator.services.mozilla.com/D79786
2020-06-24 00:46:51 +00:00
alwu
4f5d63572f Bug 1642715 - part6 : notify change for fullscreen and picture-in-picture. r=chunmin
This patch would
- introduce new methods `SetEnableFullScreen()` and `SetEnablePictureInPictureMode()` on `MediaControlKeySource`
- notify the change of enabling/disabling the fullscreen and picture-in-picture mode to `MediaControlKeySource`

The advantage of doing this is
- to allow the key source to do corresponding operations when media enters/leaves the fullscreen/picture-in-picture
eg. GeckoView would use them to implement its API, `onFullscreen()` and `onPictureInPicture()`

Differential Revision: https://phabricator.services.mozilla.com/D79785
2020-06-24 05:54:03 +00:00
alwu
d72eadc6eb Bug 1642715 - part5 : activate a controller when its media enters fullscreen or picture-in-picture mode. r=chunmin
This patch would
- active the controller when it enters fullscreen or picture-in-picture mode

The advantage of doing this is
- allow to control media even if media doesn't start

Differential Revision: https://phabricator.services.mozilla.com/D79766
2020-06-24 05:53:36 +00:00
alwu
1c96a4a7d4 Bug 1642715 - part4 : notify media controller when media enters/leaves fullscreen. r=chunmin,smaug
This patch would
- notify media controller when media enters/leaves fullscreen

The advantage of doing this is
- prework of being able to control media when media enters fullscreen

Differential Revision: https://phabricator.services.mozilla.com/D79765
2020-06-24 05:53:08 +00:00
alwu
b83eca9ce8 Bug 1642715 - part3 : prevent controlling inactive controller. r=chunmin
This patch would
- stop notifying media key to media in content process is the controller is inactive

The advantage of doing this is
- to prevent unexpectedly controlling an inactive controller

Differential Revision: https://phabricator.services.mozilla.com/D79235
2020-06-24 05:52:40 +00:00
alwu
84619e1b6b Bug 1642715 - part2 : connect media to media controller after knowing its duration. r=chunmin
This patch would
- build the relationship between a media element and the media controller when media finishes loading, instead of building that after starting playing media

The advantage of doing this is
- the prework of being able to control media before media starts playing

Differential Revision: https://phabricator.services.mozilla.com/D79234
2020-06-24 05:52:33 +00:00