(Path is actually r=froydnj.)
Bug 1400459 devirtualized nsIAtom so that it is no longer a subclass of
nsISupports. This means that nsAtom is now a better name for it than nsIAtom.
MozReview-Commit-ID: 91U22X2NydP
--HG--
rename : xpcom/ds/nsIAtom.h => xpcom/ds/nsAtom.h
extra : rebase_source : ac3e904a21b8b48e74534fff964f1623ee937c67
After StyleBasicShape is set to StyleShapeSource, it's life cycle never go
beyond StyleShapeSource, so I make StyleBasicShape hold by a UniquePtr in
StyleShapeSource.
Also, replace all raw pointers to StyleBasicShape by UniquePtr in all APIs.
MozReview-Commit-ID: 1MfIFjP8TsQ
--HG--
extra : rebase_source : bdbbd47de57e0bc610e37913752ab8413f62588a
Android build uses cross compiler toolchain, so clang require --target option.
Also, since other options depend on NDK path, it should be set by
BINDGEN_CFLAGS environment value or bug 1397764.
MozReview-Commit-ID: 7jSSV7A5Z3q
--HG--
extra : rebase_source : f719b5130b61ffc2bd9e318103730ecbcccc185b
This removes the double-include macro hackery that we use to define two
separate string types (nsAString and nsACString) in favor of a templated
solution.
Annotations for Valgrind and the JS hazard analysis are updated as well as
the rust binding generations for string code.
--HG--
extra : rebase_source : 63ab2c4620cfcd4b764d42d654c82f30f984d016
extra : source : 9115364cd4aa078c49bba7911069f8178e55166f
This patch splits up the existing "layout/style-sets" measurement into
"layout/gecko-style-sets", or "layout/servo-style-sets/stylist/rule-tree" and
"layout/servo-style-sets/other". (Additional things will be measured under
"layout/servo-style-sets/" later, such as cascade data.)
This requires introducing a new type, ServoStyleSetSizes, for transferring the
multiple measurements from Rust code to C++ code.
MozReview-Commit-ID: FbmzpsjBpgI
--HG--
extra : rebase_source : f2d1441705139e6674d355792255302fcd89f748
CLOSED TREE
--HG--
extra : amend_source : 7618f27e1cf71347f12384935374d303d5c1ab23
extra : histedit_source : 1143d226673ace563bb5d9ff3c420ded33439791%2C9746a30097304bd2214a0072773dc00c767d31cd
The patch provides FFI access to Gecko's SeenPtrs type from Rust, in order to
record what has already been measured when measuring Arcs. (The SeenPtrs must
be initialized on the Gecko side because the same table is reused for measuring
all Elements within a window, because Elements can share ComputedValues.) I
have confirmed with DMD that this is working correctly.
The patch also introduces MallocSizeOfRepeats, which is like MallocSizeOf but
takes a SizeOfState, which holds a SeenPtrs table.
MozReview-Commit-ID: DHS8zvCsEdQ
--HG--
extra : rebase_source : acf4d7909abf6ceb1719331ccf2e33137eb6dc91
Without this mValue may end up looking like a valid nsCSSValue object and bad
things will happen when we try to clone it.
We could just assign mem::zeroed() to mValue but this array hacking on the Servo
side is already pretty nasty and mSimulateComputeValuesFailure would still
remain unassigned (and if we did try to assign it on the Servo side we'd need to
only assign it in debug builds). Unless this proves performance-critical, it's
probably best to just do this on the Gecko side.
MozReview-Commit-ID: 75nFsflhZUM
--HG--
extra : rebase_source : 0e5d94a7f6fdb6768983ba440a3ea69d65cbffbf
This patch also removes the duplication of style contexts during the
restyle, because otherwise pointer equality of ServoComputedValues stops
holding (and we assert on that in a few places)
MozReview-Commit-ID: 7Evc1p8ZfM2
In this patch, implements following properties:
* background-image
* border-image-source
* mask-image
MozReview-Commit-ID: 30RdO0fMNr8
--HG--
extra : rebase_source : d4490b4d64e22a3bc1f022c37edc20363f7c0269
In this patch, implements following properties:
* -moz-border-bottom-colors
* -moz-border-left-colors
* -moz-border-right-colors
* -moz-border-top-colors
To realize, we introduced a binding method Gecko_GetMozBorderColors.
MozReview-Commit-ID: JeseSyl8rMG
--HG--
extra : rebase_source : 118b6659a7be58f7b84e6024bfeea0a13dad66c0
With this function we can get multiple RawServoAnimationValue(s) for shorthand
properties.
MozReview-Commit-ID: GPqmsOfVB0
--HG--
extra : rebase_source : a822f574eeb552ad72748bbe4b89f6139621c880
Use Servo backend to decompose/interpolate/recompose matrices on both
main thread and compositor thread.
Note: Due there may be differences in precision used to represent the
components, and the computation of matrix interpolation are not
exactly same (still following the formulas in spec). There are some
tiny differences between the interpolation results of 2d/3d
matrices on Gecko and Servo, especially if there is skew() or any 3d
transform function.
MozReview-Commit-ID: 6T8vlR4MJGr
--HG--
extra : rebase_source : 3309f4a4541c6612109a441c38bb896deb83c018
This is a little bit odd, because I didn't want to do all the work to
convert the theme constants to an enum class (although that would be
nice to do in the future). So this makes them a regular enum, but still
uses gecko_constant_prefix rather than gecko_enum_prefix because that
makes it possible to add the NS_THEME_ prefix that's still present.
MozReview-Commit-ID: LdAyCNCvWT2
--HG--
extra : rebase_source : 9cf0511373f7e9ac51c964cd228776ee17ee5e5e
This is needed since nsLanguageAtomService uses nsInterfaceHashtable and when
the bindings are updated we will fail the generated test
bindgen_test_layout_nsLanguageAtomService without this.
MozReview-Commit-ID: 7aYGvPrf7us
--HG--
extra : rebase_source : 4a05694dcd3ffb4f840f634bd89fee48d52d6db6
We need to traverse rule tree to get the important rules, so we will not
override them if they have animations running on compositor.
MozReview-Commit-ID: 67NO2nIcUfq
--HG--
extra : rebase_source : 24a4ea4ca10e00f409d94c81acacb3db72248b3f