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

30142 Коммитов

Автор SHA1 Сообщение Дата
YUKI "Piro" Hiroshi 3983d5f82f Bug 1457400 - Fix typo "ELG" to "EGL", r=milan
There is misspelled "GLContextProviderELG".
2018-05-10 16:48:07 +09:00
Kartikaya Gupta 6eea99c630 Bug 1432515 - Restrict gfx.webrender.{all,enabled} to nightly, and only allow enabling via .all.qualified on beta and release. r=milan
This ensures that only people with qualified hardware can flip prefs to
enable WebRender on beta and release. Nightly users will still be able
enable WebRender on unqualified hardware.

MozReview-Commit-ID: E5sgzZhuX4p

--HG--
extra : rebase_source : a4e85e71e4d85b5d9f1e17c1413ca9690349f75a
2018-05-09 15:24:38 -04:00
Kearwood "Kip" Gilbert 08e845d5e5 Bug 1373279 - Avoid checking for OpenVR runtime until hitting WebVR content r=rbarker
MozReview-Commit-ID: 9nUZ44uZEjE

--HG--
extra : rebase_source : 3e82c22bbc23da36d0985c8efd2556239f18df0d
2018-05-03 16:27:46 -07:00
Dan Glastonbury ee3d63760a Bug 1457810: Move CalcComplexColor to StyleComplexColor. r=xidorn
Move from nsStyleColor::CalcComplexColor to StyleComplexColor::CalcColor.

MozReview-Commit-ID: FkYovvPZLc8

--HG--
extra : rebase_source : 54f1966e0ef9258f20e954cd6250774008eca04c
2018-05-09 17:03:02 +10:00
Kartikaya Gupta 788be8ad4e Bug 1460289 - Reduce scope of indirect layer tree lock in RecvAdoptChild. r=sotaro
In particular, this change makes it so that we are not holding the lock
when we clone the WebRenderAPI, because that can result in a deadlock.

MozReview-Commit-ID: 33OGZdFMjEA

--HG--
extra : rebase_source : 4a1aeb81e3316a119d6b0aa798d827314543a70b
2018-05-09 15:23:30 -04:00
Xidorn Quan 4ddb42237d Bug 1460116 - Remove ShouldHideScrollbars. r=jimm
MozReview-Commit-ID: 7v6Eylefk4t

--HG--
extra : rebase_source : f37e94e205e7e589c3a47f282c57b725d65914d9
2018-05-09 11:40:58 +10:00
Tom Ritter a2349ea483 Bug 1460357 Do not use optimized AVX for Skia convolve_vertically in MinGW r=lsalzman
MozReview-Commit-ID: 8ROpiDD4xYH

--HG--
extra : rebase_source : 73f0d4abf5523bb2cd9862c76df807f0da5dbc83
2018-04-25 22:57:58 -05:00
Lee Salzman 7e00387060 Bug 1144632 - fix big-endian Skia builds. r=rhunt
MozReview-Commit-ID: JQivGBE45qy
2018-05-24 14:50:31 -04:00
Noemi Erli 95275303ad Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2018-05-24 18:52:11 +03:00
Ryan Hunt 8a29e10e3e Bug 1462411 - Move FlushAsyncPaints to ClientLayerManager::EndTransactionInternal. r=mattwoodrow
This commit moves FlushAsyncPaints to EndTransactionInternal, which allows
us to continue async painting during DLB and FLB. We still flush async paints
before rasterizing into layers as we aren't triple buffered.

--HG--
extra : amend_source : 6ee4f511008c60fe1f52f7a260ef7d5b5e3c0c92
2018-05-16 15:42:46 -05:00
Kartikaya Gupta 26304e2c11 Bug 1462611 - Update webrender to commit bb354abbf84602d3d8357c63c4f0b1139ec4deb1. r=jrmuizel
MozReview-Commit-ID: KiJVmU52MMd

--HG--
extra : rebase_source : edda638057baa61935e15c2d940994ab6dad0035
2018-05-22 09:38:19 -04:00
Jan-Ivar Bruaroey ab5ccac300 Bug 1463230 - Fix compile error on abs(float). Use std::abs() instead. r=jfkthame
MozReview-Commit-ID: 16wgbMcFjeT

--HG--
extra : rebase_source : 4c68184255714c5021fb11df409c6b5e047e1a4c
2018-05-21 15:18:09 -04:00
Xidorn Quan 4c114dbee6 Bug 1460456 part 3 - Add scrollbar-{face,track}-color properties. r=heycam
MozReview-Commit-ID: ImNfHHfzRdM

--HG--
extra : rebase_source : 58caf9fff4ad62d4413de688ad115e89a5929ea6
2018-05-10 10:40:17 +10:00
Stephen A Pohl c5cd7f42ff Bug 1460127: Fix null-deref to ensure that GPU processes launch and init properly. r=jimm 2018-05-11 16:35:35 -04:00
Margareta Eliza Balazs b51d5aed5d Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-05-11 12:44:53 +03:00
Jonathan Kew de265e92c7 Bug 1427660 - patch 2 - In gfxFontGroup::ComputeRanges, allow font run to include multiple match-types to avoid unnecessary interruption of font shaping. r=lsalzman 2018-05-11 08:56:25 +01:00
Jonathan Kew 288d62fe84 Bug 1427660 - patch 1 - Make gfxTextRange::MatchType an enum class for stronger type checking (no functional change). r=lsalzman 2018-05-11 08:56:12 +01:00
Kartikaya Gupta 4516d9a7d0 Bug 1465864 - Enable test_group_hittest for webrender. r=botond
MozReview-Commit-ID: B3EKTEHv4vi

--HG--
extra : rebase_source : 2fb4a28b204f35f33260c3939de0084032dcaa9a
2018-06-01 07:00:18 -04:00
Kartikaya Gupta bcd1e43497 Bug 1465864 - Update mochitest code for changes in bug 1443424. r=botond
In bug 1443424, the CompositorHitTestInfo for a thumb frame was modified
to only contain the thumb flag if it was layerized. The mochitests were
disabled at the time and so didn't make a fuss.

MozReview-Commit-ID: Argqj8KbnqU

--HG--
extra : rebase_source : 5b4b38fdbeb17c8434be202f20fee5b7e19a66b7
2018-06-01 06:59:59 -04:00
Kartikaya Gupta aa33218939 Bug 1465864 - Make hit-testing mochitest failure messages nicer. r=botond
Instead of printing out base-10 numbers like "expected 67" this will
print out a nicer "expected VISIBLE | DISPATCH_TO_CONTENT | SCROLLBAR"
which makes it easier to see which flags are missing from the hit info.

MozReview-Commit-ID: gp9ERBIgYj

--HG--
extra : rebase_source : 6f73ae8598d525227bcbaed2e9de1e24d7915355
2018-06-01 06:58:28 -04:00
Csoregi Natalia 2f779be8d9 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-06-02 01:03:45 +03:00
Markus Stange 7cdcd735ca Bug 1464909 - Add GRAPHICS category annotations to async-paint-related methods. r=rhunt
MozReview-Commit-ID: HM2Gp85pCJa

--HG--
extra : rebase_source : 13d91a58f66b26cd869b438acfde517228d91491
2018-05-31 14:07:57 -04:00
Markus Stange 423ce68542 Bug 1462784 - Relabel various other stuff as being OTHER. r=njn
Any more specific work that is happening in these methods will have its own
specific category labeling in that specific code. The instances touched in this
patch are more on the outside and don't really know what kind of code is going
to be running inside.

MozReview-Commit-ID: 47NO1DZzkdH

--HG--
extra : rebase_source : 344c380ddaaf42a1fd820a26b762c61ee9e2d524
2018-05-18 17:58:43 -04:00
Csoregi Natalia fc2ed6e92a Backed out 18 changesets (bug 1462784) for ESlint failure on FlameGraph.js:1297. CLOSED TREE
Backed out changeset 79556798ff9f (bug 1462784)
Backed out changeset 88321efb673b (bug 1462784)
Backed out changeset 7880f9dc7023 (bug 1462784)
Backed out changeset 71fe35fd1f7e (bug 1462784)
Backed out changeset a543b94b049a (bug 1462784)
Backed out changeset d1ca8b0f2221 (bug 1462784)
Backed out changeset 68eabfbf3c16 (bug 1462784)
Backed out changeset 34e71c789903 (bug 1462784)
Backed out changeset 6fe79d1ca1bd (bug 1462784)
Backed out changeset e5ad2e525ea9 (bug 1462784)
Backed out changeset 329645ff1e23 (bug 1462784)
Backed out changeset e09c38853172 (bug 1462784)
Backed out changeset 0663d1a6d2da (bug 1462784)
Backed out changeset 106967fc29d2 (bug 1462784)
Backed out changeset 99b4a433a8e5 (bug 1462784)
Backed out changeset 1d38a4cf5a4a (bug 1462784)
Backed out changeset 692017229de6 (bug 1462784)
Backed out changeset c2911a626671 (bug 1462784)
2018-06-01 23:42:00 +03:00
Markus Stange 3f54b9a3dd Bug 1462784 - Relabel various other stuff as being OTHER. r=njn
Any more specific work that is happening in these methods will have its own
specific category labeling in that specific code. The instances touched in this
patch are more on the outside and don't really know what kind of code is going
to be running inside.

MozReview-Commit-ID: 47NO1DZzkdH

--HG--
extra : rebase_source : f807c14bf6a592e0c651e15b63d1e7d63e4b0159
2018-05-18 17:58:43 -04:00
Nicolas Silva 5424a4d26a Bug 1461342 - Update WebRender bindings after changes in PR #2763. r=kats
MozReview-Commit-ID: 8GAAvPh41eP

--HG--
extra : rebase_source : ebd0012cb5886df33036264f7c6e79c6b4607262
2018-05-18 08:28:33 -04:00
Kartikaya Gupta 16dd5e2b2f Bug 1461342 - Update for API change in WR PR 2762. r=jrmuizel
MozReview-Commit-ID: 3MHCV00262v

--HG--
extra : rebase_source : 2e504a215eb5edd69e30bea3539ac11239d490de
2018-05-18 08:28:26 -04:00
Kartikaya Gupta f7cfb71dcb Bug 1461342 - Update webrender to commit 672f480af48b0ad69c1b2781151278d99816763a. r=jrmuizel
MozReview-Commit-ID: 2mwEtwE2flc

--HG--
extra : rebase_source : d12a363446b07d2c4525bdd9eec42167097ccbe9
2018-05-18 08:28:15 -04:00
Jonathan Kew 9c8f263093 Bug 1458004 - Link font-style values italic / oblique to the appropriate variation-font axes or synthetic styling. r=jwatt 2018-05-09 13:49:24 +01:00
Andrew Osmond d19566e09c Bug 1454149 - Do not advance animated images which are not displayed. r=tnikkel
All animated images on a page are currently registered with the refresh
driver and advance with the tick refresh. These animations may not even
be in view, and if they are large and thus cause redecoding, cause a
marked increase in CPU usage for no benefit to the user.

This patch adds an additional flag, mCompositedFrameRequested, to the
AnimationState used by FrameAnimator. It is set to true each time the
current animated image frame is requested via
FrameAnimator::GetCompositedFrame. It is set to false each time the
frame is advanced in FrameAnimator::AdvanceFrame (via
FrameAnimator::RequestRefresh). If it is true when
FrameAnimator::RequestRefresh is called, then it will advance the
animation according to the normal rules. If it is false, then it will
set the current animation time to the current time instead of advancing.

This should not cause the animation to fall behind anymore or skip
frames more than it does today. This is because if
FrameAnimator::GetCompositedFrame is not called, then the internal state
of the animation is advancing ahead of what the user sees. Once it is
called, the new frame is far ahead of the previously displayed frame.
The only difference now is that we will display the previous frame for
slightly longer until the next refresh tick.

Note that if an animated image is layerized (should not happen today) or
otherwise uses an ImageContainer, this optimization fails. While we know
whether or not we have an image container, we do not know if anything is
actively using it.
2018-05-09 08:04:20 -04:00
Margareta Eliza Balazs eb6c5214a6 Merge inbound to mozilla-central. a=merge 2018-05-09 12:33:51 +03:00
Ciure Andrei 4b3c343192 Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2018-05-09 02:03:22 +03:00
Ciure Andrei 61548f81d6 Merge inbound to mozilla-central. a=merge
--HG--
rename : testing/web-platform/meta/webdriver/tests/navigation/get_title.py.ini => testing/web-platform/meta/webdriver/tests/get_title/user_prompts.py.ini
2018-05-09 01:58:44 +03:00
Jonathan Kew e6b971d44f Bug 1458003 - speculative fix: make a local copy of the face list in CheckForLegacyFamilyNames, in case mAvailableFonts is mutated during this function. r=lsalzman 2018-05-08 20:54:02 +01:00
Hiroyuki Ikezoe bb70206bd8 Bug 1459895 - Avoid underflow in TimeStamp in the middle of the calcuration of animation's ready time. r=birtles
MozReview-Commit-ID: EsvEIHGMXUa

--HG--
extra : rebase_source : 9567449a59df1232eb3197384e769740eeafdb15
2018-05-09 10:47:51 +09:00
Hiroyuki Ikezoe dd11d8f6fc Bug 1320608 - Add an assertion that checks AnimationInfo::GetGenerationFromFrame() receives the primary frame or the first continuation frame. r=birtles
MozReview-Commit-ID: FFjXbZT4sDQ

--HG--
extra : rebase_source : e3024f8c3c0a18aeaf2ebfb61f69950392a22813
2018-05-09 05:54:10 +09:00
Ciure Andrei de05fd66c8 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-05-09 02:02:05 +03:00
Hiroyuki Ikezoe 8a0839c09a Bug 1456679 - Don't set non-animated values as AnimatedValue in delay phase. r=kats
We no longer need them since in the previous commit we make sure subsequent
ticks happens for animations in delay phase.

MozReview-Commit-ID: F68wCCsCEiE

--HG--
extra : rebase_source : d6ebe9bfa90a767154cea04255dbf4a5403674fe
2018-05-08 15:59:01 +09:00
Hiroyuki Ikezoe 56631db5d6 Bug 1456679 - Update the previous timestamp with the current timestamp even if there are only delayed phase animations. r=kats
mAnimStorage->AnimatedValueCount() returns zero in the case where all
animations are in delay phase, even in such case, we should update the previous
timestamp.

MozReview-Commit-ID: 5Dds1YjfVh9

--HG--
extra : rebase_source : 759b7b4d9e5aa23542a31593674683fbef2dbc47
2018-05-08 15:58:54 +09:00
Hiroyuki Ikezoe b154a976cd Bug 1456679 - Make SampleAnimations return boolean to tell there is any animations even if the animation in delay phase. r=kats
If the animation is in delay phase, we shouldn't produce any values for the
animation but we have to make sure subsequent ticks happen in order to the time
when the animation starts.  So what we should do here is that

1) Make AnimationHelper::SampleAnimations() return boolean, return true if
   there is any animation.
2) Schedule the next tick if AnimationHelper::SampleAnimations return true

This setup is equivalent to what we do non-WebRender.

So that we don't need to set non-animated value as AnimatedValue for delay
phase to make subsequent ticks happen for the delay phase animations.  The
non-animated value will be dropped in the next patch.

MozReview-Commit-ID: IwltLGgvT7K

--HG--
extra : rebase_source : f2c59cb3bdb3affc5846e65ccbaad7dbc069d0ad
2018-05-08 15:48:27 +09:00
Kartikaya Gupta b19c697041 Bug 1458598 - Override scrollframes with their descendant reference frames. r=mstange
The test case has a fixed item A inside a scrollframe B which is inside
a reference frame C which is inside the root scrollframe D. The
ClipManager code currently uses D's scrollid as the scrolling ancestor
for A, because the gecko display list's ASR is set up that way. However,
we really want to set C as the scrolling ancestor, because otherwise the
item A gets hoisted out of C and the transform from C doesn't get
applied to it. This patch ensures that when we enter C, we install an
override so that anything that would have used D's scrollid ends up
using C's, which results in the correct behaviour.

MozReview-Commit-ID: 31tscfT4xWW

--HG--
extra : rebase_source : 03df2fa5519b2592a2c9f598af0f3f1500773718
2018-05-08 09:16:29 -04:00
Kartikaya Gupta 85e5ccd033 Bug 1458598 - Expose the generated reference frame id for stacking contexts. r=mstange
This is just plumbing, no functional changes yet.

MozReview-Commit-ID: FlmnMVammse

--HG--
extra : rebase_source : edede45a77a829dbd125dc1f18a4c2a4bc8087c1
2018-05-08 09:16:26 -04:00
Coroiu Cristina f39a811db2 Merge mozilla-central to autoland a=merge on a CLOSED TREE
--HG--
rename : third_party/rust/core-foundation/.cargo-checksum.json => third_party/rust/core-foundation-0.5.1/.cargo-checksum.json
rename : third_party/rust/core-foundation/Cargo.toml => third_party/rust/core-foundation-0.5.1/Cargo.toml
rename : third_party/rust/core-foundation/src/array.rs => third_party/rust/core-foundation-0.5.1/src/array.rs
rename : third_party/rust/core-foundation/src/base.rs => third_party/rust/core-foundation-0.5.1/src/base.rs
rename : third_party/rust/core-foundation/src/bundle.rs => third_party/rust/core-foundation-0.5.1/src/bundle.rs
rename : third_party/rust/core-foundation/src/dictionary.rs => third_party/rust/core-foundation-0.5.1/src/dictionary.rs
rename : third_party/rust/core-foundation/src/filedescriptor.rs => third_party/rust/core-foundation-0.5.1/src/filedescriptor.rs
rename : third_party/rust/core-foundation/src/lib.rs => third_party/rust/core-foundation-0.5.1/src/lib.rs
rename : third_party/rust/core-foundation/src/propertylist.rs => third_party/rust/core-foundation-0.5.1/src/propertylist.rs
rename : third_party/rust/core-foundation/src/runloop.rs => third_party/rust/core-foundation-0.5.1/src/runloop.rs
rename : third_party/rust/core-foundation/src/set.rs => third_party/rust/core-foundation-0.5.1/src/set.rs
rename : third_party/rust/core-foundation/tests/use_macro_outside_crate.rs => third_party/rust/core-foundation-0.5.1/tests/use_macro_outside_crate.rs
rename : third_party/rust/core-foundation-sys/.cargo-checksum.json => third_party/rust/core-foundation-sys-0.5.1/.cargo-checksum.json
rename : third_party/rust/core-foundation-sys/Cargo.toml => third_party/rust/core-foundation-sys-0.5.1/Cargo.toml
rename : third_party/rust/core-foundation-sys/src/array.rs => third_party/rust/core-foundation-sys-0.5.1/src/array.rs
rename : third_party/rust/core-foundation-sys/src/base.rs => third_party/rust/core-foundation-sys-0.5.1/src/base.rs
rename : third_party/rust/core-foundation-sys/src/bundle.rs => third_party/rust/core-foundation-sys-0.5.1/src/bundle.rs
rename : third_party/rust/core-foundation-sys/src/data.rs => third_party/rust/core-foundation-sys-0.5.1/src/data.rs
rename : third_party/rust/core-foundation-sys/src/date.rs => third_party/rust/core-foundation-sys-0.5.1/src/date.rs
rename : third_party/rust/core-foundation-sys/src/dictionary.rs => third_party/rust/core-foundation-sys-0.5.1/src/dictionary.rs
rename : third_party/rust/core-foundation-sys/src/error.rs => third_party/rust/core-foundation-sys-0.5.1/src/error.rs
rename : third_party/rust/core-foundation-sys/src/filedescriptor.rs => third_party/rust/core-foundation-sys-0.5.1/src/filedescriptor.rs
rename : third_party/rust/core-foundation-sys/src/lib.rs => third_party/rust/core-foundation-sys-0.5.1/src/lib.rs
rename : third_party/rust/core-foundation-sys/src/messageport.rs => third_party/rust/core-foundation-sys-0.5.1/src/messageport.rs
rename : third_party/rust/core-foundation-sys/src/number.rs => third_party/rust/core-foundation-sys-0.5.1/src/number.rs
rename : third_party/rust/core-foundation-sys/src/propertylist.rs => third_party/rust/core-foundation-sys-0.5.1/src/propertylist.rs
rename : third_party/rust/core-foundation-sys/src/runloop.rs => third_party/rust/core-foundation-sys-0.5.1/src/runloop.rs
rename : third_party/rust/core-foundation-sys/src/set.rs => third_party/rust/core-foundation-sys-0.5.1/src/set.rs
rename : third_party/rust/core-foundation-sys/src/string.rs => third_party/rust/core-foundation-sys-0.5.1/src/string.rs
rename : third_party/rust/core-foundation-sys/src/timezone.rs => third_party/rust/core-foundation-sys-0.5.1/src/timezone.rs
rename : third_party/rust/core-foundation-sys/src/url.rs => third_party/rust/core-foundation-sys-0.5.1/src/url.rs
rename : third_party/rust/core-foundation-sys/src/uuid.rs => third_party/rust/core-foundation-sys-0.5.1/src/uuid.rs
rename : toolkit/mozapps/extensions/internal/UpdateRDFConverter.jsm => toolkit/mozapps/extensions/internal/RDFManifestConverter.jsm
extra : rebase_source : 82ff5278cf9bd559763cc24e3f6d87139466bfe5
2018-05-08 18:54:28 +03:00
Coroiu Cristina 5ff2d76830 Merge inbound to mozilla-central a=merge 2018-05-08 18:47:35 +03:00
Kartikaya Gupta 4cb7167284 Bug 1459714 - Use a single transaction for all things associated with a new display list. r=sotaro
This ensures the commands to delete compositables are received by WR in the same
transaction as the updates to the display list that removes the references to
those compositables. Otherwise, WR can try to do a scene build on the intermediate
state which results in missing pipeline errors.

MozReview-Commit-ID: ByOHCFWSSjt

--HG--
extra : rebase_source : bcc0f129cbd75e3e9e3543236591b22687d39090
2018-05-08 08:49:44 -04:00
Kartikaya Gupta c684d376e0 Bug 1459714 - Make WebRenderBridgeParent::ProcessWebRenderParentCommands callers provide the transaction. r=sotaro
MozReview-Commit-ID: FIrA11wgjLI

--HG--
extra : rebase_source : ef6db14c097948ac2949148693167f29dfd72f14
2018-05-08 08:49:44 -04:00
arthur.iakab b613e3c213 Merge mozilla-central to autoland
--HG--
extra : rebase_source : da41c9831b781517597aebd0878c5ada415fd00b
2018-05-08 15:49:18 +03:00
Kartikaya Gupta 160ba9f717 Bug 1459686 - Include async image updates in the displaylist transaction. r=sotaro
MozReview-Commit-ID: BUxzRBSWVaU

--HG--
extra : rebase_source : 6a5f80b63578a72248e2755bad01e0686b535b48
2018-05-08 08:47:02 -04:00
Kartikaya Gupta 0ae899bacc Bug 1459686 - Refactor to have the ApplyAsyncImages callsite provide the transaction. r=sotaro
MozReview-Commit-ID: GVKRcb4r73a

--HG--
extra : rebase_source : 0aaa5418f6522bc443da6ef20e411644e85cc3fb
2018-05-08 08:47:02 -04:00
ffxbld b46b3d9577 Bug 1459686 - Remove WebRenderCommandBuilder::mParentCommands which is always empty. r=sotaro
MozReview-Commit-ID: FiRw0UlQKwr

--HG--
extra : rebase_source : 118e3ceca9a8afdc290817e262387218f3717590
2018-05-08 08:47:02 -04:00
arthur.iakab f2042a4c1f Merge inbound to mozilla-central a=merge 2018-05-08 15:42:06 +03:00
sotaro fbaa7511c1 Bug 1459525 - Remove wr_shutdown_log_for_gpu_process() r=jrmuizel 2018-05-08 11:37:39 +09:00
arthur.iakab 2f2f2ffdbf Merge mozilla-central to inbound 2018-05-08 15:44:33 +03:00
Chris Peterson 71422dcaa9 Bug 1457813 - Part 2: Replace non-asserting NS_PRECONDITIONs with MOZ_ASSERTs. r=froydnj
s/NS_PRECONDITION/MOZ_ASSERT/ and reindent

MozReview-Commit-ID: KuUsnVe2h8L

--HG--
extra : source : c14655ab3df2c9b1465dd8102b9d25683359a37b
2018-04-28 12:50:58 -07:00
Martin Robinson 2d70c66a68 Bug 1458870 - Changes necessary to deal with new WebRender nine-patch API from PR 2724. r=jrmuizel
MozReview-Commit-ID: 9217FeM4VJH

--HG--
extra : rebase_source : 72f5ab352a8d70149a2306eed9c7afc87405636e
2018-05-08 10:36:23 -04:00
Kartikaya Gupta c7cceabe9a Bug 1458870 - Update webrender to commit 9a3bc6b965554c04c0bba326cdee45240c3b4ba7. r=jrmuizel
MozReview-Commit-ID: J3QepnGtmOs

--HG--
extra : rebase_source : 761203f2ec165d2ca1f88c9ef00630e200e7eadc
2018-05-08 09:33:03 -04:00
Kartikaya Gupta 1eb717ccf5 Bug 1377187 - Rewrite the clipping code to use the new clipchain API. r=mstange
The clip chain API in webrender allows us to build the clip state in WR
so that it matches the gecko display list more closely. This patch throws
away ScrollingLayersHelper.* and introduces ClipManager.* which pushes
the clip state to WR using the new method. A quick summary of the new
method is below.

Each display item in gecko has a DisplayItemClipChain which is a chain
of individual clips. The individual clips are defined in WR, and the
clip ids for those clips are put into a WR clip chain using the new
define_clip_chain API. Furthermore, each clip chain can also have a
parent chain, which is used to link a DisplayItemClipChain to the parent
display item's DisplayItemClipChain. This allows the WR clip state to
closely match the structure of the gecko display list clip state,
resulting in more correct behaviour.

There are a few other major changes that are lumped into this patch and
that were tricky to separate into their own patches:
- The collapsing of WrScrollId and WrStickyId into WrClipId. On the WR
  side all the clip ids are treated the same anyway. Trying to preserve
  the arbitrary distinction on the gecko side was resulting in
  increasingly convoluted code, with different kinds of Variant<..>
  types in the method signatures. It was much simpler and resulted in a
  bunch of code deletion to just collapse the types.
- Moving the "override" mechanism from WebRenderAPI to ClipManager. The
  override mechanism (explained in ClipManager.h) was simplified by
  moving it into ClipManager, because it removed the need for tracking
  additional clip stack state in WebRenderAPI.

MozReview-Commit-ID: GGbdFyJGprK

--HG--
extra : rebase_source : baa56ff179e917b0ab5a5c186a3a415761f8050a
2018-05-08 09:08:39 -04:00
Kartikaya Gupta 1f11e1e04e Bug 1377187 - Simplify code to define clips and scroll layers. r=mstange
This is a refactoring that moves the "parent clip id" determination from
bindings.rs into WebRenderAPI.cpp. This should be functionally
identical.

MozReview-Commit-ID: 36rQmsH5E7J

--HG--
extra : rebase_source : f376e71f7681ec3f67e0ab4f2e3035da4edf2a5b
2018-05-08 09:07:30 -04:00
Coroiu Cristina ec7ba6b7e9 Merge mozilla-central to inbound a=merge on a CLOSED TREE 2018-05-08 18:57:41 +03:00
Ryan Hunt 17a7546f6b Bug 1420865 - Don't check for CONTENT_MAY_CHANGE_TRANSFORM across layer trees. r=mstange
MayResample() is used on the content and compositor to determine whether the whole
visible region should be or should have been validated. This calculation is done
partially by traversing ancestor layers and looking for a flag. This can return
different values then in the content side versus the shadow side, which in this
case leads to artifacts.

This commit tries to solve the problem by ignoring layers that content is unaware
of. This works, but has the downside that resampling artifacts could show up if
the parent process is truly doing animations that require resampling.

MozReview-Commit-ID: 4TW6nzxS6E

--HG--
extra : rebase_source : 0bc82d09686245599b12c42af812b454875291f6
extra : amend_source : 6b423326a2952125468af13f0041e3daff40362f
2018-05-07 16:07:06 -05:00
Stephen A Pohl 8d4b0ba4b7 Bug 1366808: Start passing parentBuildID to GPU process to detect buildID mismatches. r=jimm 2018-05-08 10:31:52 -04:00
Stephen A Pohl 860c14b396 Bug 1366808: Properly detect buildID mismatches between parent and child processes and display about:restartrequired to prompt the user to restart Firefox before proceeding. r=jimm,felipe,bz 2018-05-08 10:31:44 -04:00
Milan Sreckovic b1115c2c28 Bug 1432067 - Ignore zero sized tables. r=jrmuizel 2018-05-07 16:33:33 -04:00
Kartikaya Gupta 6b88d7cd8f Bug 1443436 - Don't use a raw pointer owned by the compositor thread on the controller thread. r=rbarker 2018-05-07 08:05:43 -04:00
Alexis Beingessner 239a528013 Bug 1435094 - wire up GlyphRasterSpace to nsDisplayTransform. r=kats,mstange
When a transform thinks it's animated we should abandon screen rasterization
and instead favour local rasterization. This produces a more visually
pleasant rendering, as pixel-snapping "wobbles" the text between
frames.

The float scale of GlyphRasterSpace::Local is currently unused, but this
PR tries its best to set it to a reasonable value, based on discussion
with glennw about the intended semantics. We agreed it should specify
the scale *relative* to the parent stacking context, which means it's
just whatever scaling the stacking context's transform applies. It's
possible we'll need to clamp this value or make it properly 2-dimensional
later on.

Some book-keeping is added to StackingContextHelper to ensure that
GlyphRasterSpace::Screen is never requested by a descendent
of a stacking context using GlyphRasterSpace::Local.

nsDisplayMask is changed to use a StackingContextHelper to ensure
rasterSpace is properly propagated.

In addition, this is the first commit making use of cbindgen's new support
for bridging Rust enums natively into C++! This bumps our minimum cbindgen
to 6.0.0 (just released).

MozReview-Commit-ID: 9AlsB6nUheB

--HG--
extra : rebase_source : 247e5b197e998682cb4bb74f6f9319a9a4dd3264
2018-05-03 20:38:37 -04:00
Xidorn Quan f62e2a947a Bug 1406552 - Only update max ascent / descent with em ones when ascent and descent are zero. r=jfkthame
The original code was added in bug 385263 for fixing bug 279032 that a
single font provides zero for max ascent / descent in its HHEA table
which caused Firefox to crash.

Unconditionally picking the maximum of max ascent / descent and their
em correspondents doesn't seem to be essential for working around that
case, so this patch changes it to just use the em ascent / descent when
both max ascent and descent are zero.

This fixes a webcompat problem related to Roboto font on Linux (and
presumably also Android given it uses FreeType backend as well).

MozReview-Commit-ID: EpKrfiOwnZt

--HG--
extra : rebase_source : 0619abf992fb1e1a1f3068ab172880913ebff1f1
2018-05-03 19:43:46 +10:00
Brindusan Cristian 2d54f42738 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-05-05 00:43:22 +03:00
Brindusan Cristian 89a097be09 Merge inbound to mozilla-central. a=merge 2018-05-05 00:35:50 +03:00
Botond Ballo 73a70d80bd Bug 1458783 - Back out the first patch in bug 1458063 (propagate wheel event modifiers in APZInputBridge::ReceiveInputEvent). r=kats
The patch in question is not strictly necessary to fix bug 1458063, and was
causing intermittent failures.

MozReview-Commit-ID: 1llW2BkmcXn

--HG--
extra : rebase_source : 858c3848f00f8a4feafb6815ea578d380533cbd8
2018-05-04 12:21:49 -04:00
Cosmin Sabou dc4e10c449 Merge inbound to mozilla-central. a=merge
--HG--
rename : testing/profiles/prefs_general.js => testing/profiles/common/user.js
2018-05-04 20:37:47 +03:00
Kartikaya Gupta 8a88ea74e4 Bug 1459102 - Back out WR PR 2709 to fix webrender-enabled behaviour on macOS. r=kvark a=Aryx 2018-05-04 09:37:48 -04:00
Lee Salzman e223d1147b Bug 1457154 - use fallback for color glyphs with transparency in WR. r=gankro
MozReview-Commit-ID: 3Z00aJs26DV
2018-05-03 22:53:55 -04:00
Cosmin Sabou 2f93cbd6cb Merge mozilla-central to inbound. a=merge CLOSED TREE
--HG--
rename : testing/profiles/prefs_general.js => testing/profiles/common/user.js
extra : rebase_source : e56a2d784bd87af73d03cc5fcdca84d8156ed054
2018-05-04 21:07:31 +03:00
Jonathan Kew 5182b6ad11 Bug 1459158 - Don't apply variation values from CSS font-weight/font-stretch properties if the font's variation axes appear to use a non-CSS-like scale. r=jwatt 2018-05-04 17:36:01 +01:00
Jonathan Kew 034384a62d Bug 1459163 - When variation fonts are disabled, gfxFontEntry::GetVariationsForStyle should just return without attempting to map CSS properties to variation axes. r=jwatt 2018-05-04 17:35:38 +01:00
Ciure Andrei 9be98c9d63 Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2018-05-04 00:56:01 +03:00
Ciure Andrei 82f7c496dc Merge inbound to mozilla-central. a=merge 2018-05-04 00:52:04 +03:00
Bas Schouten bc69449ac5 Bug 1457967: Don't needlessly include smmintrin.h on platforms where we're only using SSE2. r=jrmuizel 2018-05-03 15:20:01 +00:00
Ryan Hunt c2b8279a9f Bug 1458462 - Create paint workers if it's possible we could switch to tiling in the future. r=nical
On windows it's possible for us to fallback from D2D to Skia rendering at any time due to a device reset.
If this happens with `enable-tiles-if-skia-pomtp` enabled we could begin to use tiling. This can cause a
crash if we never created the worker threads because at initialization time we weren't using tiling.

Another way to fix this would be to dynamically create the worker threads in UpdateRenderMode if we
have switched to skia. That's a larger change and more might be required, so I'd rather just fix the
crash for now.

This commit also fixes a pref that should be `Once` instead of `Live`.

MozReview-Commit-ID: JQidXPjI7ER

--HG--
extra : amend_source : ba9a3746faea3a7355251b7e97e3f7c5dc1ba06b
2018-05-02 09:21:13 -05:00
David Major 96e95f3237 Bug 1458364: Skip test_font_whitelist.html on Windows ASan. DONTBUILD
--HG--
extra : rebase_source : ef4fced0ea1a94e6956e65f07ff0377df9471f0b
2018-05-04 14:48:59 -04:00
Jonathan Watt b6f1371d94 Bug 1458218 - Rename gfxGDIFont::mNeedsBold to mNeedsSyntheticBold. r=jfkthame 2018-04-26 12:46:18 +01:00
Jonathan Kew 7dbe882858 Bug 1457254 - Don't pass true for aIsDataFont when creating an UnscaledFontMac from AddNativeFontHandle, this is for installed fonts. r=lsalzman 2018-05-03 22:00:53 +01:00
Milan Sreckovic 4712274b69 Bug 1455696: gfx.webrender.all.qualified preference to default to WR for non-blocked devices/hardware. gfx.webrender.all will still force it on. r=milan
--HG--
extra : rebase_source : 173f06f702ccc4eb93d0e4533316056cb07c88af
2018-05-03 13:02:00 +03:00
Jonathan Kew c8b02be077 Bug 1449605 - part 2 - Rename gfxFontEntry::IsBold() to SupportsBold() and make it smarter about variable fonts, to avoid inappropriate use of synthetic-bold effect. r=jwatt 2018-05-04 10:19:55 +01:00
sotaro b482332d39 Bug 1457387 - Remove WrExternalLogHandler r=jrmuizel 2018-05-04 14:31:32 +09:00
Botond Ballo 9033e3e120 Bug 1458063 - Introduce a new wheel action for pinch-zooming. r=kats
MozReview-Commit-ID: 7DWNvQc2pBE

--HG--
extra : rebase_source : 02d3efe180fb1cd6d49ca9b8a49e4051e6e05cac
2018-05-02 16:51:27 -04:00
Botond Ballo 5db812fe01 Bug 1458063 - Give a name to the special (-1,-1) value of a pinch gesture event's focus point. r=kats
MozReview-Commit-ID: AtitjK2eCGa

--HG--
extra : rebase_source : c2090b54e21f885876808a68347421f277ca66c3
2018-05-02 16:36:17 -04:00
Botond Ballo ad612541e7 Bug 1458063 - Propagate the APZWheelAction to APZCTreeManager. r=kats
MozReview-Commit-ID: Kpr7NGLV7J5

--HG--
extra : rebase_source : 6e42ce08841c44b7c637ddbd878b5372d5d1225b
2018-05-02 12:57:23 -04:00
Botond Ballo 2add094650 Bug 1458063 - Refactor WillHandleWheelEvent() to also indicate the type of action APZ should take. r=kats
MozReview-Commit-ID: LfinNZYqiwt

--HG--
extra : rebase_source : 2ea04360700530e1fbbbaaf94b484b6df2f79fe4
2018-04-30 22:11:10 -04:00
Botond Ballo 951630043e Bug 1458063 - Propagate event modifiers for wheel events in APZInputBridge::ReceiveInputEvent. r=kats
MozReview-Commit-ID: 8X3xfEk9uWQ

--HG--
extra : rebase_source : a2cc6fd9d6259071545ddbd48b738429bfa1c71f
2018-04-30 17:48:22 -04:00
Gurzau Raul 30662c7545 Merge inbound to mozilla-central. a=merge 2018-05-03 00:04:54 +03:00
Kartikaya Gupta 39520d0264 Bug 1458259 - Remove assertion that is no longer valid. r=botond
MozReview-Commit-ID: BMBZJ9q93vA

--HG--
extra : rebase_source : c42a376dc0d589476751e17c68db135e5657d250
2018-05-02 12:47:54 -04:00
Cosmin Sabou a1f7ce21a9 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-05-02 18:07:21 +03:00
Jonathan Kew 007b53464f Bug 1458158 - Correct the weight-difference factor in CalcStyleMatch to favor closer weights, not further ones. r=jwatt 2018-05-01 15:56:04 +01:00
Ryan Hunt 5516d12e7b Bug 1457007 - Add about:support information on if tiling is used in the content process. r=nical
MozReview-Commit-ID: 1JewsArgmZz

--HG--
extra : rebase_source : 85e8e1101ca852baee9e1448267e59b19c9d84e1
2018-04-30 15:05:19 -05:00
Kartikaya Gupta c6b419d0eb Bug 1457891 - Update webrender to commit 8da531dc2cd77a4dadbfe632b04e76454f51ac9f. r=jrmuizel
MozReview-Commit-ID: HTqjYp9gFwA

--HG--
extra : rebase_source : 184b9afc8834819c7bace70ea51d81642d2e17ff
2018-05-03 09:00:55 -04:00
Masatoshi Kimura c7c5848511 Bug 1442275 - Stop using PR_LoadLibrary in gfx/. r=jgilbert
MozReview-Commit-ID: LNZtr4NVFYj

--HG--
extra : rebase_source : 2f064f5662b02a3c2e76774908f4a15e7580720d
extra : source : ad866775710347c330907a315d88784e56dec00e
2018-02-25 01:33:57 +09:00
Hiroyuki Ikezoe c98b461048 Bug 1458798 - Clear the previous timestamp when we skip calling SampleAnimations in CompositeToTarget(). r=kats
The purpose of the previous timestamp is to reduce the time difference between
the timestamps on the main-thread and the compositor.  Once we skipped a frame
to compose animations on the compositor, the timestamp is far behind from the
timestamp on the main-thread, so we should clear it.

MozReview-Commit-ID: EGiQfwejfsy

--HG--
extra : rebase_source : 7c382116b93b27feb6e70e394ebad543ec8bfda5
2018-05-03 15:57:19 +09:00
Andreea Pavel 83decb5324 Merge mozilla-central to mozilla-inbound. a=merge on a CLOSED TREE 2018-05-01 13:18:00 +03:00
Andreea Pavel 7955752872 Merge mozilla-inbound to mozilla-central. a=merge 2018-05-01 13:13:09 +03:00
Jonathan Kew e92b9e44cf Bug 1449605 - part 1 - Rearrange thebes font code so that the decision whether to apply synthetic-bold is deferred until actually instantiating a font, not made during the font-matching process. r=jwatt
This rearranges how synthetic-bold use is determined in the font selection
& rendering code. Previously, we would decide during the font-selection
algorithm whether we need to apply synthetic-bold to the chosen face, and
then pass that decision through the fontgroup (storing it in the FamilyFace
entries of the mFonts array there) down to the actual rendering code that
instantiates fonts from the faces (font entries) we've selected.

That became a problem for variation fonts because in the case of a user
font, we may not have downloaded the resource yet, so we just have a "user
font container" entry, which carries the descriptors from the @font-face
rule and will fetch the actual resource when needed. But in the case of a
@font-face rule without a weight descriptor, we don't actually know at
font-selection time whether the face will support "true" bold (via a
variation axis) or not, so we can't reliably make the right decision about
applying synthetic bold.

So we now defer that decision until we actually instantiate a platform font
object to shape/measure/draw text. At that point, we have the requested
style and we also have the real font resource, so we can easily determine
whether fake-bold is required.

(This patch should not result in any visible behavior change; that will
come in a second patch now that the architecture supports it.)
2018-05-01 10:30:50 +01:00
Kartikaya Gupta 9d0713c20d Bug 1457448 - Ensure we flush the async scene builder thread before snapshotting. r=nical
MozReview-Commit-ID: 3XTFWiEmk0p

--HG--
extra : rebase_source : 0547263009cfb48bb7f010662d57734ed57f63c7
2018-04-27 10:46:21 -04:00
Hiroyuki Ikezoe 9aeceedbea Bug 1456372 - Call AdvanceAnimations on the root WebRenderBridgeParent for RecvGetAnimationOpacity() and RecvGetAnimationTransform(). r=kats
MozReview-Commit-ID: LmNScQ01eFJ

--HG--
extra : rebase_source : c02844a8f5a9f5e65cbca3b883280285b66a733c
2018-05-01 06:13:39 +09:00
Botond Ballo d39ab35df6 Bug 1457743 - Fix check for entering momentum-scrolling codepath after both fingers are released in a two-finger pan. r=kats
MozReview-Commit-ID: 587mYzBf2aB

--HG--
extra : rebase_source : 075c6f4c1461b6cd9bd5197c51523d7374b91e62
2018-04-28 19:29:51 -04:00
Kartikaya Gupta 549ac4326c Bug 1457443 - Don't expect WebRender windows if WebRender isn't built. r=milan
MozReview-Commit-ID: 2i25nGMsvxE

--HG--
extra : rebase_source : 9bdd28048504bcde5150b252777f46ab523ca1ff
2018-04-27 12:51:40 -04:00
Kartikaya Gupta 4e2f121981 Bug 1457241 - Update webrender to commit 4b65822a2f7e1fed246a492f9fe193ede2f37d74. r=jrmuizel
MozReview-Commit-ID: EIE8tuyH8Ai

--HG--
extra : rebase_source : 8886acf54a54822ee1de326a6ad082edd069dea1
2018-04-30 10:12:52 -04:00
Kartikaya Gupta e8e91e9031 Bug 1457238 - Collapse all the RemovePipelineIdForCompositable transactions into a single one. r=nical
MozReview-Commit-ID: Ekouq9VOrR6

--HG--
extra : rebase_source : 556a6d5bf9846196c10c1efa434b7dbf6f9d061b
2018-04-30 09:35:41 -04:00
Kartikaya Gupta 88324fa347 Bug 1453360 - Store the compositor animation ids to delete until the epoch is rendered. r=nical
With async scene building, we might get the message to delete certain
compositor animation ids while we are still building and rendering
scenes that have those compositor animations. This patch associates
those ids with the epoch at which they are safe to delete, and only does
the deletion once we have rendered that epoch.

MozReview-Commit-ID: Jetfcdtwt1q

--HG--
extra : rebase_source : f06b8ee62e460432e8faed670e928f60cb6bc915
2018-04-27 10:32:31 -04:00
Kartikaya Gupta 3bb1df5d75 Bug 1453360 - Rename NotifyDidCompositeToPipeline to NotifyPipelineRendered. r=nical
This also rearranges the method implementation slightly to make the next
patch easier to read. This patch should have zero functional changes,
it's just refactoring.

MozReview-Commit-ID: 53StJ0TH3IT

--HG--
extra : rebase_source : 2f3aeb54271da75a7e051afc24b8a4c96f8496f2
2018-04-27 10:32:30 -04:00
Andrew Osmond 66d22468b8 Bug 1425484 - Part 5. Correct prototype of TakeExternalSurfaces. r=aosmond 2018-04-29 18:48:39 -04:00
Andreea Pavel 443c91d4b4 Merge inbound to mozilla-central. a=merge 2018-04-28 20:30:18 +03:00
Hiroyuki Ikezoe 41be7768d1 Bug 1457249 - Use actually calculated value for the assertion that checks animation value is unchanged when we decided to skip calculation for the animation on debug build. r=kats
Before this change, the value which was set by SetShadowBaseTransform()
has been used for the assertion, but it is possible that the value is changed
by APZ.  And it's hard to tell whether the value has been changed by APZ or not
and it's hard to *reverse-calculate* the differences in the past APZ at the
moment we want to do the assert.

So after this patch, on debug build we don't actually skip the calculation for
unchanged animations and use the newly calculated value for the assertion.

MozReview-Commit-ID: 8fCcvvbUMHe

--HG--
extra : rebase_source : 0ff5e7100ad33a690bb0edd02af2b00c749afbbe
2018-04-28 18:09:27 +09:00
Hiroyuki Ikezoe 83df03fa3f Bug 1457249 - Factor out the function that converts transform into device space. r=kats
MozReview-Commit-ID: L7CDcSdIj4D

--HG--
extra : rebase_source : 9b976891ea92ca4ee50968139a3662eba3eeef3b
2018-04-28 18:08:15 +09:00
Hiroyuki Ikezoe bd924ec565 Bug 1457249 - Factor out the function that converts servo's animation value to matrix. r=kats
MozReview-Commit-ID: HpdFYykOkOS

--HG--
extra : rebase_source : 3fb386bb41b9bcf122bd5c8410fe73dcc3dd5d97
2018-04-28 18:08:15 +09:00
Hiroyuki Ikezoe 328d34d3c7 Bug 1457249 - Assert that there is an animation value set by animations when we skip calculation for newly animation value. r=kats
MozReview-Commit-ID: F85nAmKIGCA

--HG--
extra : rebase_source : 0f2065e58f02ef1462a15f0cd680ffa7b2a185b1
2018-04-28 18:08:15 +09:00
Jonathan Kew 5e9926e820 Bug 1457505 - Fix the check for variation-font support in gfxWindowsPlatform: cannot depend on checking mUsingDirectWrite, as the fontlist is not yet set up. r=lsalzman 2018-04-28 09:17:47 +01:00
Csoregi Natalia aa73cfd14b Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-04-28 00:55:43 +03:00
Bas Schouten 2c2327c372 Bug 1427063: Have D2D interpret colors in premultiplied space. As it says is its default. r=rhunt
MozReview-Commit-ID: 5OWjHW1CqjN
2018-04-23 19:27:48 +02:00
Andrew Osmond f5b895f6bf Bug 1425484 - Part 4. Followup to fix shared surface lifetime issue with blob images. r=aosmond 2018-04-27 09:05:40 -04:00
Cosmin Sabou 68fdb6cf4f Merge inbound to mozilla-central. a=merge 2018-04-27 13:04:36 +03:00
Lee Salzman f27dc02d63 Bug 1457284 - add Skia m66 cherry-picks. r=rhunt
MozReview-Commit-ID: 4naJirEFhiV
2018-04-26 22:45:34 -04:00
Andrew Osmond 63d93fdc78 Bug 1425484 - Part 3. Integrate shared surfaces with the blob image recordings. r=jrmuizel 2018-04-26 19:00:16 -04:00
Andrew Osmond 049ab9d97c Bug 1425484 - Part 2. Allow using SharedSurfacesParent off the compositor thread. r=jrmuizel 2018-04-26 19:00:14 -04:00
Andrew Osmond 4307ebe4bc Bug 1425484 - Part 1. Allow using SharedSurfacesChild::Share with the external image ID directly. r=jrmuizel 2018-04-26 19:00:12 -04:00
Bas Schouten 52e0352904 Bug 1457030: Remove elements from the mNodesToDestroy array back to front, preventing expensive memmoves on large amounts of reuse. r=kats
MozReview-Commit-ID: DZ1H9KIuDUp
2018-04-26 18:50:23 +02:00
Botond Ballo 04287e6502 Bug 1448439 - Use an accurate pixels per pinch value in AndroidFlingPhysics. r=kats
MozReview-Commit-ID: I0yZKTvlHWV

--HG--
extra : rebase_source : 89f751e48e376812c49fc2d7665a43049d9de121
2018-04-26 16:42:05 -04:00
Jonathan Kew d384879f12 Bug 1457103 - patch 3 - Make gfxFontEntry::GetVariationAxes and GetVariationInstances pure virtual, and provide missing subclass implementations. r=jwatt 2018-04-26 17:08:18 +01:00
Jonathan Kew 61950f81db Bug 1457103 - patch 2 - Refactor logic from gfxFontconfigFontEntry implementations of GetVariationAxes and GetVariationInstances to gfxFT2Utils, where it can be shared by the gfxFT2Fonts backend. r=jwatt 2018-04-26 17:08:18 +01:00
Jonathan Kew 6ad9a5ee43 Bug 1457103 - patch 1 - Make gfxFontEntry::HasVariations a pure-virtual method, and fill in missing subclass implementations, particularly in FT2FontEntry. r=jwatt 2018-04-26 17:08:18 +01:00
Lee Salzman 2942892fa9 Bug 1448703 - follow-up - disambiguate unknown font from cleared all. r=me 2018-04-26 11:58:49 -04:00
Andreea Pavel b1e3552b06 Backed out changeset 81601f1ab879 (bug 1448703) for build bustages at builds/worker/workspace/build/src/gfx/webrender_bindings/Moz2DImageRenderer.cpp:108 on a CLOSED TREE 2018-04-26 18:52:48 +03:00
Lee Salzman ff6c421be0 Bug 1448703 - follow-up - disambiguate unknown font from cleared all. r=me 2018-04-26 11:38:09 -04:00
Botond Ballo 67bc5921a7 Bug 1448439 - Expose some of the tunable parameters in AndroidFlingPhysics as prefs. r=kats
MozReview-Commit-ID: J4QRmMdGE0l

--HG--
extra : rebase_source : 9acdec2fff2f95057cf2fc4da9fc8e86de4912f0
2018-04-20 18:55:08 -04:00
Botond Ballo a7f61a775c Bug 1448439 - Add a pref to get APZ to use the Chrome fling physics on Android. r=kats
MozReview-Commit-ID: HDLDlwjov82

--HG--
extra : rebase_source : c454a6769ccd0ca9951c41ef2ea9990c24208373
2018-04-20 18:44:18 -04:00
Botond Ballo 1836235d39 Bug 1448439 - Add an AndroidFlingPhysics class containing an implementation of Chrome's fling physics on Android. r=kats
MozReview-Commit-ID: 509Cl04rozm

--HG--
extra : rebase_source : 11a3ebd03430e0981be156638762987c7c07a458
2018-04-20 18:42:08 -04:00
Botond Ballo 2796cb0198 Bug 1448439 - Extract a FlingPhysics abstraction from GenericFlingAnimation. r=kats
The FlingPhysics controls the shape of the fling curve, including how fast
and far it goes, while leaving other logic (related to flywheel, handoff,
overscroll, etc.) centralized in GenericFlingAnimation.

FlingPhysics is a template parameter of GenericFlingAnimation because we
already have a dynamic dispatch on the type of the animation, we don't
need another one for the physics.

I called the specific class implementing the current physics
DesktopFlingPhysics because since the deprecation of B2G and Android
switching to StackScrollerFlingAnimation, it's only used in desktop touch
scenarios.

MozReview-Commit-ID: LhJ9rpPrnXC

--HG--
extra : rebase_source : e53f1d7bbe3e0a588f5d5ba530c59e03cdc50d69
extra : source : 8fda27f6bbf30cc14966c80780c9e09533e7b7e5
2018-04-20 16:00:11 -04:00
Botond Ballo fd0a2c91d4 Bug 1448439 - Move Axis::FlingApplyFrictionOrCancel() to GenericFlingAnimation. r=kats
The calculation in that function is specific to a particular physics model,
so it's inappropriate to house it in Axis.

Also do some light refactoring to this function, to make modifying the
velocity the caller's responsibility (this becomes relevant in the next
patch, where we factor out the physics logic into a class that can't
modify the APZC).

MozReview-Commit-ID: 5ALQd3LBx3O

--HG--
extra : rebase_source : 2290b72d3026878b34c86f437b0fac093d9fceac
2018-04-20 14:02:38 -04:00
Botond Ballo 16e2ccbc2a Bug 1448439 - Rename AndroidFlingAnimation to StackScrollerFlingAnimation. r=kats
MozReview-Commit-ID: IdvOWYvE9Tr

--HG--
extra : rebase_source : b7361efece81ffc7b9185c2f6d827ca8c75e3eba
2018-04-17 19:56:48 -04:00
Botond Ballo 7db51a6a16 Bug 1448439 - Allow the concrete type of fling animations to be determined dynamically. r=kats
MozReview-Commit-ID: EBscYyxdlwr

--HG--
extra : rebase_source : 19de9aa3c6d1482ace56ce6a4314fe2538a760a7
2018-04-17 19:53:26 -04:00
Botond Ballo 0e5e89ecea Bug 1448439 - Fix unified build bustage. r=kats
MozReview-Commit-ID: 3HAcjOB1tjn

--HG--
extra : rebase_source : ef68f50b01af2ba5a00f76fd2f5e3fd01bfead6a
2018-04-20 20:03:52 -04:00
Kartikaya Gupta b9e8e2302f Bug 1457246 - Don't hold the sIndirectLayerTreesLock while making synchronous calls to the RenderBackend thread. r=sotaro
MozReview-Commit-ID: KzXZxCb2nA6

--HG--
extra : rebase_source : 64bbd524c5c9b0208cfbfa3899ff75a80903a3c6
2018-04-26 15:29:21 -04:00
Emilio Cobos Álvarez 0faef276ec Bug 1455885: Make the SVG context paint not use a node property, but a member in SVGDocument. r=jwatt
MozReview-Commit-ID: H6SRTsDL5Rh
2018-04-26 17:07:39 +02:00
Jonathan Kew 5485dd0a02 Bug 1456547 - When weight/stretch/style descriptor is omitted from a @font-face rule, the corresponding variation axis should not be clamped to the 'normal' value. r=jwatt 2018-04-26 15:32:36 +01:00
arthur.iakab 9e9c6ca596 Merge mozilla-central to inbound on a CLOSED TREE
--HG--
extra : amend_source : 45e514d60768068dc6f2b59b05059a0b86e4f692
2018-05-01 01:20:42 +03:00
Ryan Hunt 77c38b12c0 Bug 1454978 - Make OMTP feature detection not depend on tiling. r=bas
There's a circular dependency between `UsesTiling` and `InitOMTPConfig` because
we try to disable OMTP if we will be using tiling and edge padding is enabled.
Now that edge padding is disabled everywhere except android it should be safe
to assume that if edge padding is enabled then we'll be using tiling as well
and should disable OMTP.

This commit also removes a check on `UsesTiling` from CalculateWorkerCount
as it is redundant.

MozReview-Commit-ID: 1ruWPwXfLwO

--HG--
extra : rebase_source : d489c52c728d2ff356d2413b9b1044dfa3f63135
2018-04-25 16:27:02 -05:00
Ryan Hunt 40d71f783f Bug 1454978 - Cleanup tiling prefs in all.js. r=bas
This moves all the tiling prefs into one spot and organizes them a bit. It also fixes a common issue
with `edge-padding` being enabled on windows because it wouldn't be defined in all.js and defaulting
to enabled. Note that `worker-threads` is switched to `-1` by default here instead of just for OSX.
This should have no affect because we don't actually create the threads unless we are tiling, which
only happens right now on OSX.

MozReview-Commit-ID: D8HOs3yv7w0

--HG--
extra : rebase_source : 9b5d2d228af743ea4facd076dfa2f370ea93ebc8
2018-04-25 16:21:26 -05:00
Ryan Hunt 2f01e497c3 Bug 1454978 - Move MOZ_ASSERT(mIsMapped) into mChangeMutex. r=bas
We must check mIsMapped inside mChangeMutex or else we could run into a race condition where
the source surface is subsequently mapped again before the function terminates. This was
being hit on try.

MozReview-Commit-ID: 1eot3DVW8VD

--HG--
extra : rebase_source : 19f2514d9e2412ee5fe7c99844b7f64f78a7425e
2018-04-25 12:44:58 -05:00
Jonathan Kew 3511e348ed Bug 1457412 - Update OTS to upstream tip (c903692702), to pick up recent fixes. r=jrmuizel 2018-04-30 15:45:38 +01:00
Noemi Erli 0ec806df24 Backed out changeset f8ad5962fc89 (bug 1435094) bustage in /builds/worker/workspace/build/src/layout/painting/nsDisplayList.cpp on a CLOSED TREE 2018-04-27 04:14:39 +03:00
Alexis Beingessner 4bb2580c85 Bug 1435094 - wire up GlyphRasterSpace to nsDisplayTransform. r=kats,mstange
When a transform thinks it's animated we should abandon screen rasterization
and instead favour local rasterization. This produces a more visually
pleasant rendering, as pixel-snapping "wobbles" the text between
frames.

The float scale of GlyphRasterSpace::Local is currently unused, but this
PR tries its best to set it to a reasonable value, based on discussion
with glennw about the intended semantics. We agreed it should specify
the scale *relative* to the parent stacking context, which means it's
just whatever scaling the stacking context's transform applies. It's
possible we'll need to clamp this value or make it properly 2-dimensional
later on.

Some book-keeping is added to StackingContextHelper to ensure that
GlyphRasterSpace::Screen is never requested by a descendent
of a stacking context using GlyphRasterSpace::Local.

nsDisplayMask is changed to use a StackingContextHelper to ensure
rasterSpace is properly propagated.

In addition, this is the first commit making use of cbindgen's new support
for bridging Rust enums natively into C++! This bumps our minimum cbindgen
to 6.0.0 (just released).

MozReview-Commit-ID: 9AlsB6nUheB

--HG--
extra : rebase_source : 978e51dbedeb1542e0829752b7f828ffeb2872e9
2018-04-25 10:47:34 -04:00
Botond Ballo b75235fc6d Bug 1455860 - Limit the diagnostic assert for mismatches between main thread and compositor hit testing to Nightly builds only. r=kats
MozReview-Commit-ID: 87DKkb7KmiC

--HG--
extra : rebase_source : ec54fcc55fc4952fc69552377dbc0571a9b61363
2018-04-26 12:47:34 -04:00
shindli c72db9830d Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-04-27 00:44:51 +03:00
Kartikaya Gupta 0f5d6c9649 Bug 1456114 - Update for API change in WR PR 2691. r=jrmuizel
MozReview-Commit-ID: Eb1wFVY39uu

--HG--
extra : rebase_source : c2c14ebaeecad5b45d17a212e7c436c3b2f4ccaf
2018-04-26 14:15:40 -04:00
Kartikaya Gupta b881108e5b Bug 1456114 - Update for WR PR 2679. r=jrmuizel
MozReview-Commit-ID: GrFwU62DcWU

--HG--
extra : rebase_source : bacebaedb5870063f30053def14fe5ab49954925
2018-04-26 14:15:19 -04:00
Kartikaya Gupta 8248fea792 Bug 1456114 - Update webrender to commit 751236199b39bb8dac78522713133ca18c603fb3. r=jrmuizel
MozReview-Commit-ID: 5Zz7LwyLExN

--HG--
extra : rebase_source : 4aa78eb7c49570a8c404f0ded36795eb787179a6
2018-04-26 14:14:24 -04:00
Kartikaya Gupta f7c175a667 Bug 1456978 - Ensure that all generate_frame transactions end up clearing the pending frame count. r=sotaro
This prevents us from getting stuck in the frame throttling code where
TooManyPendingFrames always returns true.

MozReview-Commit-ID: 92tybPOaOTP

--HG--
extra : rebase_source : 8934f89a191759e85578db3dfde9e017a03a82eb
2018-04-27 07:41:03 -04:00
Kartikaya Gupta 302aed6dcf Bug 1456978 - Remove redundant construction of WindowId. r=sotaro
MozReview-Commit-ID: 2XiVcQJotRv

--HG--
extra : rebase_source : ecfffd3b36bbd69f7f252240275cbc632340ab41
2018-04-27 07:41:03 -04:00
Kartikaya Gupta 4b12c6a2da Bug 1456978 - Rename function to a more appropriate name. r=sotaro
MozReview-Commit-ID: 2mVFcPsK6oe

--HG--
extra : rebase_source : 3fef0fbd0c0b42214d638b204c8753de1eca8d67
2018-04-27 07:41:03 -04:00
Andreea Pavel a21531022b Merge mozilla-inbound to mozilla-central. a=merge
--HG--
rename : toolkit/components/extensions/test/xpcshell/test_ext_browserSettings.js => toolkit/components/extensions/test/xpcshell/test_ext_proxy_config.js
2018-04-26 09:04:59 +03:00
Dorel Luca 5846115845 Backed out 2 changesets (bug 1456679) for Reftests failure. CLOSED TREE
Backed out changeset c40209504a45 (bug 1456679)
Backed out changeset 351ae90cc6a0 (bug 1456679)
2018-04-26 05:07:47 +03:00
Hiroyuki Ikezoe c6556c83a8 Bug 1456679 - Don't set non-animated values as AnimatedValue in delay phase. r=kats
We no longer need them since in the previous commit we make sure subsequent
ticks happens for animations in delay phase.

MozReview-Commit-ID: F68wCCsCEiE

--HG--
extra : rebase_source : 0f7d1b3ef45b9dd210473d3c374d193e3ee94e83
2018-04-26 08:29:29 +09:00
Hiroyuki Ikezoe 861eb6a9fb Bug 1456679 - Make SampleAnimations return boolean to tell there is any animations even if the animation in delay phase. r=kats
If the animation is in delay phase, we shouldn't produce any values for the
animation but we have to make sure subsequent ticks happen in order to the time
when the animation starts.  So what we should do here is that

1) Make AnimationHelper::SampleAnimations() return boolean, return true if
   there is any animation.
2) Schedule the next tick if AnimationHelper::SampleAnimations return true

This setup is equivalent to what we do non-WebRender.

So that we don't need to set non-animated value as AnimatedValue for delay
phase to make subsequent ticks happen for the delay phase animations.  The
non-animated value will be dropped in the next patch.

MozReview-Commit-ID: IwltLGgvT7K

--HG--
extra : rebase_source : 9854b182134adf3060260849741142841721d65b
2018-04-26 08:28:44 +09:00
David Major cba47d4ae4 Bug 1456952: Reapply bug 624198 fix that got lost in an upstream update. r=jrmuizel
--HG--
extra : rebase_source : d31bbf6d71bc1d0e26d9ff85ebbfde713e2efc98
2018-04-25 17:38:18 -04:00
Ryan Hunt 4017e5ac25 Bug 1455408 - Remove dead code from CompositorBridgeParent that was used for changing thread priority. r=kats
MozReview-Commit-ID: CXELmNfZoaN

--HG--
extra : rebase_source : ae6b8a64336f35432923d21397554601a17b052d
extra : histedit_source : df67c107d7956b34b3512203d922582fde57ade1
2018-04-19 14:48:23 -05:00
Ryan Hunt fd416587c0 Bug 1455408 - Remove dead code in ImageBridge that was used for changing thread priority. r=kats
MozReview-Commit-ID: 8sYuUXI8fz4

--HG--
extra : rebase_source : 8eff5abc88b6502c600205dd85c97a98f0f7294d
extra : histedit_source : 4682a722fc136aad374d599e9c8bda62528f71be
2018-04-19 14:36:09 -05:00
Kartikaya Gupta 2c547211bb Bug 1448703 - Follow-up to regenerate FFI bindings. r=me 2018-04-25 16:11:10 -04:00
Jonathan Kew 4ca43a081e Bug 1456820 - patch 4 - Reorder fields in gfxFont for better packing. r=lsalzman 2018-04-25 18:54:03 +01:00
Jonathan Kew 7820fa0d7a Bug 1456820 - patch 3 - Reorder fields in gfxFontEntry for better packing. r=lsalzman 2018-04-25 18:54:03 +01:00
Jonathan Kew 7a753409a8 Bug 1456820 - patch 2 - Reorder fields in gfxFontStyle for better packing. r=lsalzman 2018-04-25 18:54:03 +01:00
Jonathan Kew 4987441d18 Bug 1456820 - patch 1 - Reorder fields in nsFont for better packing. r=lsalzman 2018-04-25 18:54:03 +01:00
Jonathan Kew 2a3d1d4598 Bug 1454598 - part 4 - Disable font variations on macOS Sierra due to Core Text unreliability. r=jwatt 2018-04-25 14:03:44 +01:00
Jonathan Kew c57f185cd9 Bug 1454598 - part 3 - Use WeightRange more extensively in place of FontWeight throughout user-font handling and font-entry creation, and handle Stretch and SlantStyle similarly. r=jwatt 2018-04-25 07:18:23 +01:00
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 e8077ba4d8 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 : 85ee310ceaaff5fa8a1ccb513ffaf90904ace19d
2018-04-19 14:48:04 +01: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
Hiroyuki Ikezoe 7c632c2fbc Bug 1458414 - Call DiscardCompositorAnimations() after BuildWebRenderCommands(). r=kats
Since bug 1457448 we can clear discarded animations on the same transaction where we send
animations to the compositor.

MozReview-Commit-ID: 4BYsCgA98S0

--HG--
extra : rebase_source : 95087b06037466ecf70a65e18561e48418376763
2018-05-02 12:14:59 +09:00
Kartikaya Gupta 2497caec29 Bug 1451168 - Add a reftest. r=jrmuizel
MozReview-Commit-ID: 10exzxZ5V4j

--HG--
extra : rebase_source : 6f9e4be5bf6affc800097b04eb18550f00dd7889
2018-05-01 16:31:24 -04:00
Kartikaya Gupta 8cc14c6513 Bug 1451168 - Ensure the transforms from ancestor stacking contexts are combined properly. r=jrmuizel
When passing the transforms from nsDisplayTransform items down to the
descendant display items, we need to make sure they are combined properly
so that the "ancestor transform" on the APZ side is correctly computed.

MozReview-Commit-ID: Di1FBLYGef5

--HG--
extra : rebase_source : 736e7cd375681f84ca2db8e6b98bf1a7525431d4
2018-05-01 16:31:23 -04: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
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