Commit Graph

29757 Commits

Author SHA1 Message Date
Jonathan Kew
9872150acc Bug 1454598 - part 2 - Allow variation fonts to record a weight range in gfxFontEntry, and update font-matching to handle ranges. r=jwatt 2018-04-25 07:18:23 +01:00
Jonathan Kew
13a7aab50e Bug 1454598 - part 2.1 - For system-installed fonts, query FC_VARIABLE to determine if a face has variations rather than instantiating a FT_Face. r=lsalzman 2018-04-25 07:18:23 +01:00
Jonathan Kew
b19488bd47 Bug 1454598 - part 1 - Make gfxFcPlatformFontList::GetFTLibrary work before font system is fully up and running, so that the global FT_Library can be used during initialization of the font list itself. r=lsalzman 2018-04-17 21:45:29 +01:00
Gurzau Raul
faeb9b7ddd Merge inbound to mozilla-central. a=merge 2018-04-25 12:36:04 +03:00
sotaro
1787768767 Bug 1454878 - Update WrExternalLogHandler as to use env_logger r=jrmuizel 2018-04-25 12:05:26 +09:00
Lee Salzman
47222b48e5 Bug 1448703 - clear blob image resources from clear_namespace hook. r=jrmuizel 2018-04-24 22:24:55 -04:00
Kartikaya Gupta
56573e4070 Bug 1456561 - Reduce the number of WakeSceneBuilder messages. r=botond
Avoid sending a flood of WakeSceneBuilder messages when we get a series
of updater-thread tasks to run in quick succession.

MozReview-Commit-ID: 2irXrsahMPt

--HG--
extra : rebase_source : d5663824930792c7de03ef2eeaf2e638d2f57fa8
2018-04-24 18:54:45 -04:00
Brindusan Cristian
9265429dcd Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-04-25 00:57:49 +03:00
Brindusan Cristian
59f801793b Merge inbound to mozilla-central. a=merge 2018-04-25 00:50:59 +03:00
Hiroyuki Ikezoe
59c7ccd500 Bug 1456003 - Don't allocate new AnimatedValue when we update AnimatedValue. r=kats
We need to allocate new AnimatedValue only if there is no AnimatedValue
corresponding to the id in the hashtable.

MozReview-Commit-ID: HeRt74Tnojt

--HG--
extra : rebase_source : 6920ac7fe770e928883e9995469e972799b3c02e
2018-04-24 15:13:10 +09:00
Kartikaya Gupta
5beb01b971 Bug 1454594 - Follow-up to clear the static pointers on shutdown. r=botond
MozReview-Commit-ID: 5NVaBGIzbMR
2018-04-24 12:42:37 -04:00
Bas Schouten
8338ab994b Bug 1387399: Add SIMD optimizations for methods used frequently in nsRect. r=jrmuizel
This improves the DisplayList Mutate Talos test by about 5% on windows, as well as numerous smaller improvements on DisplayList heavy tasks.

MozReview-Commit-ID: tlEtPjqWI4
2018-04-19 15:56:29 +02:00
Andreea Pavel
1d89ab6a3a Backed out changeset 42781c597745 (bug 1448703) cpu process leakcchecks 2018-04-24 06:47:19 +03:00
Lee Salzman
d8e6c45ef2 Bug 1448703 - clear blob image resources from clear_namespace hook. r=jrmuizel
MozReview-Commit-ID: 8DinL2bE64O
2018-04-23 21:46:55 -04:00
Ciure Andrei
33e644e1da Merge inbound to mozilla-central. a=merge 2018-04-24 04:14:21 +03:00
Jeff Muizelaar
b80a5b938a Bug 1455488. Blend modes are container items. r=mstange
BLEND_MODE and BLEND_CONTAINER wrap items so their bounds can change.
We need to account for that like we do with OPACTIY etc.

--HG--
extra : rebase_source : fbd2d79eaad5c7347335416d369c8cae37aad447
2018-04-23 17:38:38 -04:00
Kartikaya Gupta
328eb34d1e Bug 1411144 - Temporarily disable a high-frequency intermittent failure for webrender. r=me 2018-04-23 14:15:06 -04:00
Nathan Froyd
dbc53de3d9 Bug 1451363 - part 5 - remove ProtocolName virtual function; r=mccr8
ProtocolName() is only used for producing error messages and annotating
crash reports.  But examining actual crash reports that would have used
the result of ProtocolName() indicates that we can always tell what the
erroring protocol is due to the stack backtrace.  So having this virtual
function around just provides duplicate information, and it takes up too
much space in the vtable besides.  Let's get rid of it.
2018-04-23 14:13:36 -04:00
Jonathan Kew
6fe5024795 Bug 1436048 followup, fix for Windows build bustage. r=emilio(irc) on a CLOSED TREE 2018-04-23 18:42:49 +01:00
Andreea Pavel
14cb4908a0 Backed out changeset b443e56d2f62 (bug 1449608) for build bustages on a CLOSED TREE 2018-04-24 00:16:58 +03:00
Alexis Beingessner
4303ce985c Bug 1403261 - enable native webrender handling of partial ligatures. r=jrmuizel,mstange
The clipping code uses gfxContext::GetClipExtents which calls gfxContext::GetDeviceOffset
and DrawTarget::GetSize. The former was previously not being intialized, while the latter
was explicitly unimplemented. This patch fixes both of those facts.

Otherwise, enabling this functionality has been made trivial by several upstream patches
in webrender (the most recent being glenn's work on unifying shadows which eliminated
the buggy text-shadow shader code that was blocking this).

MozReview-Commit-ID: B1AlG3o4XQS

--HG--
extra : rebase_source : 2043c9c781f507c5d02041420145b1a5c59c0bb2
2018-04-16 23:05:48 -04:00
Jamie Nicol
d361ce7995 Bug 1449608 - Avoid calling ComputeScrollMetadata repeatedly for same scroll frame and clip. r=mstange
Currently in ContainerState::SetupScrollingMetadata we call
ComputeScrollMetadata for every layer and for each ASR in the layer's
clip chain. If there are many sibling layers with the same clip then
this is largely wasted work.

This change makes us cache the most recently calculated result, and
only recalculate if the ASR or clip is different.

There was a small portion of ComputeScrollMetadata that must actually
be executed for every layer and ASR in its clip chain. This has been moved
to a separate function, ClipLayerToDisplayPort, that is still called
every time.

MozReview-Commit-ID: 7Zzblmimtc5

--HG--
extra : rebase_source : d39908b2be2565d22079b3e5e8df56316159a918
2018-04-19 14:48:04 +01:00
Narcis Beleuzu
cf9dd5bc32 Backed out changeset 544e2832e783 (bug 1449608) for bustages "xul.dll : fatal error LNK112". CLOSED TREE 2018-04-24 21:06:41 +03:00
Jamie Nicol
bc72f195fb Bug 1449608 - Avoid calling ComputeScrollMetadata repeatedly for same scroll frame and clip. r=mstange
Currently in ContainerState::SetupScrollingMetadata we call
ComputeScrollMetadata for every layer and for each ASR in the layer's
clip chain. If there are many sibling layers with the same clip then
this is largely wasted work.

This change makes us cache the most recently calculated result, and
only recalculate if the ASR or clip is different.

There was a small portion of ComputeScrollMetadata that must actually
be executed for every layer and ASR in its clip chain. This has been moved
to a separate function, ClipLayerToDisplayPort, that is still called
every time.

MozReview-Commit-ID: 7Zzblmimtc5

--HG--
extra : rebase_source : 4554f908f42f761ddb2fca9be6bbe688c194c756
2018-04-19 14:48:04 +01:00
Kartikaya Gupta
6e6af8af1b Bug 1455974 - Clear the client-side shared frame metrics data on shutdown with WR as well. r=sotaro
There's some cleanup happening in CompositorBridgeChild to release the
shared frame metrics when the client side is destroyed. However the code
is specific to PLayerTransaction, and is missing for the WR codepath.
This patch extracts the code to a helper and ensures that it runs for
the WR equivalent codepath.

MozReview-Commit-ID: ENJ349u0PTc

--HG--
extra : rebase_source : 0e6d728e603d077a371bbeedd3801ffcf11863cd
2018-04-23 14:24:36 -04:00
Kartikaya Gupta
fc9fac3891 Bug 1455974 - Ensure the metrics sharing IPC messages are sent from the compositor thread. r=botond
With WR+async scene building, the updater thread is no longer the
compositor thread, but we can only send the IPC messages from the
compositor thread. So we need to bounce those calls over to the right
thread.

MozReview-Commit-ID: 6M9bSLYLi5n

--HG--
extra : rebase_source : d908f22892f9d531266f100eeb4a863cb63d8270
2018-04-23 14:24:36 -04:00
Kartikaya Gupta
9c89bea7ea Bug 1455974 - Ensure that mCanSend is cleared at the right time. r=sotaro
mCanSend was being cleared in ActorDestroy which is fine, but we
actually cannot reliably send IPC messages from CompositorBridgeParent
after we get a RecvWillClose message, because that's the last thing that
the child side sends before it gets destroyed. After the WillClose
message there's no guarantee that the child side actor will still be
alive. So this patch also sets mCanSend to false in RecvWillClose.

mCanSend is only used in two places, both of which have to do with the
APZ metrics-sharing code, so this shouldn't have any unexpected
side-effects. It is needed for the next patch.

MozReview-Commit-ID: 8CuFienWVUU

--HG--
extra : rebase_source : 11e4455ffd8cd281d0a16ca34feb63fa89338ccc
2018-04-23 14:24:36 -04:00
sotaro
ffd0eccbce Bug 1455232 - Output log::Level::Warn to gecko_printf_stderr_output r=jrmuizel 2018-04-25 08:27:12 +09:00
Brindusan Cristian
5e1a611a89 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-04-25 00:59:04 +03:00
Jeff Gilbert
e6081ca579 Bug 1455782 - Remove c++14->c++11 patch. - r=kvark
MozReview-Commit-ID: 5Y0ba4BXYFU
2018-04-24 13:23:07 -07:00
Jeff Gilbert
8c18c3b27c Bug 1455782 - Update gfx/angle/update-angle.py shebang.
MozReview-Commit-ID: Ch0ucrUJHHN
2018-04-24 13:23:04 -07:00
Hiroyuki Ikezoe
df02c10b40 Bug 1454324 - Skip calculating animation value if animation's progress value hasn't been changed since the last composition and if there are no other animations on the same element. r=birtles,kats
Note that we have to calculate animation values if there is another animation
since the other animation might be 'accumulate' or 'add', or might have a
missing keyframe (i.e. the calculated animation values will be used in the
missing keyframe).

MozReview-Commit-ID: rQyS9nuVJi

--HG--
extra : rebase_source : 6ddc70308e223a709eba9c4c2f05e42bbc0f3160
2018-04-24 09:27:54 +09:00
Hiroyuki Ikezoe
1695970073 Bug 1454324 - Set non-animated values to the layer only if there is no running animation. r=kats
In the next patch, we skip updating animation value for the layer if the
animation value isn't changed.  So without this patch, we will have to update
animation value even if the value isn't changed at all.

MozReview-Commit-ID: 9tU7BTkNOHL

--HG--
extra : rebase_source : 0dbaaab9e52108c843f2d378785a67a8f374994c
2018-04-24 09:27:54 +09:00
Hiroyuki Ikezoe
05604b4dce Bug 1454324 - Clear all animation data when we release layer. r=kats
MozReview-Commit-ID: AOGNjLesY0t

--HG--
extra : rebase_source : 4fcb314209a92ea160ca8377d1b7f731239427a6
2018-04-24 09:27:54 +09:00
Hiroyuki Ikezoe
2dc22f118d Bug 1454324 - Cache animation TimingParams on the compositor. r=birtles
We don't need to calculate TimingParams each time we compose an animation on
the compositor because TimingParams is immobile since the animation was sent to
the compositor.

MozReview-Commit-ID: 3rfzkdGClES

--HG--
extra : rebase_source : e28650a30b1cbd14789688f2acc03d204069e2fb
2018-04-24 09:27:53 +09:00
Kartikaya Gupta
d4a695f9a9 Bug 1454623 - Update for API change in WR PR 2673. r=jrmuizel
MozReview-Commit-ID: Ft3u6T3B2Ox

--HG--
extra : rebase_source : 4f12960611bb97a565c8c64ef04a228ce8e81b79
2018-04-23 09:38:35 -04:00
Kartikaya Gupta
6ce43f4816 Bug 1454623 - Update for API change in WR PR 2676. r=jrmuizel
MozReview-Commit-ID: Fp8kAsdMNAE

--HG--
extra : rebase_source : 7ac4f934ffd921acfce80f91afb457416b1c9857
2018-04-23 09:38:23 -04:00
Kartikaya Gupta
1abb19edf6 Bug 1454623 - Update webrender to ad06d8e05e8475c9788cffa7e6cbac70acbdb399. r=jrmuizel
MozReview-Commit-ID: JFDiNyCo0W

--HG--
extra : rebase_source : 99b90deb5643cc5e15cd7fbd2867943c3631edeb
2018-04-23 09:38:09 -04:00
Hiroyuki Ikezoe
58fad25ce4 Bug 1455841 - Don't update mPreviousFrameTimeStamp in the case of testing refresh mode. r=kats
On the testing refresh mode, we shouldn't update mPreviousFrameTimeStamp and
don't need to use it since there shouldn't have any time difference between
compositor time stamp and main-thread time stamp on the testing mode.

MozReview-Commit-ID: FCcyEcFhmU

--HG--
extra : rebase_source : 027c8019fbe8a43a8ef6b454204e329a483ab4f5
2018-04-23 06:27:19 +09:00
Kartikaya Gupta
7c247ea2b5 Bug 1455715 - Fix some controller thread tasks that were bypassing the updater thread. r=botond
These tasks have an implicit ordering with other tasks that are
dispatched from the compositor thread to the updater thread, and so they
need to be bounced through the updater thread before we run them on the
controller thread.

MozReview-Commit-ID: 92nIYgyV8A2

--HG--
extra : rebase_source : c5edc5cb50dd44d1979d805bf17e707e1c8abac1
2018-04-20 14:27:35 -04:00
Kartikaya Gupta
697a7719d0 Bug 1455691 - Make the transaction id a struct instead of a uint64_t. r=mattwoodrow
MozReview-Commit-ID: 9yZknygQvFr

--HG--
extra : rebase_source : 8b7a2398bdabf52f2de1c5dbd30b6868c1e0bed0
2018-04-20 15:13:06 -04:00
Jeff Gilbert
58ba37ffae Bug 1450839 - Centralize record_cherry_picks for reuse. - r=kvark
MozReview-Commit-ID: EdRewMsNCnG
2018-04-20 16:20:11 -07:00
Dorel Luca
65669dae30 Merge mozilla-inbound to mozilla-central. a=merge 2018-04-21 02:00:04 +03:00
Jonathan Kew
4b2b2d4c9f Bug 1455569 - Handle variation settings of system-installed variation fonts when creating CTFont from CGFont on High Sierra. r=lsalzman 2018-04-20 17:18:03 +01:00
Botond Ballo
26b8507766 Bug 1455285 - In MoveScrollbarForLayerMargin(), move the actual scrollbar thumb layer, not the scrollbar container layer. r=kats
This was regressed by bug 1420512, which changed things so that
ScrollbarData::mDirection is set for both kinds of scrollbar layers.

MozReview-Commit-ID: 3UHFSOgDtWj

--HG--
extra : rebase_source : 25bc732e4216dbb1971bec57421e20698126f8f2
2018-04-19 15:58:44 -04:00
Kartikaya Gupta
ca319705c4 Bug 1455302 - Robustify the IsSamplerThread() check similarly to the updater code. r=botond
Same as the previous patch, but adapted for the sampler thread.

MozReview-Commit-ID: 7PVaPl38FkM

--HG--
extra : rebase_source : b7637270fea226cde15b9351a4ef8ac7ffab5796
2018-04-19 10:10:00 -04:00
Kartikaya Gupta
30e82b56dd Bug 1455302 - Allow scheduling updater thread tasks before we have the updater thread id. r=botond
This is possible if we just let the APZUpdater know during construction
if WR is enabled or not, and that information combined with the pref
will allow it to know whether to use the scene builder thread task queue
or just use the compositor thread as the updater thread.

MozReview-Commit-ID: 7IGMMtl7iFP

--HG--
extra : rebase_source : 3950adf77f4b48906b29cdb36f0437df1540bec6
2018-04-19 10:09:59 -04:00
Kartikaya Gupta
34876c4821 Bug 1454594 - Avoid running unordered_map static initializers. r=botond
We wrap the std::unordered_map in a StaticAutoPtr so that there's no
initialization cost, and also so that we have a smaller memory footprint
in processes that aren't using WebRender+APZ.

MozReview-Commit-ID: 9QCKiv0IzB8

--HG--
extra : rebase_source : 102d034478513f45da689bacffbc893370677ff7
2018-04-18 17:32:38 -04:00
Hiroyuki Ikezoe
324a2c840a Bug 1455315 - Use testing time stamp whenever we are on testing mode. r=kats
MozReview-Commit-ID: 6IgsYt40KiX

--HG--
extra : rebase_source : ace1e52d42219c4ce23b663ca79a44bf30ab51d7
2018-04-20 13:27:27 +09:00
Cosmin Sabou
a024f6e7c8 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-04-20 06:50:57 +03:00