Commit Graph

7923 Commits

Author SHA1 Message Date
Michael Froman
1a75356195 Bug 1514874 - start RDD process on-demand r=jya,jld
Differential Revision: https://phabricator.services.mozilla.com/D15775

--HG--
extra : moz-landing-system : lando
2019-01-10 18:35:06 +00:00
Doug Thayer
6dae89e2f0 Bug 1441308 - Add pref to disable texture cache clear r=bholley
To facilitate testing of document splitting before it is preffed on,
I'm adding a pref to disable clearing the texture cache, since this
will currently crash the browser with doc splitting on.

Depends on D13840

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

--HG--
extra : moz-landing-system : lando
2019-01-10 16:59:47 +00:00
Barret Rennie
65938f22af Bug 1514803 - Replace XPCOM image encoder instance creation in gfxUtils::EncodeSourceSurface r=jrmuizel
gfxUtils::EncodeSourceSurface no longer uses a stringly-typed API to create a
`imgIEncoder` for the relevant MIME type. Instead, we now use an enum class and
switch on it to create the encoder.

Depends on D14816

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

--HG--
extra : moz-landing-system : lando
2019-01-09 16:29:33 +00:00
Gijs Kruitbosch
38b9379998 Bug 1515103 - show frame rate and whether we're on a low end device in about:support, r=kats,jaws,flod
Differential Revision: https://phabricator.services.mozilla.com/D15844

--HG--
extra : moz-landing-system : lando
2019-01-08 15:48:24 +00:00
Csoregi Natalia
5573623926 Merge mozilla-central to autoland. CLOSED TREE 2019-01-07 23:49:15 +02:00
Doug Thayer
a848222b53 Bug 1441308 - Split out document pieces of WebRenderLayerManager r=jrmuizel
Per our discussion, this patch splits out the state management bits of
WebRenderLayerManager, allowing for them to be maintained per-document.

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

--HG--
extra : moz-landing-system : lando
2019-01-07 21:33:10 +00:00
Bogdan Tara
9600ad4953 Backed out changeset b776171d854c (bug 1515103) for browser_Troubleshoot.js failures CLOSED TREE 2019-01-07 22:28:59 +02:00
Gijs Kruitbosch
fca05d0c79 Bug 1515103 - show frame rate and whether we're on a low end device in about:support, r=kats,jaws,flod
Differential Revision: https://phabricator.services.mozilla.com/D15844

--HG--
extra : moz-landing-system : lando
2019-01-07 18:48:11 +00:00
Lee Salzman
34a3926bd5 Bug 1514112 - listen for font setting changes even if DWrite is not used. r=jrmuizel 2019-01-07 11:46:04 -05:00
Brindusan Cristian
590d6223c2 Backed out changeset 87219897a280 (bug 1516554) for reftest failures on draw_rect.html and wpt assertion failures. 2019-01-04 22:29:51 +02:00
Daosheng Mu
6fccd31719 Bug 1516554 - Enable VR process in Nightly Windows. r=kip
Differential Revision: https://phabricator.services.mozilla.com/D15434

--HG--
extra : moz-landing-system : lando
2018-12-28 22:11:18 +00:00
Jeff Gilbert
092d1d6c89 Bug 1523728 - Add gl.allow-high-power:true, webgl.default-low-power:false. r=lsalzman
Also, if "Use hardware acceleration when available" is disabled, restrict webgl to the igpu.

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

--HG--
extra : moz-landing-system : lando
2019-02-07 22:35:50 +00: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
longsonr
ade1b15610 Bug 1517108 - Move nsSMILTimeContainer, nsSMILMilestone and nsSMILTargetIdentifier to the mozilla namespace r=bbirtles
--HG--
rename : dom/smil/nsSMILMilestone.h => dom/smil/SMILMilestone.h
rename : dom/smil/nsSMILTargetIdentifier.h => dom/smil/SMILTargetIdentifier.h
rename : dom/smil/nsSMILTimeContainer.cpp => dom/smil/SMILTimeContainer.cpp
rename : dom/smil/nsSMILTimeContainer.h => dom/smil/SMILTimeContainer.h
2019-01-02 07:21:13 +00:00
Jeff Muizelaar
cd45a0430c Bug 1517077. Remove Cairo D2D backend. r=lsalzman
We don't use this anymore. Let's get rid of it.

Differential Revision: https://phabricator.services.mozilla.com/D15557
2019-01-01 21:55:39 -05:00
Jonathan Kew
23806e75ca Bug 1500356 - Update gfxFont/gfxFontEntry to use new harfbuzz API in place of deprecated functions. r=jrmuizel
--HG--
extra : rebase_source : d5737b581503e45e1d9fb235cbfc21d8fb568ee7
2018-12-08 08:44:55 -05:00
Jeff Muizelaar
6bf19bfac4 Bug 1516677. Remove unused drawtarget parameter. r=jfkthame
With bug 1509358 having landed we don't need a draw target in a bunch of
places.  This removes it from those places.

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

--HG--
extra : moz-landing-system : lando
2018-12-31 11:43:27 +00:00
Bogdan Tara
fff0a1f4f9 Merge inbound to mozilla-central. a=merge 2018-12-28 23:50:12 +02:00
Sylvestre Ledru
cccdda3c2a Bug 1516555 - Reformat everything to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2018-12-28 15:48:06 +00:00
Coroiu Cristina
515a00d04d Merge mozilla-central to autoland a=merge on a CLOSED TREE 2018-12-22 00:00:25 +02:00
Bobby Holley
2ec2bac2eb Bug 1515521 - Support the gpu-cache debugger in Firefox. r=kvark
Depends on D15044

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

--HG--
extra : moz-landing-system : lando
2018-12-21 21:12:40 +00:00
Lee Salzman
a4d958568d Bug 1442693 - fix UnscaledFontFontconfig creation for variations. r=me 2018-12-21 11:56:51 -05:00
Bobby Holley
4417faa98c Bug 1515521 - Add memory reporters for interning data. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D15044

--HG--
extra : moz-landing-system : lando
2018-12-21 14:55:55 +00:00
Matt Woodrow
7c5f3c78d8 Bug 1514640 - Allow slow scene building to start a composite a bit late. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D15020

--HG--
extra : moz-landing-system : lando
2018-12-20 22:43:01 +00:00
Hiroyuki Ikezoe
78f66f50f9 Bug 1515199 - Drop the pref value for dom.visualviewport.enabled from gfxPrefs.h. r=botond
It has bever been used.

Depends on D14918

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

--HG--
extra : moz-landing-system : lando
2018-12-20 00:23:48 +00:00
Botond Ballo
86c10463b4 Bug 1514823 - Remove support for apz.allow_checkerboarding=false. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D14818

--HG--
extra : moz-landing-system : lando
2018-12-18 00:38:33 +00:00
sotaro
757062cdf2 Bug 1513308 - Lazily initialize DirectX devices for WebRender r=mattwoodrow 2018-12-18 14:54:28 +09:00
Daosheng Mu
460045ce38 Bug 1496615 - Part 3: Enable OpenVR action input in Nightly. r=kip
Differential Revision: https://phabricator.services.mozilla.com/D14634

--HG--
extra : moz-landing-system : lando
2018-12-17 20:41:17 +00:00
Matt Woodrow
35037187d0 Bug 1493353 - Clip TextDrawTarget to the visible rect, and avoid emitting display items that are outside the clipped area. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D14367

--HG--
extra : moz-landing-system : lando
2018-12-14 22:30:08 +00:00
Gijs Kruitbosch
c731d09803 Bug 1503339 - update frame rate at runtime, r=kats
Depends on D13260

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

--HG--
extra : moz-landing-system : lando
2018-12-14 20:16:23 +00:00
Gijs Kruitbosch
5ff84b28d4 Bug 1503339 - try using a lower frame rate for low-end devices r=kats,mconley
Differential Revision: https://phabricator.services.mozilla.com/D13260

--HG--
extra : moz-landing-system : lando
2018-12-14 20:16:16 +00:00
sotaro
ba323650b7 Bug 1513699 - Disable SkiaGL on WebRender r=jrmuizel
Disable SkiaGL on WebRender, since there is a case that R8G8B8X8 is used, but WebRender does not support R8G8B8X8 yet. And SkiaGL is already disabled by Bug 1468801.

Differential Revision: https://phabricator.services.mozilla.com/D14366
2018-12-13 18:01:16 +09:00
Jean-Yves Avenard
48517afae6 Bug 1512298 - Make IPDL MozPromise exclusive. r=gerald,froydnj
MozPromise most common use is to have an single or exclusive listener. By making the MozPromise generated by IPDL exclusive we can also use move semantics.

While at it, we also use move semantics for the ResponseRejectReason and via the callback's reject method so that the lambda used with the MozPromise::Then can be identical to the one used by the IPDL callback.
As it currently is, it provides no advantage over a copy as it's just an enum; however, this will facilitate future changes where it may not be.

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

--HG--
extra : moz-landing-system : lando
2018-12-11 19:22:26 +00:00
Bobby Holley
2db4d4152d Bug 1512799 - Don't force-disable WebRender on non-qualified hardware when the qualified pref is set. r=kats
The gfx pref machinery asserts when user-level values are set that
environment and runtime prefs have not been set. This effectively means
we need to make all user-level decisions before calls to ForceDisable(),
and the code in question here violates that contract.

This branch is not necessary for correctness, since the pref basically
means "enable WR on qualified hardware", and we can just ignore that
request if the hardware is not qualified. It does provide extra
about:support information, but we also get that information from the
recording in WebRenderHardwareQualificationStatus, which creates a
separate decision log for WEBRENDER_QUALIFIED. In this case, it will
report something like:

"WEBRENDER_QUALIFIED: blocked by env: No qualified hardware"

which should be enough here.

Differential Revision: https://phabricator.services.mozilla.com/D14082
2018-12-10 13:35:53 -08:00
Brindusan Cristian
5aed3a29ec Backed out changeset cc3f0de953e4 (bug 1512799) for marionette failures on test_pref_rollout_workaround.py. CLOSED TREE 2018-12-10 23:10:15 +02:00
Bobby Holley
e8c8eea097 Bug 1512799 - Don't force-disable WebRender on non-qualified hardware when the qualified pref is set. r=kats,jrmuizel
The gfx pref machinery asserts when user-level values are set that
environment and runtime prefs have not been set. This effectively means
we need to make all user-level decisions before calls to ForceDisable(),
and the code in question here violates that contract.

This branch is not necessary for correctness, since the pref basically
means "enable WR on qualified hardware", and we can just ignore that
request if the hardware is not qualified. It does provide extra
about:support information, but we also get that information from the
recording in WebRenderHardwareQualificationStatus, which creates a
separate decision log for WEBRENDER_QUALIFIED. In this case, it will
report something like:

"WEBRENDER_QUALIFIED: blocked by env: No qualified hardware"

which should be enough here.

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

--HG--
extra : moz-landing-system : lando
2018-12-10 18:35:18 +00:00
Matt Woodrow
e3453844bf Bug 1510853 - Introduce VsyncId and VsyncEvent for identifying vsyncs without timestamp comparisons. r=jrmuizel
MozReview-Commit-ID: 6TO6hYOdJYo

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

--HG--
extra : moz-landing-system : lando
2018-12-07 23:27:28 +00:00
Noemi Erli
68d2cbb22e Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-12-08 00:16:56 +02:00
Bobby Holley
051d911adf Bug 1512286 - Support an environmental variable to force-disable WebRender. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D13963
2018-12-07 15:17:36 -05:00
Jeff Muizelaar
9d405dded3 Bug 1510725 - Add a pref to enable picture caching in WebRender. r=kats 2018-12-07 11:37:58 -05:00
Ciure Andrei
22c96f2cb4 Backed out 4 changesets (bug 1510853) for TelemetryHistogramEnums.h build bustages CLOSED TREE
Backed out changeset 80baa7b09930 (bug 1510853)
Backed out changeset d1ef6db7fc28 (bug 1510853)
Backed out changeset ae190948ad73 (bug 1510853)
Backed out changeset 0ade0aa77b2f (bug 1510853)
2018-12-07 19:38:47 +02:00
Matt Woodrow
6c3cd9bd00 Bug 1510853 - Introduce VsyncId and VsyncEvent for identifying vsyncs without timestamp comparisons. r=jrmuizel
MozReview-Commit-ID: 6TO6hYOdJYo

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

--HG--
extra : moz-landing-system : lando
2018-12-07 17:06:11 +00:00
Ciure Andrei
60a7065bec Backed out 3 changesets (bug 1512286)for breaking test because of missing option CLOSED TREE
Backed out changeset cd601d93d9f3 (bug 1512286)
Backed out changeset 929fe0acd506 (bug 1512286)
Backed out changeset e1b3f3624b87 (bug 1512286)
2018-12-07 16:51:59 +02:00
Bobby Holley
fedb2dfc3c Bug 1512286 - Support an environmental variable to force-disable WebRender. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D13963

--HG--
extra : moz-landing-system : lando
2018-12-07 11:57:57 +00:00
Michael Froman
a94c2df4cc Bug 1512023 - fixes for mochitest failures when RDD pref'd on for Win/OSX. r=drno
Differential Revision: https://phabricator.services.mozilla.com/D13734

--HG--
extra : moz-landing-system : lando
2018-12-04 20:43:56 +00:00
Noemi Erli
c9261f8a58 Backed out changeset b3c8a3a052ea (bug 1452146) for mochitest automation.py failures 2018-12-03 05:13:57 +02:00
Nils Ohlmeier [:drno]
31d3bd0b33 Bug 1452146 - flip av1 and rdd on for OSX and Win. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D13638

--HG--
extra : moz-landing-system : lando
2018-12-02 15:23:37 +00:00
Bobby Holley
8446df67e8 Bug 1510490 - Measure shader cache memory usage and remove total_gpu_bytes. r=mattwoodrow
The latter causes confusion in the memory reports because it gets summed
up and thus effectively doubles the reported texture memory usage. I've
decided it's best to drop, and so might as well do that while we're
already messing around with the memory reports and the associated
boilerplate.

Depends on D13439

Differential Revision: https://phabricator.services.mozilla.com/D13440
2018-12-01 10:43:03 -08:00
Tooru Fujisawa
7983faeb5d Bug 1511393 - Use c-basic-offset: 2 in Emacs mode line for C/C++ code. r=nbp 2018-12-01 04:52:05 +09:00
Benjamin Bouvier
a7f1d173a0 Bug 1511383: Update vim modelines after clang-format; r=sylvestre
- modify line wrap up to 80 chars; (tw=80)
- modify size of tab to 2 chars everywhere; (sts=2, sw=2)

--HG--
extra : rebase_source : 7eedce0311b340c9a5a1265dc42d3121cc0f32a0
extra : amend_source : 9cb4ffdd5005f5c4c14172390dd00b04b2066cd7
2018-11-30 16:39:55 +01: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
Coroiu Cristina
e92b0f1d7f Merge inbound to mozilla-central a=merge 2018-11-29 06:27:40 +02:00
Coroiu Cristina
b8bc09a5b5 Merge mozilla-central to inbound a=merge on a CLOSED TREE
--HG--
rename : python/mozrelease/test/data/Firefox-62.0b11.update.json => python/mozrelease/test/data/Firefox-64.0b13.update.json
extra : rebase_source : 6eb078869182f40343e201993c0d0442ed96ad46
2018-11-29 00:34:07 +02:00
Ehsan Akhgari
ca162bee20 Bug 1508472 - Part 4: Fourth batch of comment fix-ups in preparation for the tree reformat r=sylvestre
This is a best effort attempt at ensuring that the adverse impact of
reformatting the entire tree over the comments would be minimal.  I've used a
combination of strategies including disabling of formatting, some manual
formatting and some changes to formatting to work around some clang-format
limitations.

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

--HG--
extra : moz-landing-system : lando
2018-11-28 09:16:55 +00:00
Gabriele Svelto
19e52bebd4 Bug 1510582 - Remove useless inclusions of Services.h r=erahm
Differential Revision: https://phabricator.services.mozilla.com/D13240

--HG--
extra : moz-landing-system : lando
2018-11-28 17:25:23 +00:00
Sylvestre Ledru
ef05004811 Bug 1503537 - Get rid of the pdfium & mortar code r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D10352

--HG--
extra : moz-landing-system : lando
2018-11-28 19:31:21 +00:00
Gabriele Svelto
566f669d07 Bug 1509450 - Remove unnecessary inclusions of ContentParent.h and ContentChild.h r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D12728

--HG--
extra : moz-landing-system : lando
2018-11-26 14:49:44 +00:00
Jeff Gilbert
13e2d73059 Bug 1492580 - Repair CONTEXT_LOST handling. r=lsalzman
Simplify error handling in GLContext.
Modernize context loss handling in GLContext.
Remove various unused parts.
Fix WebGLContext's context loss/restoration.

MozReview-Commit-ID: Lu2hi5HnP8x

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

--HG--
extra : moz-landing-system : lando
2018-11-27 04:23:19 +00:00
Coroiu Cristina
9f7204e754 Merge inbound to mozilla-central a=merge 2018-11-27 00:34:45 +02:00
Jeff Muizelaar
a59d3605be Bug 1509358. Replace DCFromDrawTarget with DCForMetrics. r=jfkthame
The GDI font code path is very rarely used, further when it used we
don't ever seem to get any DrawTarget that's not Skia and so never try
to pull the DC out of the DrawTarget anyways. I tested this by forcing
on GDI fonts, running the browser and printing, with and without e10s.
However, Jonathan Kew was able to trigger this path. I'm not sure why.

Making this change will let us rip out a bunch of code that threads the
DrawTarget through the text code.

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

--HG--
extra : moz-landing-system : lando
2018-11-26 16:01:19 +00:00
Matt Woodrow
fab384fd5f Bug 1420628 - Avoid allocations for each text display item. r=jrmuizel
MozReview-Commit-ID: HoRHQVEdJeT

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

--HG--
extra : moz-landing-system : lando
2018-11-25 22:57:04 +00:00
Chris Pearce
4dd82ffbcb Bug 1503776 - Save default value of WebRender rollout pref to user pref, check on startup. r=mattwoodrow
Normandy's Preference Rollout code sets default values on prefs, not user
values (see uses of PrefUtils.setPref() in PreferenceRolloutAction.jsm).
Default prefs are not persistent; unlike user prefs, changes to default pref
values are not stored on disk. Changes to default values are only made on the
in-memory copy of the pref's value, and thus don't survive a browser restart.
Normandy changes the rolled out prefs early on in the startup of the browser,
but not before gfxPlatform::Init() runs. So that means gfx can't use Normandy
pref rollout to gradually rollout WebRender to release, as
gfxPlatform::InitWebRenderConfig() won't see the rolled out version of the
pref in time to turn on WebRender.

So to work around this, add a profile-before-change shutdown observer that
saves the default value of the gfx.webrender.all.qualified pref to a new user
pref, gfx.webrender.all.qualified.default. We check that on startup and
emulate the behavior that the pref system would have if that pref default
value had already been set by Normandy.

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

--HG--
extra : moz-landing-system : lando
2018-11-22 21:36:09 +00:00
Narcis Beleuzu
355e9a39df Backed out 3 changesets (bug 1503776) for xperf failures
Backed out changeset 596f70b5d5b0 (bug 1503776)
Backed out changeset 2d2d1dfd04d4 (bug 1503776)
Backed out changeset 3eb49d9e73bb (bug 1503776)
2018-11-21 01:38:34 +02:00
shindli
5cc898ccc2 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-11-20 23:48:34 +02:00
Andrew McCreight
55cef5b2ab Bug 1504365 - Clear weak pointers in shutdown observers. r=erahm
Differential Revision: https://phabricator.services.mozilla.com/D12348

--HG--
extra : moz-landing-system : lando
2018-11-19 23:16:24 +00:00
Chris Pearce
489732ad6a Bug 1503776 - Save default value of WebRender rollout pref to user pref, check on startup. r=mattwoodrow
Normandy's Preference Rollout code sets default values on prefs, not user
values (see uses of PrefUtils.setPref() in PreferenceRolloutAction.jsm).
Default prefs are not persistent; unlike user prefs, changes to default pref
values are not stored on disk. Changes to default values are only made on the
in-memory copy of the pref's value, and thus don't survive a browser restart.
Normandy changes the rolled out prefs early on in the startup of the browser,
but not before gfxPlatform::Init() runs. So that means gfx can't use Normandy
pref rollout to gradually rollout WebRender to release, as
gfxPlatform::InitWebRenderConfig() won't see the rolled out version of the
pref in time to turn on WebRender.

So to work around this, add a profile-before-change shutdown observer that
saves the default value of the gfx.webrender.all.qualified pref to a new user
pref, gfx.webrender.all.qualified.default. We check that on startup and
emulate the behavior that the pref system would have if that pref default
value had already been set by Normandy.

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

--HG--
extra : moz-landing-system : lando
2018-11-20 03:51:31 +00:00
Matt Woodrow
3e879986fc Bug 1507680 - Record detailed statistics about slow WebRender frames in about:support. r=jrmuizel
MozReview-Commit-ID: 84SjN1RvvAA

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

--HG--
extra : rebase_source : 80e3342280723a2404c6aad7d26b1327906c9e4a
2018-11-16 15:13:56 +13:00
Jeff Muizelaar
eb4806b6a3 Bug 1507021. Add a SnappedClip function to gfxContext. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D11839
2018-11-20 08:56:35 -05:00
Razvan Maries
208d16134b Merge mozilla-inbound to mozilla-central a=merge 2018-11-20 07:03:17 +02:00
Boris Zbarsky
71db58cf83 Bug 1507540 part 2. Use more notxpcom attributes in docshell/. r=smaug 2018-11-19 20:17:53 -05:00
Boris Zbarsky
b88f0dc956 Bug 1507540 part 1. Use more notxpcom attributes in caps/. r=mrbkap 2018-11-19 20:17:52 -05:00
Jeff Muizelaar
5624b1e36e Bug 1507021. Use SnappedRectangle in more places. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D11840

--HG--
extra : moz-landing-system : lando
2018-11-19 23:03:32 +00:00
Sebastian Hengst
cc89f3b7a2 Backed out 3 changesets (bug 1503776) for failing new MnG suite in test_pref_rollout_workaround.py. CLOSED TREE
Backed out changeset 5b6f0d586bf7 (bug 1503776)
Backed out changeset bcb35a8cb22b (bug 1503776)
Backed out changeset fb616c66a1fd (bug 1503776)
2018-11-19 23:15:33 +02:00
Chris Pearce
b911dfe3f6 Bug 1503776 - Save default value of WebRender rollout pref to user pref, check on startup. r=mattwoodrow
Normandy's Preference Rollout code sets default values on prefs, not user
values (see uses of PrefUtils.setPref() in PreferenceRolloutAction.jsm).
Default prefs are not persistent; unlike user prefs, changes to default pref
values are not stored on disk. Changes to default values are only made on the
in-memory copy of the pref's value, and thus don't survive a browser restart.
Normandy changes the rolled out prefs early on in the startup of the browser,
but not before gfxPlatform::Init() runs. So that means gfx can't use Normandy
pref rollout to gradually rollout WebRender to release, as
gfxPlatform::InitWebRenderConfig() won't see the rolled out version of the
pref in time to turn on WebRender.

So to work around this, add a profile-before-change shutdown observer that
saves the default value of the gfx.webrender.all.qualified pref to a new user
pref, gfx.webrender.all.qualified.default. We check that on startup and
emulate the behavior that the pref system would have if that pref default
value had already been set by Normandy.

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

--HG--
extra : moz-landing-system : lando
2018-11-19 19:18:06 +00:00
Jonathan Kew
fb4f42f9a7 Bug 1507506 - Use a sorted array rather than a hashtable for the short list of bad-underline font families. r=jwatt 2018-11-15 16:11:45 +00:00
Jonathan Watt
aeb16eec85 Bug 1505177. Remove gfxContext::CurrentDashOffset(). r=miko
Differential Revision: https://phabricator.services.mozilla.com/D11108

--HG--
extra : rebase_source : 977d4ff035e6b9bdbe79053d154db998d61cc724
extra : amend_source : 66649e6eda2ce762ac8f642525f7b56e612a8510
2018-11-06 11:50:23 +00:00
Nika Layzell
568787b95f Bug 1448426 - Wrap windows.h to avoid problematic define statements, r=froydnj,glandium
By default, windows.h exposes a large number of problematic define statements
which are UpperCamelCase, such as a define from `CreateWindow` to
`CreateWindow{A,W}`.

As many of these names are generic (e.g. CreateFile, CreateWindow), they can
mess up Gecko code that may legitimately have its own methods with the same
names.

The header also defines some traditional SCREAMING_SNAKE_CASE defines which
can mess up our code by conflicting with local values.

This patch adds a simple code generator which generates wrappers for these
defines, and uses them to wrap the windows.h wrapper using the `stl_wrappers`
mechanism, allowing us to use windows.h in more places.

Differential Revision: https://phabricator.services.mozilla.com/D10932
2018-11-28 12:56:20 -05:00
arthur.iakab
af07f9b9d4 Backed out 13 changesets (bug 1500948, bug 1509362, bug 1509591, bug 1448426, bug 1500949, bug 1487249, bug 1509930, bug 1500950, bug 1500944) for causing crashes and assertion failures on PBackgroundParent.cpp:696 CLOSED TREE
Backed out changeset c3fe435e473a (bug 1509362)
Backed out changeset 6494840edc17 (bug 1509591)
Backed out changeset 123b5d5a3637 (bug 1509591)
Backed out changeset bce195f98895 (bug 1509930)
Backed out changeset 66db13126408 (bug 1500950)
Backed out changeset 3b5fffae2d2b (bug 1500949)
Backed out changeset 71c3b3677db8 (bug 1500948)
Backed out changeset 784b3b56e2ab (bug 1500944)
Backed out changeset 0bad27401ddb (bug 1500944)
Backed out changeset e0f95dd96d54 (bug 1448426)
Backed out changeset c60fa11538db (bug 1487249)
Backed out changeset 0190d4ffa54f (bug 1487249)
Backed out changeset 3cd10aba9130 (bug 1487249)
2018-11-28 02:57:32 +02:00
Nika Layzell
9f648dce32 Bug 1448426 - Wrap windows.h to avoid problematic define statements, r=froydnj,glandium
By default, windows.h exposes a large number of problematic define statements
which are UpperCamelCase, such as a define from `CreateWindow` to
`CreateWindow{A,W}`.

As many of these names are generic (e.g. CreateFile, CreateWindow), they can
mess up Gecko code that may legitimately have its own methods with the same
names.

The header also defines some traditional SCREAMING_SNAKE_CASE defines which
can mess up our code by conflicting with local values.

This patch adds a simple code generator which generates wrappers for these
defines, and uses them to wrap the windows.h wrapper using the `stl_wrappers`
mechanism, allowing us to use windows.h in more places.

Differential Revision: https://phabricator.services.mozilla.com/D10932
2018-11-27 18:09:33 -05:00
Bobby Holley
8c07acd58f Bug 1507333 - Clear evicted cache entries when using the debug display. r=gw,jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D11959
2018-11-19 09:16:09 -08:00
longsonr
028d7ef9fa Bug 1516411 - Move nsSMILAnimationController into the mozilla namespace and rename it as SMILAnimationController r=birtles
--HG--
rename : dom/smil/nsSMILAnimationController.cpp => dom/smil/SMILAnimationController.cpp
rename : dom/smil/nsSMILAnimationController.h => dom/smil/SMILAnimationController.h
2018-12-28 11:47:58 +00:00
Chris Peterson
8c5a13370c Bug 1528881 - Part 1: gfx/thebes: Make some global functions static. r=jrmuizel
clang's -Wmissing-prototypes option identifies global functions that can be made static (because they're only called from one compilation unit) or removed (if they're never called).

gfx/thebes/gfxBlur.cpp:444:6 [-Wmissing-prototypes] no previous prototype for function 'CacheBlur'
gfx/thebes/gfxPlatform.cpp:1087:6 [-Wmissing-prototypes] no previous prototype for function 'IsFeatureSupported'
gfx/thebes/gfxPlatform.cpp:1355:6 [-Wmissing-prototypes] no previous prototype for function 'SourceBufferDestroy'
gfx/thebes/gfxPlatform.cpp:1365:6 [-Wmissing-prototypes] no previous prototype for function 'SourceSurfaceDestroyed'
gfx/thebes/gfxPlatform.cpp:2422:6 [-Wmissing-prototypes] no previous prototype for function 'VideoDecodingFailedChangedCallback'
gfx/thebes/gfxPlatform.cpp:559:6 [-Wmissing-prototypes] no previous prototype for function 'WebRenderDebugPrefChangeCallback'

widget/GfxInfoBase.cpp:82:6 [-Wmissing-prototypes] no previous prototype for function 'InitGfxDriverInfoShutdownObserver'

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

--HG--
extra : source : b8333099bca51db166839862e4a3918c5e8874f2
extra : intermediate-source : acb4bb2466df7fb22ca1a76e13c79186ea938bc1
extra : histedit_source : 16cf3a96596046e8111774a147b23ade0676c8e1
2019-02-17 01:18:01 -08:00
Andreea Pavel
6a58f5fcea Backed out 2 changesets (bug 1507021) for android build bustages on a CLOSED TREE
Backed out changeset 026f135a667f (bug 1507021)
Backed out changeset 1b87eb56e462 (bug 1507021)

--HG--
extra : amend_source : 4d51378a27f24f3d87d9b7a206c78ff962e3b663
2018-11-15 06:35:54 +02:00
Jeff Muizelaar
9ad890c762 Bug 1507021. Add a SnappedClip function to gfxContext. r=mattwoodrow
Depends on D11840

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

--HG--
extra : moz-landing-system : lando
2018-11-14 22:47:10 +00:00
Randall Barker
69a08335b4 Bug 1506747 - Add GeckoView API for drawing transparent border around the content window r=snorp,droeh,kats
Differential Revision: https://phabricator.services.mozilla.com/D11717

--HG--
extra : moz-landing-system : lando
2018-11-15 01:54:18 +00:00
Jeff Muizelaar
1d2422df54 Bug 1507021. Use SnappedRectangle in more places. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D11840

--HG--
extra : moz-landing-system : lando
2018-11-14 22:47:35 +00:00
Michael Froman
2e78f7f1a1 Bug 1471535 - pt12 - Hook up RDD process and Remote decoding. r=jya,spohl
Depends on D8493

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

--HG--
extra : moz-landing-system : lando
2018-11-14 18:07:28 +00:00
Bogdan Tara
fc8134a16a Backed out 12 changesets (bug 1471535) for VideoDecoderChild failures CLOSED TREE
Backed out changeset 3d8a11458d79 (bug 1471535)
Backed out changeset 2176010bc1fe (bug 1471535)
Backed out changeset dfb4d3462b22 (bug 1471535)
Backed out changeset ea6b73ded74d (bug 1471535)
Backed out changeset 404d760a9e82 (bug 1471535)
Backed out changeset 28ae4b6fab68 (bug 1471535)
Backed out changeset af91e1f04c2d (bug 1471535)
Backed out changeset d39fef4334b3 (bug 1471535)
Backed out changeset a038821cd8ae (bug 1471535)
Backed out changeset 5dcc74a938c6 (bug 1471535)
Backed out changeset 53aff7e699b4 (bug 1471535)
Backed out changeset f3f6abc052f0 (bug 1471535)

--HG--
rename : dom/media/ipc/GpuDecoderModule.cpp => dom/media/ipc/RemoteVideoDecoder.cpp
rename : dom/media/ipc/GpuDecoderModule.h => dom/media/ipc/RemoteVideoDecoder.h
2018-11-13 23:31:56 +02:00
Michael Froman
563ff5b11d Bug 1471535 - pt12 - Hook up RDD process and Remote decoding. r=jya,spohl
Depends on D8493

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

--HG--
extra : moz-landing-system : lando
2018-11-13 17:36:47 +00:00
Martin Stransky
582b645d9b Bug 1504904 - Don't use GDK_IS_WAYLAND_DISPLAY() as it's missing on Gtk+ X11 only builds, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D11610

--HG--
extra : moz-landing-system : lando
2018-11-12 15:25:38 +00:00
Matt Woodrow
478074e691 Bug 1506492 - Report WebRender swap-chain memory usage. r=bholley
Differential Revision: https://phabricator.services.mozilla.com/D11594

--HG--
extra : moz-landing-system : lando
2018-11-13 03:15:51 +00:00
Jonathan Kew
b250a10034 Bug 1505966 - Bail out of using DWrite fonts if we failed to get the system collection. r=lsalzman 2018-11-09 09:11:14 +00:00
Lee Salzman
82a73c0629 Bug 1455848 - ensure WR DWrite font descriptors can be found in the system font collection. r=jfkthame 2018-11-06 14:43:24 -05:00
Bobby Holley
22681053a5 Bug 1504115 - Track the total number of GPU bytes allocated by WebRender. r=gw
This is useful for sanity-checking memory reports, and we'll also use it
for our texture eviction heuristic.

Differential Revision: https://phabricator.services.mozilla.com/D10672
2018-11-06 09:48:48 -08:00
sotaro
3b545f56f3 Bug 1500017 - Use triple buffer with DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL SwapChain r=mattwoodrow 2018-11-05 18:58:37 +09:00
Matt Woodrow
394f747fb0 Bug 1503730 - Add visual indicator for when WebRender frames record a CONTENT_FRAME_TIME of >200. r=sotaro
MozReview-Commit-ID: KdRf3WClD6M

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

--HG--
extra : moz-landing-system : lando
2018-11-04 20:35:36 +00:00
Jonathan Kew
e598ddf5f8 Bug 1503928 - Optimize FontFamilyList::Contains to avoid allocation and string-copying. r=lsalzman 2018-11-02 21:49:55 +00:00
Ryan Hunt
2226bcc8a3 Bug 1504220 - Move ScrollableLayerGuid, ViewID, ZoomConstraints from FrameMetrics.h r=botond
This commit attempts to lower the pain of modifying FrameMetrics.h.

It looks like most includes really only want ViewID or
ScrollableLayerGuid, so this commit factors them out into a separate
header. In the process FrameMetrics::ViewID is changed to
ScrollableLayerGuid::ViewID, which personally seems like a better
place for it now that we have RepaintRequest. Unfortunately that
requires a lot of places to be updated.

After this commit there are still a couple of major places that
FrameMetrics is included.
 * nsDisplayList.h
 * nsIScrollableFrame.h
 * Layers.h

Those are going to be more tricky or impossible to fix so they're
not in this commit.

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

--HG--
rename : gfx/layers/FrameMetrics.h => gfx/layers/ScrollableLayerGuid.h
rename : gfx/layers/FrameMetrics.h => gfx/layers/ZoomConstraints.h
extra : rebase_source : 29ac79f91460a181bf7437af5c371207e22858e2
extra : source : c2e70e531075493fc6e374dcec862827f0bc6e77
2018-11-01 15:15:46 -05:00
Miko Mynttinen
5a4357d7c9 Bug 1503046 - Part 2: Introduce HitTestInfo and nsDisplayHitTestInfoItem, and make container items and nsDisplayCompositorHitTestInfo use them r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D10131

--HG--
extra : moz-landing-system : lando
2018-11-02 02:19:03 +00:00
Andi-Bogdan Postelnicu
efed08129a Bug 1498489 - Remove virtual from the declaration of an already virtual function. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D10340

--HG--
extra : moz-landing-system : lando
2018-10-31 11:39:45 +00:00
Andrew Osmond
4c9b7d3ad8 Bug 1294490 - Part 3. Implement WebP decoder. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D8116
2018-10-31 15:01:08 -04:00
Lee Salzman
e99e2fefa4 Bug 1502152 - Skia m71 PDF fixes. r=rhunt 2018-10-30 22:17:34 -04:00
Jonathan Kew
35689e0d1a Bug 1493743 - Make BuildFontList robust against an invalid FontFamilyName record with no name atom. r=lsalzman 2018-10-30 12:55:35 +00:00
Kartikaya Gupta
d113a15f1b Bug 1501046 - Back out cset 798b3777f30f as we have a better fix now. r=me 2018-10-30 08:19:41 -04:00
Ryan Hunt
1601a8bb80 Bug 1453425 - Add relative scroll offset updates using nsGkAtoms::relative. r=botond
This commit adds a scroll origin, nsGkAtoms::relative, which can be used to
mark main thread scrolling that can be combined with a concurrent APZ scroll.

The behavior of this is controlled by a pref, apz.relative-update. This pref
is initially activated and is intended as an aid to narrowing down causes
of regressions for users in bug reports.

Relative scroll updates work by tracking the last sent or accepted APZ
scroll offset. This is sent along with every FrameMetrics. Additionally,
a flag is added to FrameMetrics, mIsRelative, indicating whether the
scroll offset can be combined with a potential APZ scroll. When this
flag is set, AsyncPanZoomController will apply the delta between the sent
base scroll offset, and sent new scroll offset.

This flag is controlled by the last scroll origin on nsGfxScrollFrame. The
new origin, `relative`, is marked as being able to clobber APZ updates,
but can only be set if all scrolls since the last repaint request or
layers transaction have been relative.

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

--HG--
extra : rebase_source : 51351a84c9cda228a0975e22eda3fd3bd8d261c4
extra : histedit_source : 4b564c19b16fe2bd26adc671b62b7cb6106e8163
2018-10-09 23:24:28 -05:00
Gurzau Raul
08de11aa7a Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-10-25 01:04:19 +03:00
Kartikaya Gupta
df09857871 Bug 1501046 - Skip reporting checkerboarding to telemetry if the sanity test is running. r=botond
This is not really the best fix (a better one would be to ensure that the
displayport is set on the root element of the gfx sanity window), but should
do as a stopgap solution.

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

--HG--
extra : moz-landing-system : lando
2018-10-24 17:08:36 +00:00
Andrew Osmond
44a3847f77 Bug 1490942 - Ignore UPS batteries for WebRender qualified purposes. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D8255
2018-10-23 13:08:40 -04:00
Kartikaya Gupta
0c05448b41 Bug 1453367 - Allow enabling WebRender on non-Fennec Android. r=jnicol
Differential Revision: https://phabricator.services.mozilla.com/D9414

--HG--
extra : moz-landing-system : lando
2018-10-23 10:08:34 +00:00
Andrew Osmond
0f2cb305c1 Bug 1465619 - Part 11. Add support for recycling animated image frames. r=tnikkel
This is what we have been working towards in all of the previous parts
in the series. This subclasses AnimationFrameDiscardingQueue to save the
discarded frames for recycling by the decoder, if the frame is marked as
supporting recycling.

Differential Revision: https://phabricator.services.mozilla.com/D7516
2018-10-22 13:40:35 -04:00
Jonathan Kew
6f427d1a33 Bug 1493743 - Make AddFamilyToFontList return safely if passed a null font-family. r=lsalzman 2018-10-24 21:52:33 +01:00
Mats Palmgren
10b87f1915 Bug 1494715 - Add a pref to disable antialiasing for Ahem only, r=jfkthame
Add a pref called gfx.font_ahem_antialias_none which disables
antialiasing for any font with the family name "Ahem". This is useful
for wpt reftests where antialaising of Ahem causes spurious failures.

Differential Revision: https://phabricator.services.mozilla.com/D7200
2018-10-18 15:54:29 +01:00
Margareta Eliza Balazs
c56977420d Merge inbound to mozilla-central. a=merge 2018-10-18 13:20:43 +03:00
Markus Stange
aac44afa75 Bug 1496823 - Remove EventThreadRunner and the pref that enabled it. r=kats,spohl
This was an experiment before we had e10s. It's no longer needed.

Depends on D7922

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

--HG--
extra : moz-landing-system : lando
2018-10-17 20:44:28 +00:00
Kartikaya Gupta
dc68784e43 Bug 1479757 - Switch to containerless scrolling for GeckoView+WR. r=botond
This changes the containerful scrolling pref to be an override pref
such that it is:
- always false on desktop (i.e. always use containerless there)
- always true in Fennec (i.e. never use containerless there)
- true in GeckoView if WebRender is disabled (i.e. only use
  containerless with WebRender).

The first two cases are the same as before; the last case is new.
Because we don't create layers with WR, the containerless vs
containerful distinction doesn't make much sense there, and we need to
implement a bunch of zooming glue in either case. So it makes sense to
go with the "way of the future" and keep it containerless.

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

--HG--
extra : moz-landing-system : lando
2018-10-15 17:41:21 +00:00
Kartikaya Gupta
be788afc29 Bug 1498711 - Allow WR to ride the trains to beta 64. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D8735

--HG--
extra : moz-landing-system : lando
2018-10-15 15:24:12 +00:00
Bobby Holley
87fa9f0013 Bug 1496838 - Add memory reporters for shared depth targets. r=kvark 2018-10-17 10:25:43 -07:00
Jeff Gilbert
da38782e5c No bug - Fix compiler warnings on Windows. 2018-10-12 21:44:11 -07:00
Jeff Gilbert
ad715ffdbd No bug - Replace tabs with spaces, strip EOL whitespace. 2018-10-12 21:44:09 -07:00
Csoregi Natalia
de7b5dcc69 Merge mozilla-central to autoland. CLOSED TREE 2018-10-12 13:18:41 +03:00
Jean-Yves Avenard
ca7b17362f Bug 1498162 - Ensure some variables are initialzied before using them r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D8384

--HG--
extra : moz-landing-system : lando
2018-10-11 20:34:04 +00:00
Narcis Beleuzu
e09f2e2622 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-10-12 06:53:11 +03:00
Kearwood "Kip" Gilbert
5412f1d0a6 Bug 1473399 - Enable VR Service thread by default,r=daoshengmu
--HG--
extra : amend_source : 5753392913601198fa8391c654a7eb52e64c2eb7
2018-10-11 11:17:52 -07:00
Narcis Beleuzu
c31a01ef52 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-10-12 00:57:21 +03:00
Lee Salzman
dd26a2555b Bug 1495661 - reuse the default UnscaledFontDWrite for variation fonts. r=jfkthame 2018-10-11 11:19:25 -04:00
Jean-Yves Avenard
c38d8622a3 Bug 1497294 - P8. Disable P010 surface type with nvidia adapters. r=mattwoodrow
It just doesn't work.
We add the preference media.wmf.force.allow-p010-format to force enable it.

Depends on D8136

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

--HG--
extra : moz-landing-system : lando
2018-10-11 07:32:35 +00:00
Jean-Yves Avenard
237243edf2 Bug 1497294 - P4. Use EnumSet with D3D11DeviceStatus and checks for P010 and P016 support. r=mattwoodrow
This allows to more easily construct it and add new values as needed.

The other bool members could be made to be part of the set, but this would require more significant code change.

Depends on D8082

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

--HG--
extra : moz-landing-system : lando
2018-10-10 22:14:51 +00:00
Kartikaya Gupta
a344ccde59 Bug 1497916 - Ensure the WR qualified pref is only enabled on nightly. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D8248

--HG--
extra : moz-landing-system : lando
2018-10-10 17:04:45 +00:00
Brian Hackett
ecdbabf1a6 Bug 1494994 - Disable WebRender when recording/replaying, r=nical.
--HG--
extra : rebase_source : 51b92b3f9b9349dc4953d3277cb1f251d222c369
2018-10-09 14:31:49 -10:00
Emilio Cobos Álvarez
c6c06c7f48 Bug 1496486 - Remove nsCSSValue usage from font code. r=heycam
Really sorry for the size of the patch.

Differential Revision: https://phabricator.services.mozilla.com/D7753
2018-10-09 19:07:41 +02:00
Narcis Beleuzu
e7a8994c37 Backed out 5 changesets (bug 1496486) for valgrind bustages. CLOSED TREE
Backed out changeset d2f1e35ee4b7 (bug 1496486)
Backed out changeset 7f843f4ee162 (bug 1496486)
Backed out changeset 2f629a60f12c (bug 1496486)
Backed out changeset 4dd15fa31474 (bug 1496486)
Backed out changeset e8d8e2f3f00b (bug 1496486)
2018-10-09 19:44:51 +03:00
Emilio Cobos Álvarez
804148c319 Bug 1496486 - Remove nsCSSValue usage from font code. r=heycam
Really sorry for the size of the patch.

Differential Revision: https://phabricator.services.mozilla.com/D7753
2018-10-09 17:33:24 +02:00
Brindusan Cristian
3b4ca07db8 Backed out 5 changesets (bug 1496486) for build bustages on gfxUserFontSet.h. CLOSED TREE
Backed out changeset 6b740afea403 (bug 1496486)
Backed out changeset 5cf44e254ac3 (bug 1496486)
Backed out changeset 8e465202c355 (bug 1496486)
Backed out changeset 86382b2249f6 (bug 1496486)
Backed out changeset ab92ed3e0a23 (bug 1496486)
2018-10-09 16:58:38 +03:00
Emilio Cobos Álvarez
d6c743191f Bug 1496486 - Remove nsCSSValue usage from font code. r=heycam
Really sorry for the size of the patch.

Differential Revision: https://phabricator.services.mozilla.com/D7753
2018-10-09 15:33:03 +02:00
Jonathan Kew
835870b152 Bug 1493743 - speculative patch - Set type to None rather than Named in default FontFamilyName constructor, as no name is provided. r=lsalzman 2018-10-04 10:57:40 +02:00
Kearwood "Kip" Gilbert
382df23968 Bug 1466700 - Refactor gfxVROculus.cpp to use gfxVRExternal interface, r=daoshengmu
Tags: #secure-revision

Bug #: 1466700

Differential Revision: https://phabricator.services.mozilla.com/D8177
2018-07-13 17:16:35 -07:00
Botond Ballo
44ec7faf1d Bug 1470504 - Make layout.scroll.root-frame-containers a Live pref. r=mattwoodrow
All of its callers are in painting code, so changes will take effect on the
next paint, so there is no need for it to be a Once pref.

Making it Live allows us to selectively enable it in specific mochitests.

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

--HG--
extra : rebase_source : 772e3c49f5e945d37126979b1c1edab691788e63
extra : histedit_source : 34eccab0c8ab664f15787626bff72f261718ea9c
2018-09-12 20:16:50 -04:00
Kearwood Gilbert
7a3eb1a6a2 Bug 1494556 - Remove VRListenerThread r=daoshengmu
We are refactoring much of the code in gfx/vr, moving
most of the code that runs in the VRListenerThread into
it's own process.  The remaining code will be non-blocking
once this refactoring is complete.

In order to resolve some shutdown crashes, it is simpler
to remove the VRListenerThread and the related code
starting and stopping this thread.  If this is done
prior to completion of the refactoring for Bug 1473399
(Enable VRService thread by default), there would be a
regression in responsiveness during detection of VR
hardware due to blocking API calls moving off the thread.

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

--HG--
extra : moz-landing-system : lando
2018-10-02 21:17:05 +00:00
Jonathan Kew
75159145f4 Bug 1495306 - When InitOtherFamilyNames is called during stylo traversal, ensure it posts its runnable back to the main thread. r=kmag 2018-10-01 23:38:55 +02:00
Andrew McCreight
5a1eb609f9 Bug 1493276 - Statically prevent CallQueryInterface to a base class r=froydnj
If a class A is derived from a class B, then an instance of A can be
converted to an instance of class B via a static cast, so QI is not
needed. QIs are slower than static casts.

TestCallTemplates seems to be testing that CallQueryInterface compiles
even if the first argument's class is only ambiguously castable to
nsISupports, so I changed the second argument to be a class unrelated
to the concrete class.

I also removed some useless null checks on the return value of new.

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

--HG--
extra : moz-landing-system : lando
2018-09-27 14:59:55 +00:00
Bobby Holley
eb6f1b40ff Bug 1493196 - Add reporting for texture memory. r=jrmuizel 2018-09-26 09:41:38 -07:00
Andrew Osmond
4f2d97a823 Bug 1492930 - Part 5. Integrate extra shared surface memory reporting with gfx. r=nical
This patch enables the compositor process memory reporting for both the
dedicated GPU process case, and the integrated with the main process
case. This will simply cause us to list all of the entries in the shared
surfaces cache to show what is presently mapped in.
2018-09-25 09:13:51 -04:00
Andrew Osmond
d70925f00b Bug 1492930 - Part 4. Add ImageMemoryReporter to support extra shared surfaces reporting. r=tnikkel
By delegating responsibility for shared surfaces reporting to imagelib,
we can cross reference the GPU shared surfaces cache with the local
surface cache in a content process (or the main process). This will
allow us to identify entries that are in the GPU cache but not in the
content/main process cache, and aid in debugging memory leaks. This
functionality is pref'd off by default behind image.mem.debug-reporting.

Additionally, we want to report every entry that was mapped into the
compositor process, in the compositor process memory report. This will
give us a sense of how much of our resident memory is consumed by mapped
images in absence of the more detailed cross referencing above.
2018-09-25 09:13:51 -04:00
Narcis Beleuzu
3a8485e6e6 Backed out 6 changesets (bug 1492930) for build bustages on ImageMemoryReporter.cpp. CLOSED TREE
Backed out changeset 9d1ff0d0af47 (bug 1492930)
Backed out changeset bdb1bf2d8062 (bug 1492930)
Backed out changeset 2959314ecf7c (bug 1492930)
Backed out changeset 587e01daa080 (bug 1492930)
Backed out changeset 1a6b422c5a90 (bug 1492930)
Backed out changeset a3b3f4cdc9fa (bug 1492930)
2018-09-25 13:33:17 +03:00
Andrew Osmond
1a68680204 Bug 1492930 - Part 5. Integrate extra shared surface memory reporting with gfx. r=nical
This patch enables the compositor process memory reporting for both the
dedicated GPU process case, and the integrated with the main process
case. This will simply cause us to list all of the entries in the shared
surfaces cache to show what is presently mapped in.
2018-09-25 06:18:06 -04:00
Andrew Osmond
5d483b60ce Bug 1492930 - Part 4. Add ImageMemoryReporter to support extra shared surfaces reporting. r=tnikkel
By delegating responsibility for shared surfaces reporting to imagelib,
we can cross reference the GPU shared surfaces cache with the local
surface cache in a content process (or the main process). This will
allow us to identify entries that are in the GPU cache but not in the
content/main process cache, and aid in debugging memory leaks. This
functionality is pref'd off by default behind image.mem.debug-reporting.

Additionally, we want to report every entry that was mapped into the
compositor process, in the compositor process memory report. This will
give us a sense of how much of our resident memory is consumed by mapped
images in absence of the more detailed cross referencing above.
2018-09-25 06:18:06 -04:00
Zibi Braniecki
c2634d4438 Bug 1493220 - Migrate mozIOSPreferences to use Array<> interface. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D6524

--HG--
extra : moz-landing-system : lando
2018-09-22 07:49:05 +00:00
Bogdan Tara
3e0d3c693c Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2018-09-22 01:06:13 +03:00
Bobby Holley
2a7a7feb5f Bug 1492263 - Add more memory reporters. r=gw
Reviewers: gw

Tags: #secure-revision

Bug #: 1492263

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

MozReview-Commit-ID: 7uGxPsbMkaf
2018-09-21 14:59:10 -07:00
Zibi Braniecki
83ea94f5ba Bug 1491394 - Update callsites to use new mozILocaleService API. r=jfkthame
Depends on D5924

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

--HG--
extra : moz-landing-system : lando
2018-09-21 15:30:37 +00:00
Andrew Osmond
5f4c3fc4b2 Bug 1456558 - Part 2. Implement factor of 2 scaling support for SVGs in the surface cache. r=tnikkel
There is one main difference between raster images and vector images
with respect to factor of 2 scaling. Vector images may be scaled
infinitely and so we need to extend factor of 2 scaling to permit
growing instead of just shrinking. Also, we don't want to scale
infinitely, so we should configure a maximum size limit. This size limit
will apply even outside of factor of 2 scaling, and so the caller
(VectorImage) will need to be careful to take this into account.
2018-09-20 20:22:03 -04:00
Andreea Pavel
3805f6a285 Backed out 3 changesets (bug 1456558) for crashtest assertion failures on a CLOSED TREE
Backed out changeset 70d8f11cf6e8 (bug 1456558)
Backed out changeset af9fc3daf97c (bug 1456558)
Backed out changeset f209a9d848f4 (bug 1456558)
2018-09-21 02:13:41 +03:00
Andrew Osmond
f799e4bd72 Bug 1456558 - Part 2. Implement factor of 2 scaling support for SVGs in the surface cache. r=tnikkel
There is one main difference between raster images and vector images
with respect to factor of 2 scaling. Vector images may be scaled
infinitely and so we need to extend factor of 2 scaling to permit
growing instead of just shrinking. Also, we don't want to scale
infinitely, so we should configure a maximum size limit. This size limit
will apply even outside of factor of 2 scaling, and so the caller
(VectorImage) will need to be careful to take this into account.
2018-09-20 18:15:32 -04:00
Nathan Froyd
e7b3b3140d Bug 1415980 - make hash keys movable and not copyable; r=erahm
Everything that goes in a PLDHashtable (and its derivatives, like
nsTHashtable) needs to inherit from PLDHashEntryHdr. But through a lack
of enforcement, copy constructors for these derived classes didn't
explicitly invoke the copy constructor for PLDHashEntryHdr (and the
compiler didn't invoke the copy constructor for us). Instead,
PLDHashTable explicitly copied around the bits that the copy constructor
would have.

The current setup has two problems:

1) Derived classes should be using move construction, not copy
   construction, since anything that's shuffling hash table keys/entries
   around will be using move construction.

2) Derived classes should take responsibility for transferring bits of
   superclass state around, and not rely on something else to handle that.

The second point is not a huge problem for PLDHashTable (PLDHashTable
only has to copy PLDHashEntryHdr's bits in a single place), but future
hash table implementations that might move entries around more
aggressively would have to insert compensation code all over the
place. Additionally, if moving entries is implemented via memcpy (which
is quite common), PLDHashTable copying around bits *again* is
inefficient.

Let's fix all these problems in one go, by:

1) Explicitly declaring the set of constructors that PLDHashEntryHdr
   implements (and does not implement). In particular, the copy
   constructor is deleted, so any derived classes that attempt to make
   themselves copyable will be detected at compile time: the compiler
   will complain that the superclass type is not copyable.

This change on its own will result in many compiler errors, so...

2) Change any derived classes to implement move constructors instead of
   copy constructors. Note that some of these move constructors are,
   strictly speaking, unnecessary, since the relevant classes are moved
   via memcpy in nsTHashtable and its derivatives.
2018-09-20 11:20:36 -04:00
Jonathan Kew
1b456cbb54 Bug 1492518 - Remove 16-bit version of GenerateFontListKey, no longer used anywhere. r=lsalzman 2018-09-20 14:23:26 +01:00
Jonathan Kew
aa3e389fe2 Bug 1492220 - Fix encoding-form mismatch in macOS impl of GetVariationAxes. r=lsalzman 2018-09-19 09:25:58 +01:00
Bas Schouten
3f601ce856 Bug 1479640: Restructure cleartype parameter code to run less frequently and only in the parent process. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D4784

--HG--
extra : moz-landing-system : lando
2018-09-13 18:59:27 +00:00
Jonathan Kew
ec73ee3318 Bug 1491860 - Use utf-8 rather than utf-16 strings to read/store font family names from preferences, as they're almost entirely ASCII. r=lsalzman 2018-09-18 09:34:24 +01:00
Jonathan Kew
0d4dbd1e37 Bug 1490997 - Use nsAtom instead of nsString for font family name in the FontFamilyName struct, and switch its methods from 16-bit to 8-bit strings. r=lsalzman 2018-09-18 09:34:21 +01:00
Andrew Osmond
8be55f0165 Bug 1337111 - Part 5. Add pref to force decoding of full frames, disabled by default. r=tnikkel 2018-09-17 15:06:29 -04:00
Coroiu Cristina
de5411772c Backed out 6 changesets (bug 1337111) for build bustages at builds/worker/workspace/build/src/image/SurfaceFilters.h on a CLOSED TREE
Backed out changeset ca0caa556dc9 (bug 1337111)
Backed out changeset d7d7fa868d0d (bug 1337111)
Backed out changeset 93e956e89a21 (bug 1337111)
Backed out changeset f36337c1309b (bug 1337111)
Backed out changeset 1b1e25b0b345 (bug 1337111)
Backed out changeset 3785cdebe6a3 (bug 1337111)
2018-09-17 20:42:30 +03:00
Andrew Osmond
f823b924c8 Bug 1337111 - Part 5. Add pref to force decoding of full frames, disabled by default. r=tnikkel 2018-09-17 13:21:38 -04:00
Dorel Luca
7a91966c10 Merge mozilla-inbound to mozilla-central. a=merge 2018-09-15 12:46:59 +03:00
Bobby Holley
9942d41fd9 Bug 1491478 - Properly attribute the memory report when using the GPU process. r=mstange
MozReview-Commit-ID: Db9mz5jQKwG
2018-09-14 22:04:38 -07:00
Bobby Holley
45da216271 Bug 1491478 - Don't collect WR memory reports when it's not enabled. r=mstange
MozReview-Commit-ID: Ek2bgg2D3Bq
2018-09-14 22:04:23 -07:00
Bobby Holley
1909109298 Bug 1491478 - Move WebRender memory reporting back to gfxPlatform. r=me
This is how things looked when jrmuizel reviewed them.

MozReview-Commit-ID: Gqp1tcNzsjC
2018-09-14 22:03:49 -07:00
Jeff Muizelaar
3a0d8a821d Bug 1491141. Don't include old Tesla devices in webrender.qualified r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D5805

--HG--
extra : moz-landing-system : lando
2018-09-14 22:35:34 +00:00
David Major
2292c52f8f Bug 1491279: Backed out clang-cl workaround from bug 1479842 that is no longer needed. r=me 2018-09-14 08:30:56 -04:00
Jeff Muizelaar
9bcfb295a7 Bug 1490891. Support toggling paint flashing in blob images r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D5730

--HG--
extra : moz-landing-system : lando
2018-09-13 20:34:38 +00:00
Cosmin Sabou
5b41e41329 Backed out changeset 2f15d5f434d8 (bug 1490891) for reftests and crashtest failures. CLOSED TREE 2018-09-13 22:29:45 +03:00
Jeff Muizelaar
66aa4d36c4 Bug 1490891. Support toggling paint flashing in blob images r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D5730

--HG--
extra : moz-landing-system : lando
2018-09-13 17:08:43 +00:00
sotaro
76aef326b1 Bug 1490528 - do not preload attachments for D3D11 Non-WR compositor when WR is used r=mattwoodrow 2018-09-13 13:23:38 +09:00
Daniel Varga
296d94715f Merge mozilla-inbound to mozilla-central. a=merge 2018-09-13 05:30:59 +03:00
Jeff Muizelaar
1316d86812 Bug 1490742. Enable gfx.webrender.qualified.all on Nightly r=Gankro
Differential Revision: https://phabricator.services.mozilla.com/D5701

--HG--
extra : moz-landing-system : lando
2018-09-12 19:40:32 +00:00
Cameron McCormack
fe196275ba Bug 1489529 - Update comments to no longer point to nsRuleNode. r=emilio
There are a few mentions of nsRuleNode left but they are mostly
historical references so it makes sense to keep them.

Differential Revision: https://phabricator.services.mozilla.com/D5505
2018-09-12 17:37:37 +10:00
Lee Salzman
907071413e Bug 1486810 - round sizes in blur assertion. r=rhunt 2018-09-11 14:33:45 -04:00
Gerald Squelart
b51e0fd0cc Bug 1489944 - Fixed some std::move warnings - r=froydnj
> dom/media/gmp/CDMStorageIdProvider.cpp(63,10):  warning:
> local variable 'storageId' will be copied despite being returned by name [-Wreturn-std-move]
nsAutoCString -> nsCString, will add std::move().

> layout/painting/DisplayItemClip.cpp(581,10):  warning:
> local variable 'str' will be copied despite being returned by name [-Wreturn-std-move]
nsAutoCString -> nsCString, will add std::move().

> layout/painting/DisplayItemClipChain.cpp(88,10):  warning:
> local variable 'str' will be copied despite being returned by name [-Wreturn-std-move]
nsAutoCString -> nsCString, will add std::move().

> layout/painting/nsDisplayList.cpp(179,10):  warning:
> local variable 'str' will be copied despite being returned by name [-Wreturn-std-move]
nsAutoCString -> nsCString, will add std::move().

> gfx/thebes/gfxWindowsPlatform.cpp(454,10):  warning:
> moving a local object in a return statement prevents copy elision [-Wpessimizing-move]
Will remove std::move().

> gfx/thebes/gfxFontEntry.cpp(245,20):  warning:
> local variable 'name' will be copied despite being returned by name [-Wreturn-std-move]
nsAutoCString -> nsCString, will add std::move().

> netwerk/cookie/nsCookieService.cpp(4460,10):  warning:
> local variable 'path' will be copied despite being returned by name [-Wreturn-std-move]
GetPathFromURI() result is stored in an nsAutoCString, so it might as well return that type.

> toolkit/components/extensions/WebExtensionPolicy.cpp(462,12):  warning:
> local variable 'result' will be copied despite being returned by name [-Wreturn-std-move]
> toolkit/components/extensions/WebExtensionPolicy.cpp(475,10):  warning:
> local variable 'result' will be copied despite being returned by name [-Wreturn-std-move]
`result` may be empty or may be arbitrarily long, so I'll use nsCString inside the function.

> toolkit/xre/CmdLineAndEnvUtils.h(349,10):  warning:
> moving a local object in a return statement prevents copy elision [-Wpessimizing-move]
Returning an UniquePtr, will remove std::move().
Also will `return s` instead of `return nullptr` when `(!s)`, to avoid extra construction which could also prevent elision (not entirely sure, but it's at least not worse!); and it's clearer that the two `return`s return the same already-constructed on-stack object.

> tools/profiler/core/shared-libraries-win32.cc(111,10):  warning:
> local variable 'version' will be copied despite being returned by name [-Wreturn-std-move]
nsPrintfCString -> nsCString, will add std::move().

> xpcom/glue/FileUtils.cpp(179,10):  warning:
> local variable 'fullName' will be copied despite being returned by name [-Wreturn-std-move]
> xpcom/glue/FileUtils.cpp(209,10):  warning:
> local variable 'path' will be copied despite being returned by name [-Wreturn-std-move]
nsAuto{,C}String -> ns{,C}String, will add std::move().

This allowed removals of 'AllowCompilerWarnings' from layout/painting,
netwerk/cookie, and toolkit/components/extensions.

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

--HG--
extra : moz-landing-system : lando
2018-09-10 15:51:48 +00:00
Mike Hommey
117e48720c Bug 1489363 - Replace some string.Assign* with AssignLiteral. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D5224

--HG--
extra : moz-landing-system : lando
2018-09-07 22:12:01 +00:00
Gurzau Raul
d4d9bd916d Backed out changeset 9762d76da9b3 (bug 1480293) for failing at aboutmemory/tests/test_memoryReporters.xul 2018-09-14 22:32:18 +03:00
Bobby Holley
42a527b3d1 Bug 1480293 - Basic Memory Reporting for WebRender. r=jrmuizel
Reviewers: jrmuizel, gw

Tags: #secure-revision

Bug #: 1480293

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

MozReview-Commit-ID: 1vGl3890CjR
2018-09-14 10:59:00 -07:00
Jonathan Kew
6f42f167fb Bug 1490402 - Use UTF-8 strings (in place of UTF-16) for font family/face names in the system font list, to reduce memory footprint. r=lsalzman 2018-09-12 20:34:57 +01:00
Jonathan Kew
6428deabb4 Bug 1487553 - Use a more compact representation for gfxSparseBitSet. r=lsalzman 2018-09-06 00:04:30 +02:00
Bas Schouten
d9c0061198 Bug 1486875: Make it possible to skip composition or painting using environment variables. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D4526

--HG--
extra : moz-landing-system : lando
2018-09-04 00:18:11 +00:00
Tom Ritter
e34e47cde5 Bug 1480457 Don't pass 'false' into a pointer field; pass nullptr r=aklotz
MozReview-Commit-ID: FUA6jMwCV1d

Depends on D4571

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

--HG--
extra : moz-landing-system : lando
2018-08-30 12:08:27 +00:00
aceman
77d5a7fd81 Bug 1486311 - convert remaining nsIFile::GetDirectoryEntries() callers to pass in a nsIDirectoryEnumerator. r=kmag 2018-08-26 14:15:00 +03:00
Kris Maglione
d040edd44f Bug 1484496: Follow-up: Fix NoQueryNeeded assertion on Windows debug. r=bustage CLOSED TREE 2018-08-23 16:05:29 -07:00
Patrick Walton
b8b76ab4fe Bug 1485538 - Expose WebRender's "show overdraw" debug mode behind a pref. r=jrmuizel 2018-08-10 20:17:01 -07:00
Landry Breuil
984eaf80dd Bug 1457092 - Content sandbox codepaths are Linux only. r=gcp
--HG--
extra : rebase_source : e8c79bc0dfb1b8f03d2ceec98835f9f6ac7a4612
2018-08-22 05:27:00 -04:00
Brindusan Cristian
d21b936680 Merge inbound to mozilla-central. a=merge 2018-08-23 01:00:10 +03:00
Lee Salzman
5b4c63c8a1 Bug 1485358 - fix purging of missing glyph WebRender users. r=me 2018-08-22 11:12:33 -04:00
Daniel Holbert
5584dee150 Bug 1485161: Make gfxPlatform::GetDefaultFontName() return nsAutoString, to enable possibility of Return Value Optimization & to address build warning. r=jfkthame
This function uses a nsAutoString internally, and its caller stores its
returned value in a nsAutoString. So it's silly for us to have it return a
different type (nsString). With this change, the compiler should be able to
perform return value optimization and avoid the need for any
copying/reallocation of this function's return value.

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

--HG--
extra : moz-landing-system : lando
2018-08-22 13:34:16 +00:00
Lee Salzman
bf12f26ad9 Bug 1479196 - draw missing glyphs from an atlas instead of rectangles. r=jfkthame 2018-08-21 12:40:36 -04:00
Tanushree Podder
efd8c4f4fb Bug 1357785 - Expose the Visual Viewport API to web content. r=botond, r=nika
--HG--
extra : amend_source : 8e5fe3e3195dd82aef19a4c79df31e2048024c99
2018-08-20 16:28:42 -04:00
Daosheng Mu
a0fe81c1da Bug 1430038 - Part 3: Construct IPC connection for VR/GPU process; r=kip, jimm, jgilbert
Summary: MozReview-Commit-ID: 2kOyfC4TFZP

Tags: #secure-revision

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

MozReview-Commit-ID: 17O2xbRMOFJ

--HG--
extra : rebase_source : fdf55e8542dd5487868cfe36fc27f447d95528de
2018-08-06 22:47:18 -07:00
Daosheng Mu
8ac5934ce1 Bug 1430038 - Part 1: Add VR process to the process list; r=kip, jimm
Summary: MozReview-Commit-ID: AWyFur2gLCQ

Tags: #secure-revision

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

MozReview-Commit-ID: HHGDiXyaqnB

--HG--
extra : rebase_source : cbb94eb1aaca4ca385559c0e997b508a80121105
2018-06-22 16:30:14 -07:00
Nicolas Silva
0805d95b99 Bug 1482109 - Hook the memory pressure observer up with WebRender. r=sotaro
--HG--
extra : rebase_source : e23d9db4ffff5d1994f476e660f7f6cbe52e6ad6
2018-08-20 15:23:54 +02:00
Henri Sivonen
3edc601325 Bug 1402247 - Use encoding_rs for XPCOM string encoding conversions. r=Nika,erahm,froydnj.
Correctness improvements:

 * UTF errors are handled safely per spec instead of dangerously truncating
   strings.

 * There are fewer converter implementations.

Performance improvements:

 * The old code did exact buffer length math, which meant doing UTF math twice
   on each input string (once for length calculation and another time for
   conversion). Exact length math is more complicated when handling errors
   properly, which the old code didn't do. The new code does UTF math on the
   string content only once (when converting) but risks allocating more than
   once. There are heuristics in place to lower the probability of
   reallocation in cases where the double math avoidance isn't enough of a
   saving to absorb an allocation and memcpy.

 * Previously, in UTF-16 <-> UTF-8 conversions, an ASCII prefix was optimized
   but a single non-ASCII code point pessimized the rest of the string. The
   new code tries to get back on the fast ASCII path.

 * UTF-16 to Latin1 conversion guarantees less about handling of out-of-range
   input to eliminate an operation from the inner loop on x86/x86_64.

 * When assigning to a pre-existing string, the new code tries to reuse the
   old buffer instead of first releasing the old buffer and then allocating a
   new one.

 * When reallocating from the new code, the memcpy covers only the data that
   is part of the logical length of the old string instead of memcpying the
   whole capacity. (For old callers old excess memcpy behavior is preserved
   due to bogus callers. See bug 1472113.)

 * UTF-8 strings in XPConnect that are in the Latin1 range are passed to
   SpiderMonkey as Latin1.

New features:

 * Conversion between UTF-8 and Latin1 is added in order to enable faster
   future interop between Rust code (or otherwise UTF-8-using code) and text
   node and SpiderMonkey code that uses Latin1.

MozReview-Commit-ID: JaJuExfILM9
2018-08-14 14:43:42 +03:00
Ting-Yu Lin
316a8e0c1d Bug 1482665 Part 4 - Remove nsDeviceContext::AppUnitsPerCSSPixel() and replace it with mozilla::AppUnitsPerCSSPixel(). r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D3157
2018-08-13 14:29:30 -07:00
Emilio Cobos Álvarez
f75cc9db05 Bug 1481905 - When canceling a user font load, make sure to not leave mUserFontLoadState as LOADING. r=jfkthame
Since that's what we use to kick off new loads, should they be needed.

Differential Revision: https://phabricator.services.mozilla.com/D3111
2018-08-12 15:30:45 +02:00
Bogdan Tara
dfe849c923 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-08-11 06:46:31 +03:00
Nicolas Silva
33f0e6077e Bug 1482109 - Use the generic memory pressure observer in gfxPlatfrom. r=sotaro 2018-08-10 17:15:12 +02:00
Jeff Gilbert
8042ec3150 Bug 1482301 - Remove webgl.webgl2-compat-mode. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D3070

--HG--
extra : moz-landing-system : lando
2018-08-10 12:51:22 +00:00
Margareta Eliza Balazs
f617807241 Merge inbound to mozilla-central. a=merge 2018-08-10 12:17:09 +03:00
Mike Conley
f5158dd297 Bug 1481913 - Allow texture direct mapping by default on macOS. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D2960

--HG--
extra : moz-landing-system : lando
2018-08-09 21:27:55 +00:00
Daniel Varga
31ff8cd9c8 Merge mozilla-central to mozilla inbound. a=merge 2018-08-09 01:10:56 +03:00
Nazım Can Altınova
2ee5623032 Bug 1480499 - Add profiler label frame to gfxUserFontEntry::LoadPlatformFont with the OTHER category r=mstange
MozReview-Commit-ID: 49eCKAMxy3I

--HG--
extra : rebase_source : ee17aaded12943d7a150bf3f8d15d58d246c2ce5
2018-08-03 15:15:24 +02:00
Jonathan Kew
a7dc2e2bd2 Bug 1481842 - Apply 50% opacity as intended to the border (or filled box on mobile) used for missing-glyph rendering. r=lsalzman 2018-08-08 17:15:42 +01:00
Brindusan Cristian
181d4f159b Backed out 10 changesets (bug 1478815) for reftest failures on /reftests/layers/forced-bg-color-outside-visible-region.html. CLOSED TREE
Backed out changeset 7ae4c893867a (bug 1478815)
Backed out changeset b865a866fe5a (bug 1478815)
Backed out changeset 405ad3518218 (bug 1478815)
Backed out changeset 64cb50b227e0 (bug 1478815)
Backed out changeset 392a724d5acd (bug 1478815)
Backed out changeset 01110727f2e9 (bug 1478815)
Backed out changeset 56d967e03ee2 (bug 1478815)
Backed out changeset 082638a5c643 (bug 1478815)
Backed out changeset 3dc47f17fa44 (bug 1478815)
Backed out changeset 699c954992f8 (bug 1478815)

--HG--
rename : gfx/2d/BufferEdgePad.cpp => gfx/layers/BufferEdgePad.cpp
rename : gfx/2d/BufferEdgePad.h => gfx/layers/BufferEdgePad.h
rename : gfx/2d/BufferUnrotate.cpp => gfx/layers/BufferUnrotate.cpp
rename : gfx/2d/BufferUnrotate.h => gfx/layers/BufferUnrotate.h
2018-08-07 20:57:27 +03:00
Ryan Hunt
8b6aa26413 Bug 1478815 part 9 - Add ability to create a DrawTargetCapture that can flush to its destination draw target. r=bas
This commit adds the ability to create a different kind of DrawTargetCapture which
has a limit on the size of which its CaptureCommandList can grow before it is
synchronously flushed to its destination DrawTarget.

Special care is taken to not do a sync flush until we would need to resize
the backing store of the CaptureCommandList. This allows us to not waste
memory we've already allocated.

The async painting content clients are updated to use it, and get a default
value from a new preference.

MozReview-Commit-ID: CJL7ffvaRzR

--HG--
extra : rebase_source : 546d9838808320c51d9ceef0ed0ffcbb88a16269
2018-07-26 16:33:07 -05:00
Gabriele Svelto
15adf94f4d Bug 1348273 - Convert crash annotations into a machine-readable list of constants; r=ted.mielczarek,njn,dholbert,mak,cpearce,mcmanus,froydnj,Dexter,jrmuizel,jchen,jimm,bz,surkov
This introduces the machinery needed to generate crash annotations from a YAML
file. The relevant C++ functions are updated to take a typed enum. JavaScript
calls are unaffected but they will throw if the string argument does not
correspond to one of the known entries in the C++ enum. The existing whitelists
and blacklists of annotations are also generated from the YAML file and all
duplicate code related to them has been consolidated. Once written out to the
.extra file the annotations are converted in string form and are no different
than the existing ones.

All existing annotations have been included in the list (and some obsolete ones
have been removed) and all call sites have been updated including tests where
appropriate.

--HG--
extra : source : 4f6c43f2830701ec5552e08e3f1b06fe6d045860
2018-07-05 15:42:11 +02:00
Ryan Hunt
16e8c5d426 Bug 1478815 part 9 - Add ability to create a DrawTargetCapture that can flush to its destination draw target. r=bas
This commit adds the ability to create a different kind of DrawTargetCapture which
has a limit on the size of which its CaptureCommandList can grow before it is
synchronously flushed to its destination DrawTarget.

Special care is taken to not do a sync flush until we would need to resize
the backing store of the CaptureCommandList. This allows us to not waste
memory we've already allocated.

The async painting content clients are updated to use it, and get a default
value from a new preference.

MozReview-Commit-ID: CJL7ffvaRzR

--HG--
extra : rebase_source : f646862dcef7a480b21dfb7ddb1fa165338ba506
extra : source : b865a866fe5a3257615cb54b7e5e790cc9331988
2018-07-26 16:33:07 -05:00
Andi-Bogdan Postelnicu
b2d4c86823 Bug 1453795 - GFX - Initialize member fields in classes/ structures. r=nical
--HG--
extra : rebase_source : 56f2cc017632bf27115490ae05254019108c6179
extra : amend_source : 98ea6c3c02a9f7650d2cf65deaf5085cf9a2efa4
2018-06-16 17:42:33 +03:00
Masatoshi Kimura
3b21b7868b Bug 1090497 - Re-enable warnings as errors on clang-cl. r=froydnj
--HG--
extra : rebase_source : c09366fb93e5b0f72abe1e99d3094e3d96a934fb
extra : intermediate-source : 5950c9d63c3b4fd63a25464a7b50944aaec7079f
extra : source : ca1b9a2bcc4381795f556fea2fb59066567c30f3
2018-07-31 22:10:07 +09:00
Cosmin Sabou
de8c2bd891 Backed out changeset 5950c9d63c3b (bug 1090497) for build bustages on several files. CLOSED TREE 2018-08-02 19:59:53 +03:00
Brian Hackett
3c13dd9f31 Bug 1479641 - Don't record counting allocator amount, r=froydnj.
--HG--
extra : rebase_source : 23de9644662c1f9ed36429074837e54bb7cac868
2018-07-31 19:22:54 +00:00
Masatoshi Kimura
feea19030c Bug 1090497 - Re-enable warnings as errors on clang-cl. r=froydnj
--HG--
extra : rebase_source : a62521fdc66def4e4d5d7bf52e68365a786b5c55
extra : source : ca1b9a2bcc4381795f556fea2fb59066567c30f3
2018-07-31 22:10:07 +09:00
Jonathan Kew
0165cf1194 Bug 1478716 - Ensure we only call FT_Get_MM_Var once per face (and cache the result in the font entry), to avoid being bitten by freetype bug 52955 on Ubuntu. r=lsalzman 2018-08-01 22:39:05 +01:00
David Major
f9500eac94 Bug 1479842: Don't PGO gfxFontInfoLoader.cpp with clang-cl. r=froydnj 2018-08-01 15:10:13 -04:00
Randall Barker
6d045ccecb Bug 1479549 Add a pref to disable double tap zooming in APZ r=botond
MozReview-Commit-ID: HK5RWuI6lIk
2018-08-01 11:25:32 -07:00
David Major
a9e8069a9b Bug 1479456: Fix some non-unified bustage in gfx/thebes. r=jrmuizel 2018-08-01 13:02:18 -04:00
Nicolas Silva
514e74387d Bug 1474722 - Prevent large rect integer overflows without forbidding large nine-patches. r=Bas 2018-08-01 17:13:12 +02:00
Lee Salzman
c3f5240478 Bug 1258781 - reduce Skia font cache size to 5MB. r=bz 2018-07-31 14:03:22 -04:00
Cosmin Sabou
bfc1e72e01 Backed out changeset 9035ff3757ac (bug 1415980) at request from froydnj on the suspicion that it's going to break MSVC builds when it gets merged to central. 2018-07-31 01:19:49 +03:00
Nathan Froyd
017b016850 Bug 1415980 - make hash keys movable and not copyable; r=erahm
Everything that goes in a PLDHashtable (and its derivatives, like
nsTHashtable) needs to inherit from PLDHashEntryHdr.  But through a lack
of enforcement, copy constructors for these derived classes didn't
explicitly invoke the copy constructor for PLDHashEntryHdr (and the
compiler didn't invoke the copy constructor for us).  Instead,
PLDHashTable explicitly copied around the bits that the copy constructor
would have.

The current setup has two problems:

1) Derived classes should be using move construction, not copy
   construction, since anything that's shuffling hash table keys/entries
   around will be using move construction.

2) Derived classes should take responsibility for transferring bits of
   superclass state around, and not rely on something else to handle
   that.

The second point is not a huge problem for PLDHashTable (PLDHashTable
only has to copy PLDHashEntryHdr's bits in a single place), but future
hash table implementations that might move entries around more
aggressively would have to insert compensation code all over the place.
Additionally, if moving entries is implemented via memcpy (which is
quite common), PLDHashTable copying around bits *again* is inefficient.

Let's fix all these problems in one go, by:

1) Explicitly declaring the set of constructors that PLDHashEntryHdr
   implements (and does not implement).  In particular, the copy
   constructor is deleted, so any derived classes that attempt to make
   themselves copyable will be detected at compile time: the compiler
   will complain that the superclass type is not copyable.

   This change on its own will result in many compiler errors, so...

2) Change any derived classes to implement move constructors instead
   of copy constructors.  Note that some of these move constructors are,
   strictly speaking, unnecessary, since the relevant classes are moved
   via memcpy in nsTHashtable and its derivatives.
2018-07-30 17:15:11 -04:00
Jonathan Kew
a78b7458a9 Bug 1478720 - Increase the fractional adjustment applied to 'opsz' on macOS to avoid using the font's default setting, which may be mishandled by Core Text. r=lsalzman 2018-07-30 17:53:09 +01:00
Jeff Muizelaar
fd810fa7ce Bug 1478150. Restrict webrender qualified to modern Nvidia gpus. r=kats
MozReview-Commit-ID: 1CyOgLkqD40

--HG--
extra : rebase_source : 0766de768efa82cf70f98a262d7e33b6dfd258d9
2018-07-26 15:10:35 -04:00
Brian Hackett
99d34528e4 Bug 1465466 Part 1 - Use a separate compositor in recording/replaying processes, r=nical.
--HG--
extra : rebase_source : 003f6557370f2e4e6959ea14e833f7e2e617c5b0
2018-07-23 21:46:47 +00:00
Gurzau Raul
19e302fb18 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-07-24 12:52:06 +03:00
Kris Maglione
7aa3564a28 Bug 1477579: Part 3 - Avoid duplicating static strings in category manager entries. r=froydnj
Much like the component manager, many of the strings that we use for category
manager entries are statically allocated. There's no need to duplicate these
strings.

This patch changes the category manager APIs to take nsACStrings rather than
raw pointers, and to pass literal nsCStrings when we know we have a literal
string to begin with. When adding the category entry, it then skips making
copies of any strings with the LITERAL flag.

MozReview-Commit-ID: EJEcYSdNMWs
***
amend-catman

--HG--
extra : source : aa9a8f18e98f930a3d8359565eef02f3f6efc5f9
extra : absorb_source : 81a22ab26ee8017ac43321ff2c987d8096182d37
2018-07-23 17:41:06 -07:00
Brindusan Cristian
91a3707d5f Backed out 3 changesets (bug 1477579) for build bustages on xpcshell\selftest.py and crashtest failures on /components/nsComponentManager.cpp. CLOSED TREE
Backed out changeset aa9a8f18e98f (bug 1477579)
Backed out changeset 5fb0b7746a5d (bug 1477579)
Backed out changeset 8359f8fe4184 (bug 1477579)
2018-07-24 04:55:03 +03:00
Kris Maglione
dfd38a6ac3 Bug 1477579: Part 3 - Avoid duplicating static strings in category manager entries. r=froydnj
Much like the component manager, many of the strings that we use for category
manager entries are statically allocated. There's no need to duplicate these
strings.

This patch changes the category manager APIs to take nsACStrings rather than
raw pointers, and to pass literal nsCStrings when we know we have a literal
string to begin with. When adding the category entry, it then skips making
copies of any strings with the LITERAL flag.

MozReview-Commit-ID: EJEcYSdNMWs
***
amend-catman

--HG--
extra : rebase_source : 4f70e7b296ecf3b52a4892c92155c7c163d424d2
2018-07-23 17:41:06 -07:00
Brian Hackett
e897f52beb Bug 1207696 Part 6c - Disable accelerated canvases when recording or replaying, r=dvander.
--HG--
extra : rebase_source : 7076c2b59d6f6546d91fe785f448b0c829c4c56a
2018-07-23 14:41:58 +00:00
Doug Thayer
9b62998d60 Bug 1265824 - Guard client storage stuff behind a pref r=mattwoodrow
MozReview-Commit-ID: DjKhtMDJ91C

--HG--
extra : rebase_source : b9abb9b9b13132cd560d1ca9677183790b2d06e2
2018-06-22 11:10:41 -07:00
Kartikaya Gupta
e750c8c1b4 Bug 1475637 - Add a mechanism for dumping an interleaved display list. r=jrmuizel
The prefs, when enabled, will dump the gecko DL items followed by the
WR DL items that were generated from that gecko item. This allows us to
easily go from a DOM element with known id/class attributes to e.g. an
ImageKey of an image that was generated for that element.

Also, this logging can be enabled in CI builds just like gecko display-list
dumping, instead of the ifdef that we previously had in WebRenderLayerManager.

MozReview-Commit-ID: Eeo4iO62YY1

--HG--
extra : rebase_source : b4a348b2e8bced976489257b966f70b29c56df25
2018-07-19 15:30:30 -04:00
Jeff Muizelaar
c4b5567231 Bug 1477036. Expose wrQualified in telemetry. r=kats
This adds a WEBRENDER_QUALIFIED feature that's set whenever the webrender could
be used on a machine regardless of whether it's actually being used.

MozReview-Commit-ID: Eke6PMKQOnx

--HG--
extra : rebase_source : 977d371c12c9e8ab3273d6e65655e0378c22c226
2018-07-19 14:05:29 -04:00
Miko Mynttinen
0c42827471 Bug 1462672 - Part 5: Add a pref flag to allow flattening inactive nsDisplayTransform items r=mattwoodrow
MozReview-Commit-ID: BQGzaAMzReF

--HG--
extra : rebase_source : 42678409280a795fe891e10eceb86fa269d1d2de
2018-07-16 21:27:08 +02:00
Robert Bartlensky
dbbe5d1893 Bug 1476645: Fix DEAD_STORE errors in gfx/*. r=lsalzman
MozReview-Commit-ID: GYAWaLcpfsz

--HG--
extra : rebase_source : 30b9bdfda57e2773d5311dad83fa7ea468865c70
2018-07-18 16:54:00 +01:00
Margareta Eliza Balazs
b1e7992b82 Backed out 8 changesets (bug 1265824) for bustage in /builds/worker/workspace/build/src/gfx/layers/opengl/CompositorOGL.cpp on a CLOSED TREE
Backed out changeset 1099d6f15f9f (bug 1265824)
Backed out changeset b5ba15b1a70f (bug 1265824)
Backed out changeset 51795de4adaf (bug 1265824)
Backed out changeset be68741ff4ce (bug 1265824)
Backed out changeset 4731dc56702d (bug 1265824)
Backed out changeset 984133e9614b (bug 1265824)
Backed out changeset efce316a4425 (bug 1265824)
Backed out changeset 367abce30668 (bug 1265824)
2018-07-19 09:33:28 +03:00
Doug Thayer
aa98d8cbd6 Bug 1265824 - Guard client storage stuff behind a pref r=mattwoodrow
MozReview-Commit-ID: DjKhtMDJ91C

--HG--
extra : rebase_source : 3f281360a5731e95ba345c92af8c550af9acf498
2018-06-22 11:10:41 -07:00
Cosmin Sabou
fea686b1f6 Backed out 10 changesets (bug 1265824) for causing reftests failures on global-composite-operation.html. CLOSED TREE
Backed out changeset 391c8e7897df (bug 1265824)
Backed out changeset 27c7daabd1a3 (bug 1265824)
Backed out changeset 7c90215a2eca (bug 1265824)
Backed out changeset c141fb67cf9a (bug 1265824)
Backed out changeset 239ab9f9ef52 (bug 1265824)
Backed out changeset 39ae151b3d8c (bug 1265824)
Backed out changeset 71b23fbe1fec (bug 1265824)
Backed out changeset 295dd1a6a09f (bug 1265824)
Backed out changeset 6aecd088e02c (bug 1265824)
Backed out changeset bf9d73b214fc (bug 1265824)
2018-07-23 19:36:37 +03:00
Doug Thayer
0c67ce8aa1 Bug 1265824 - Guard client storage stuff behind a pref r=mattwoodrow
MozReview-Commit-ID: DjKhtMDJ91C

--HG--
extra : rebase_source : f357451ca18254be7474adf52f5088d0315c6d98
2018-06-22 11:10:41 -07:00
Ryan Hunt
c7eb70ba65 Bug 1471639 - Allow OMTP with edge-padding. r=nical
MozReview-Commit-ID: JUNk79jLQcj

--HG--
extra : source : a6aacf58c4a6dc5621c3faa0387f775d699aa6f1
2018-07-16 15:01:26 -05:00
Cosmin Sabou
88199de427 Merge mozilla-inbound to mozilla-central. a=merge 2018-07-18 20:19:59 +03:00
Bas Schouten
2ffa4da191 Bug 1476506: Move RoundedRect into Moz2D and convert all callers. r=mattwoodrow 2018-07-18 08:55:43 +02:00
Sylvestre Ledru
6c3c26c3f7 Bug 1468273 - Fix flake8/pep8 issues by hand in gfx/ r=ted
MozReview-Commit-ID: BFnq9JpWZxq

--HG--
extra : rebase_source : d56375d1ff0f183f95e0565851191190fe41e34b
2018-06-10 14:15:18 +02:00
Margareta Eliza Balazs
9de29c1f5a Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-07-18 12:40:51 +03:00
Jeff Muizelaar
5c51801714 Bug 1475355. Only use WebRender if there's no battery. r=kats
MozReview-Commit-ID: 86cfi2SGkA2

--HG--
extra : rebase_source : 078f17d049c86d9110ae2a26edb58455070b8eb0
2018-07-17 18:05:44 -04:00
Kris Maglione
82a9ede2c1 Bug 1473631: Part 9 - Replace pref observers with callbacks in gfxPlatformFontList. r=njn
MozReview-Commit-ID: AT8BmGNj6QD

--HG--
extra : rebase_source : 008374f7dcf5a0e5f8b611a3ab37b4ce4dc80e5e
2018-07-05 14:47:39 -07:00
Kris Maglione
ef3718fbe1 Bug 1473631: Part 8 - Replace pref observers with callbacks in gfxPlatform. r=njn
MozReview-Commit-ID: GNTGqvahsoz

--HG--
extra : rebase_source : 4ca9d989ffd1f30d2fb4b9726ec0d814a7412266
2018-07-05 14:43:02 -07:00
Kris Maglione
0bfdb4329f Bug 1473631: Part 0a - Make preference callbacks typesafe. r=njn
I initially tried to avoid this, but decided it was necessary given the number
of times I had to repeat the same pattern of casting a variable to void*, and
then casting it back in a part of code far distant from the original type.

This changes our preference callback registration functions to match the type
of the callback's closure argument to the actual type of the closure pointer
passed, and then casting it to the type of our generic callback function. This
ensures that the callback function always gets an argument of the type it's
actually expecting without adding any additional runtime memory or
QueryInterface overhead for tracking it.

MozReview-Commit-ID: 9tLKBe10ddP

--HG--
extra : rebase_source : 7524fa8dcd5585f5a31fdeb37d95714f1bb94922
2018-07-06 12:24:41 -07:00
Xidorn Quan
1f2e5ca9b2 Bug 1472386 - Take overflow-wrap into account when calculating min-content intrinsic size. r=jfkthame
MozReview-Commit-ID: Fu6Gbmxs4PN

--HG--
extra : rebase_source : b90c58f16c5cad717961b586fc0a6574343a5692
2018-07-09 14:54:34 +10:00
Ryan Hunt
cfffe8f09f Bug 1471892 - Block OMTP before OSX 10.10 to work around CoreGraphics crash. r=jrmuizel
MozReview-Commit-ID: JYmlucAG6rB

--HG--
extra : rebase_source : 03c0963bf54b967f34108fa7c879b180685dd868
extra : amend_source : b17adf02508d9a93d1d4149a1573919192440fe8
2018-07-10 16:12:58 -05:00
Cosmin Sabou
5b013c7fc5 Backed out 2 changesets (bug 1474722) for causing multiple mochitest failures on several files. CLOSED TREE
Backed out changeset 68019e52d1b9 (bug 1474722)
Backed out changeset 77597cd3461c (bug 1474722)
2018-07-13 13:10:56 +03:00
Nicolas Silva
7a270b1782 Bug 1474722 - Allow very large nine-patched shadows. r=Bas 2018-07-13 11:30:57 +02:00
Andrea Marchesini
bc5414c5f3 Bug 1471189 - Removing 'Terminating' state in workers, r=mrbkap 2018-07-12 19:33:41 +02:00
Nicolas Silva
4ae96a4caa Bug 1474576 - Remove the async scene building pref. 2018-07-10 14:49:21 +02:00
Andrea Marchesini
a053cf1c15 Bug 1476306 - Moving NullPrincipal/ContentPrincipal/SystemPrincipal under mozilla namespace - part 1 - NullPrincipal, r=ckerschb 2018-07-17 21:37:48 +02:00
Kearwood "Kip" Gilbert
d1989d114c Bug 1466699 - Implement VRService thread r=daoshengmu
- Refactored gfxVROpenVR to use gfxVRExternal interface from the
  VR Service.  Existing gfxVROpenVR left in place (for now) to
  allow VR service to be enabled or disabled by pref.
- The VR service, containing gfxVROpenVR, is to run in-process within
  its own thread first, then to be later moved to its own process.
- Fixed periodic immersive mode flicker that occured due to HMD pose and
  HMD state being separately sampled from the Shmem.  It was possible
  to advance a frame without also getting an updated pose if a dirty
  copy of the shmem was detected.
MozReview-Commit-ID: IvpJErmi5kF

--HG--
extra : rebase_source : 0e21d3414a13dc514c3035f2bd5f6adc365b465d
2018-05-08 11:31:28 -07:00
Kris Maglione
3e400a8f72 Bug 1472523: Part 2 - Avoid unnecessary string copies in preference caches. r=njn
MozReview-Commit-ID: 74svGlwMVF1

--HG--
extra : rebase_source : ee25a335773b9afba9125c9092ed95eecc702cd9
2018-06-30 23:07:30 -07:00
Kris Maglione
8e4b8a954f Bug 1472523: Part 1 - Avoid string copies in preference callbacks. r=njn
Most preference callbacks use literal strings for their domain filters, which
means that there's no need to make copies of them at all. Currently, however,
every preference observer node makes a separate heap-allocated copy of its
domain string.

This patch switches the domain string storage to nsCString instances, which
dramatically reduces the amount of unnecessary copies, at the expense of
making the callback nodes slightly larger.

MozReview-Commit-ID: 8NA3t2JS2UI

--HG--
extra : rebase_source : 628ad9af65cec16fb8be0c8dddc608b5ee5602e2
2018-06-30 23:06:17 -07:00
Ryan Hunt
0412e688a8 Bug 1473301 - Remove BorderLayer. r=mattwoodrow
MozReview-Commit-ID: KGXW2lYBZ3c

--HG--
extra : rebase_source : a782ec3fb1c87d1d034219cbd7fd1b8d9d751559
extra : amend_source : ec7c8f7b4080c53a851117cfb1c7611c3606c562
2018-07-03 16:15:58 -05:00
Lee Salzman
e251ecb952 Bug 1460259 - Send synthetic oblique angle to WR. r=jfkthame 2018-07-04 10:56:40 -04:00
Martin Stransky
1f770d80e5 Bug 1467128 - [Wayland] Get VSync from Gtk/Wayland, r=lsalzman
VSync on Wayland is a bit tricky as we can get only "last VSync" event signal with
CLOCK_MONOTONIC timestamp or none (if application is hidden/minimized).

That means we should draw a next frame at "last Vsync + frame delay" time and also
approximate next VSync event when we don't get any.

MozReview-Commit-ID: FI3Z4nkmDNK

--HG--
extra : rebase_source : 8a0f6148990cf4e7ad26ff287eadff87cb0215fc
2018-06-29 13:15:41 +02:00
Jonathan Kew
899b2539d6 Bug 1471584 - Micro-optimize text shaping by avoiding an unnecessary virtual method call. r=lsalzman 2018-06-27 16:12:43 +01:00
Jonathan Kew
1e3aec53f9 Bug 1422530 - Don't initiate new font downloads for a fontGroup where we've already set mSkipDrawing because we're waiting on a resource to be available. r=heycam 2018-06-27 16:12:42 +01:00
Gurzau Raul
729b75ccb4 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-06-27 00:55:38 +03:00
Ryan Hunt
6497093aa2 Bug 1471261 - Add global locking around FT_Load_Glyph to work around postscript hinter global data. r=lsalzman
MozReview-Commit-ID: 9ohfqUnPxMc

--HG--
extra : rebase_source : b4a0e02cd0685a1623cc2bd0ffdc34429f3b8729
2018-06-26 11:30:13 -04:00
Margareta Eliza Balazs
c866c30fcf Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-06-26 12:24:32 +03:00
Chris Peterson
2afd829d0f Bug 1469769 - Part 6: Replace non-failing NS_NOTREACHED with MOZ_ASSERT_UNREACHABLE. r=froydnj
This patch is an automatic replacement of s/NS_NOTREACHED/MOZ_ASSERT_UNREACHABLE/. Reindenting long lines and whitespace fixups follow in patch 6b.

MozReview-Commit-ID: 5UQVHElSpCr

--HG--
extra : rebase_source : 4c1b2fc32b269342f07639266b64941e2270e9c4
extra : source : 907543f6eae716f23a6de52b1ffb1c82908d158a
2018-06-17 22:43:11 -07:00
Margareta Eliza Balazs
03ab62719a Merge mozilla-central to autoland. a=merge CLOSED TREE
--HG--
rename : devtools/client/debugger/test/mochitest/browser_dbg_tabactor-01.js => devtools/client/debugger/test/mochitest/browser_dbg_target-scoped-actor-01.js
rename : devtools/client/debugger/test/mochitest/browser_dbg_tabactor-02.js => devtools/client/debugger/test/mochitest/browser_dbg_target-scoped-actor-02.js
2018-06-26 18:08:43 +03:00
Kartikaya Gupta
6ffd31082b Bug 1463911 - Add a pref to force-disable WR. r=chutten,sotaro
This pref can be used by users to force-disable WebRender. It is
recorded in the telemetry environment so we can get a sense of how many
people are setting this pref.

MozReview-Commit-ID: yZSN44NMvD

--HG--
extra : rebase_source : d355236773f63da0f6acb5341f4ae6a88cd0a488
2018-06-25 10:55:33 -04:00
Jean-Yves Avenard
d677c92441 Bug 1470754 - Remove AMD VP9 MFT support r=bryce
Not even AMD supports it anymore.

Differential Revision: https://phabricator.services.mozilla.com/D1793
2018-06-25 17:49:48 +00:00
Lee Salzman
9e14da3f5a Bug 1470515 - refactor ScaledFontFreeType for Android WR. r=rhunt
--HG--
rename : gfx/2d/NativeFontResourceFontconfig.cpp => gfx/2d/NativeFontResourceFreeType.cpp
rename : gfx/2d/NativeFontResourceFontconfig.h => gfx/2d/NativeFontResourceFreeType.h
rename : gfx/2d/ScaledFontCairo.cpp => gfx/2d/ScaledFontFreeType.cpp
rename : gfx/2d/ScaledFontCairo.h => gfx/2d/ScaledFontFreeType.h
2018-06-14 16:42:56 -07:00
Jonathan Kew
77d1c45265 Bug 1468845 - Check calls to GetFontResource for failure and bail out safely. r=lsalzman 2018-06-22 17:49:41 +01:00
Jonathan Kew
27c05b4d9b Bug 1460527 - Add Symbola to the common fallbacks list on Linux, to reduce the probability of falling back to the color-emoji font when emoji-style rendering is not actually wanted. r=m_kato 2018-06-20 19:47:08 +01:00
sotaro
7a2d7e5d6d Bug 1469028 - Supress Renderer threads r=nical 2018-06-21 08:32:09 +09:00
Nicolas Silva
dae63b2e5b Bug 1464243 - Early return when running into blur rects that are way too large. r=Bas 2018-06-20 11:23:09 +02:00
Nicolas Silva
7b8229b86b Bug 1464039 - Only reject qcms transform with invalid grid size if the transform function uses the grid size. r=Bas 2018-06-19 15:32:29 +02:00
Nicolas Silva
fd57446110 Bug 1469041 - Expose WebRender's frame/scene debug indicators. r=kats 2018-06-15 14:21:19 -07:00
Kartikaya Gupta
4ae02b922c Bug 1436409 - Remove the simple-event-region-items pref and bake it in as true. r=miko
MozReview-Commit-ID: IGK1dLSyv00

--HG--
extra : rebase_source : c957cb1faf91306205043bdc2e8d8f327729bdb1
2018-06-08 17:31:27 -04:00
Kartikaya Gupta
ded66f718a Bug 1436409 - Remove the layout.event-regions.enabled pref and bake it in as false everywhere. r=tnikkel
This pref was used to enable the building of nsDisplayLayerEventRegions
items without APZ, so that we could test it in isolation. However, we no
longer need to do so, and these display items are going to be deleted
anyway, so we can remove this pref.

MozReview-Commit-ID: LJVcFafCKyS

--HG--
extra : rebase_source : 76d8eeca8dca4ea88b8226bbe6b829dbc40e03e4
2018-06-08 17:31:27 -04:00
Kartikaya Gupta
aa21a4d224 Bug 1436409 - Remove gecko/APZ hit-test codepath from WebRenderCommandBuilder. r=botond
This removes the gfx.webrender.hit-test pref, assumes a value of true
everywhere it is used, and deletes all the resulting dead code.

Some gtests were setting this pref to false, and they are now updated to
set gfxVars::UseWebRender to false instead, which has the desired effect
of using the non-WR hit-testing codepath in APZ. (The data needed for
this codepath is set up by the gtests themselves).

MozReview-Commit-ID: 9ljDr8eEnv1

--HG--
extra : rebase_source : fbc321861428e7bb0bf7ab811935b682785debdc
2018-06-08 17:31:26 -04:00
Landry Breuil
f519765706 Bug 1457092 - Only include SandboxBroker.h header on Linux sandbox. r=gcp 2018-06-09 08:44:00 -04:00
Lee Salzman
d273b4ddcc Bug 1467552 - make VectorImage::Show force OP_OVER. r=bas 2018-06-08 12:38:13 -04:00
Dorel Luca
535f1df913 Merge mozilla-central to mozilla-inbound 2018-06-04 21:48:29 +03:00
Miko Mynttinen
4c85ef17cc Bug 1465060 - Part 1: Fix warnings for std::move() use r=froydnj
MozReview-Commit-ID: HpdFXqQdIOO

--HG--
extra : rebase_source : 1e7eea4f2d4ec16ec0c559a8afb26976ddbf4d07
2018-06-01 17:59:07 +02:00
Gurzau Raul
f040d25e12 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-06-04 12:53:25 +03:00
Jonathan Kew
7954a2d745 Bug 1466332 - patch 3 - Update StyleDistance function to more closely follow CSS4 Fonts algorithm. r=jwatt 2018-06-03 21:33:53 +01:00
Jonathan Kew
7cfc0cfbdc Bug 1466332 - patch 2 - Update WeightDistance function to more closely follow CSS4 Fonts algorithm. r=jwatt 2018-06-03 21:33:47 +01:00
Jonathan Kew
b4b39146d3 Bug 1466332 - patch 1 - Update StretchDistance function to more closely follow CSS4 Fonts algorithm. r=jwatt 2018-06-03 21:33:42 +01:00
arthur.iakab
7e765f798b Backed out 2 changesets (bug 1465060) for build bustages on security/sandbox/linux/reporter/SandboxReporter.cpp
Backed out changeset 7c8905b6b226 (bug 1465060)
Backed out changeset 10446073eca8 (bug 1465060)
2018-06-03 19:25:41 +03:00
Miko Mynttinen
8d9dc85cd4 Bug 1465060 - Part 1: Fix warnings for std::move() use r=froydnj
MozReview-Commit-ID: HpdFXqQdIOO

--HG--
extra : rebase_source : 619d0e0ff63a2453c80f0c4d9beb906d43fa9b01
2018-06-01 17:59:07 +02:00
Andreea Pavel
4ced6e8b2d Merge mozilla-central to autoland. a=merge 2018-06-03 07:27:01 +03:00
Andrea Marchesini
7ba8b77e07 Bug 1466023 - Separate FontTableURI and BlobURL, r=qdot
This patch splits FontTableURI and BlobURL in 2 classes:
FontTableURIProtocolHandler and BlobURLProtocolHandler
both under mozilla::dom.

It also removes a memory reporter because that report is already covered by the
BlobURL one.

--HG--
rename : dom/file/nsHostObjectProtocolHandler.cpp => dom/file/BlobURLProtocolHandler.cpp
rename : dom/file/nsHostObjectProtocolHandler.h => dom/file/BlobURLProtocolHandler.h
2018-06-02 15:51:42 +02:00
Jonathan Watt
572c8e4059 Bug 1466251 part 1 - Make sure we reject FontFace.loaded if font loading times out. r=heycam 2018-05-15 16:18:40 +01:00
Lee Salzman
50e6372cf9 Bug 1464094 - print font variations as paths for PDF/PS output. r=jfkthame
MozReview-Commit-ID: 3sPKD4pNwdy
2018-06-01 13:08:57 -04:00
Jonathan Kew
d4b7d95206 Bug 1464400 - Keep track of CSS generics when resolving to actual font families and faces, and expose as a new CSSGeneric attribute on InspectorFontFace. r=jwatt 2018-05-25 14:07:57 +01:00
Brindusan Cristian
2c5b7db570 Backed out changeset f8dbb1d2d07c (bug 1464400) for mochitest failures on test_font_whitelist.html. CLOSED TREE 2018-06-01 19:07:24 +03:00
Jonathan Kew
0cc7412d4f Bug 1464400 - Keep track of CSS generics when resolving to actual font families and faces, and expose as a new CSSGeneric attribute on InspectorFontFace. r=jwatt 2018-05-25 14:07:57 +01:00
Emilio Cobos Álvarez
fffb25b74f Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj
This was done automatically replacing:

  s/mozilla::Move/std::move/
  s/ Move(/ std::move(/
  s/(Move(/(std::move(/

Removing the 'using mozilla::Move;' lines.

And then with a few manual fixups, see the bug for the split series..

MozReview-Commit-ID: Jxze3adipUh
2018-06-01 10:45:27 +02:00