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

29733 Коммитов

Автор SHA1 Сообщение Дата
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
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
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
Cosmin Sabou b9a82af44a Backed out 2 changesets (bug 1387399) for OSX reftests permafailures on attachment-local-positioning-2.html. a=backout
Backed out changeset b78a225fa8c9 (bug 1387399)
Backed out changeset 4beeacb75bf5 (bug 1387399)
2018-04-20 06:47:41 +03:00
Cosmin Sabou dcacfcfc71 Backed out 2 changesets (bug 1454598) as requested by Mossop in developers channel. a=backout
Backed out changeset b673e87d6134 (bug 1454598)
Backed out changeset 072dc1504ce6 (bug 1454598)
2018-04-20 06:45:39 +03:00
Cosmin Sabou 4595d43d3a Merge inbound to mozilla-central. a=merge
--HG--
rename : browser/modules/offlineAppCache.jsm => toolkit/modules/offlineAppCache.jsm
2018-04-20 01:29:10 +03:00
Cosmin Sabou 5e9d16a446 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-04-20 01:37:07 +03:00
Kartikaya Gupta cee64af762 Bug 1391318 - Automatically enable async scene building with webrender.all. r=jrmuizel
MozReview-Commit-ID: IRXZq8ynrdt

--HG--
extra : rebase_source : b34691d952138f442fd376cbc5a79f9742e26f6b
2018-04-19 14:10:36 -04:00
Jeff Muizelaar 37945b5582 Bug 1454736. Use the bounds of the item as the bounds for PushLayer. r=Gankro
This has a big performance impact because we instead of defaulting to the bounds
of the image we can use a much smaller temporary surface.

--HG--
extra : rebase_source : 0daba1adae742df3b983f80944dc4344bc70a5d6
2018-04-17 17:30:02 -04:00
Noemi Erli 875e5ed0a1 Merge inbound to mozilla-central. a=merge 2018-04-19 12:53:30 +03:00
Hiroyuki Ikezoe 9e4f56c4f5 Bug 1455155 - Drop AnimationValue usage in gfx/. r=birtles
Two AnimationValue are still used in AnimationPropertySegment since the
AnimationPropertySegment is used in compose_animation_segment() which is also
invoked on the main-thread, so we will fix it later in a bug that will drop
AnimationValue usage on the main-thread side.

MozReview-Commit-ID: B086g2qHtZL

--HG--
extra : rebase_source : 419308155bf95fb0acd94549c2c6cc9690925b29
2018-04-19 13:50:14 +09:00
Kartikaya Gupta 6ca83b65f4 Bug 1454974 - Assert if RecvGetSnapshot ever gets called in a non-root WRBP. r=sotaro
MozReview-Commit-ID: L6bUdfEykx7

--HG--
extra : rebase_source : 1bbba753c3d8501855c9b8da336006121ad1364d
2018-04-18 16:44:03 -04:00
Bogdan Tara 6cb59b5809 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-04-19 01:46:00 +03:00
Andreea Pavel 465753992f Merge mozilla-central to mozilla-inbound. a=merge on a CLOSED TREE 2018-04-18 20:13:24 +03:00
Kartikaya Gupta 0ded9995cb Bug 1451469 - Complete hooking up of the sampler thread. r=botond,nical
This makes the APZ sampler thread be the render backend thread whenever
webrender is being used (not just when async scene building is enabled).

MozReview-Commit-ID: L9lmopd3pe7

--HG--
extra : rebase_source : a23793bf704a0bf3bc7ba6568ecfe5faa5720415
2018-04-16 17:39:26 -04:00
Kartikaya Gupta 5f5df795ef Bug 1451469 - Set the sample time on APZSampler. r=botond,nical
When sampling APZ transforms from rust code, we will need a timestamp at
which to sample the transforms. It's not obvious what the right
timestamp is to use here, and this will almost certainly be revisited
when we are hooking up OMTA in bug 1453360. For now we just stash the
most recent composite timestamp on the APZSampler and use that when
sampling. This seems to work fine.

MozReview-Commit-ID: KinsXO9tEJH

--HG--
extra : rebase_source : ffce8a9ac6720eea8583b03a613545ac5e9b48bf
2018-04-16 17:39:26 -04:00
Kartikaya Gupta adaebffdd8 Bug 1451469 - Add a TransactionWrapper class. r=nical
The TransactionBuilder class comes with a bunch of baggage (it
automatically allocates/deallocates a transaction under the hood) which
we will want to avoid for the RB callbacks into APZ. This patch adds a
lightweight TransactionWrapper class that APZ can use to provide the
async transform info and that will be simpler to use in the callback
from rust code.

MozReview-Commit-ID: 1ywhx4TIzGd

--HG--
extra : rebase_source : 0ac4356554db24806d03b44f5384f9b7341d4255
2018-04-16 17:39:26 -04:00
Kartikaya Gupta dceb9fc63c Bug 1451469 - Run deferred tasks on the controller thread. r=botond
Deferred tasks currently run as part of the sampling process, in
AdvanceAnimations. However, deferred tasks also sometimes need to acquire
the APZ tree lock for stuff. Acquiring the tree lock is not going to be
allowed on the render backend thread (which is the sampler thread when
WR is enabled), so we need to bump these tasks to another thread. The
controller thread is safe for this purpose.

MozReview-Commit-ID: AP3bnGF5UjL

--HG--
extra : rebase_source : 6fd81dfa488d1cada9941299e60a3d660a38895b
2018-04-16 17:39:26 -04:00
Kartikaya Gupta 7f792713ce Bug 1451469 - Allow WR sampling without the tree lock. r=botond
For webrender, we need to be able to sample the async transforms from nodes
and thumbs without holding the tree lock, since the sampling happens on
the render backend thread, and holding the tree lock would be a
threading violation. We can use the mApzcMap to sample the node
transforms, but for the thumbs we need to introduce another data
structure. This data structure packages up all the information from
the HitTestingTreeNodes that we need for the computation and stores it
protected by the map lock. This allows us to compute the transforms
safely while just holding the map lock.

MozReview-Commit-ID: BDMEbE78NnH

--HG--
extra : rebase_source : 754ceca695b5b3e1c87b1b2bde753d1775107e5f
2018-04-16 17:39:14 -04:00
Kartikaya Gupta 7a77234e86 Bug 1451469 - Add the plumbing to hook up the sampler callbacks. r=nical
MozReview-Commit-ID: GhCKVFXKfjX

--HG--
extra : rebase_source : 77d4cbf542f939c77322a505beb8af6c3ad16602
2018-04-16 17:39:14 -04:00
Kartikaya Gupta 6186818885 Bug 1451469 - Implement the guts of the WR sampler thread registration. r=botond
This lets the APZSampler know which thread is the actual sampler thread.
This is only really used for the thread assertions, but might be useful
for debugging and such as well.

Note that since this behaviour is not dependent on any prefs (unlike the
updater thread, which is only the scene builder thread when the async
scene building pref is enabled), we don't hook it up to the rust code
just yet; that will happen in the last patch.

MozReview-Commit-ID: DrrJOyFA65D

--HG--
extra : rebase_source : 61e8e75ae16f95fe5ce95fa42a3dff501979ab9e
2018-04-16 17:39:14 -04:00
Kartikaya Gupta ee76c6b413 Bug 1451469 - Maintain a map from WrWindowId to APZSampler. r=botond
MozReview-Commit-ID: Bfkfs6FTOQ6

--HG--
extra : rebase_source : 0ca8d3b9452b9ece36eadf2bd2b1bb1c0783756d
2018-04-16 17:39:13 -04:00
Coroiu Cristina 374b919ce6 Merge inbound to mozilla-central a=merge 2018-04-18 13:44:22 +03:00
Jeff Muizelaar fdf30042e6 Bug 1454659. Remove remaining assert for empty blob images.
When we removed the empty blob image assert in bug 1451458. We ended
up just moving it to this assert. We'll drop this one as well.
2018-04-17 20:37:07 -04:00
Csoregi Natalia cc8f2c09f1 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-04-18 01:39:35 +03:00
Sebastian Hengst a16fce83ee Backed out changeset 2efe54944e8c (bug 1453801) for huge AWSY regression with WebRender (bug 1454346) as well as frequent crashes (bug 1454112, bug 1454114). a=backout 2018-04-18 01:08:20 +03:00
Csoregi Natalia 12a8bddd95 Merge inbound to mozilla-central. a=merge 2018-04-18 00:52:25 +03:00