This shaves 40KB off of libxul.
Source-Repo: https://github.com/servo/servo
Source-Revision: 2f4362e0c1371c9ae45f1a71a406578eadc94a8b
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : df1457b06a0eb8d7bdc1097b1c0bf4f79ff14b27
There's only one caller so let's just eliminate inline FillAzure into
Fill.
MozReview-Commit-ID: JYpAQMkhEcS
--HG--
extra : rebase_source : 962b046405949d435537a77baea50f631a8aee72
Add a command CreateClippedDrawTarget to DrawTarget, which takes the
max required size and a transform between this draw target and the one
to be created. The created draw target may have its size clipped to
the size of this draw target, transformed to the new target's
space. This means that the new surface will be large enough so
that it is rendered to this draw target correctly, but not necessarily
any larger.
Usually this will just create a draw target of the requested size, for
simplicity. However, when replaying a recorded draw target we do clip
the size to the base draw target's size. This is done using a
DrawTargetTiled, so when applying the mask in PopLayer, we must take
the SourceSurface's offset in to account.
MozReview-Commit-ID: 89ONElphzLu
--HG--
extra : rebase_source : 7eebeb66a2686a7b6f4ade36f3004ebb06abc2fe
Fix the DrawTargetTiled::mRect initialization, and expose through the
virtual function GetRect(). Make SnapshotTiled::GetDataSurface()
allocate a surface the size of this rect, rather the XMost and
YMost. Callers of SourceSurface::GetDataSurface() can query
SourceSurface::GetRect() and apply the necessary offset themselves.
MozReview-Commit-ID: C31FGirQ0oK
--HG--
extra : rebase_source : ac31ae3ca0a0b188f9293c4e6898b4e4a65cad0e
Per https://drafts.csswg.org/css-cascade/#preshint and
https://html.spec.whatwg.org/#presentational-hints.
This was causing failures in the link color reftests with the preferences sheet
as a User sheet.
Bug: 1436782
Reviewed-by: bholley
MozReview-Commit-ID: 9iwEqPBw4CF
Source-Repo: https://github.com/servo/servo
Source-Revision: 2cc75a783d1a7e2a82ef1e6502ca5a4463a3fb4b
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : b73986abacd66b82dca889ed4b8f118273548879
In particular, even when there are no frames, we may have used the rule
cascades / stylist data (for different stuff, like font-feature-values, thus the
regressing bug).
Using the old rule cascades / stylist data without knowing it has changed is
wrong, thus the bug.
Now that media query change stuff is async and has a well-defined processing
point, we should be able to just call it without too much worry.
Also note that at the point the extra hints are passed, if there's no root frame
/ elements are not styled / etc, we'll optimize away the change hint.
The test-case intermittently fails without this patch, but I didn't manage to
make a better one, unfortunately :(
MozReview-Commit-ID: LY2HRIlAKHX
--HG--
extra : rebase_source : ed7d57cbdf4d08510ad62e88818a754b46441ac4
For locations, it always returns undefined. For windows, it returns undefined
unless there is a named subframe named "then", in which case that named
subframe is returned.
The idea is to be able to resolve promises with cross-origin objects.
MozReview-Commit-ID: HPyTvtwFdsG
Making the job take longer in favour of reducing the variability of test results makes sense to me.
Source-Repo: https://github.com/servo/servo
Source-Revision: 1d8e78720b06823e7f77b52a2b8fbd805d2cf2c0
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 6cfe6c5831f0cd6a5ad353ff2262e80936c55c02
This will make it easier to handle it properly for Shadow DOM, though this patch
doesn't do that.
This also makes some method inline and infallible for convenience, since nobody
checks the errors anyway.
MozReview-Commit-ID: Hq3erAUs5tf
This was just an oversight when adding Stylo bindgen support to |mach
bootstrap| (I assume).
MozReview-Commit-ID: 89N6omXGUdy
--HG--
extra : rebase_source : 8055d69eea317d83d64d481708f2d77e544db688
The heuristic simply fails for clang as shipped in Android NDKs: those
clang binaries can't target any non-Android host.
MozReview-Commit-ID: 6AhOJxE3boW
--HG--
extra : rebase_source : 2c8b59c15a7a7e9803f5447fc8f41fc843b2e647
Right now Gecko uses a whole `Stylist` for stuff like XBL / Shadow DOM.
That's not great, because it has tons of unrelated logic, and also eats up a lot of memory. Also, it prevents us to optimize style changes in shadow hosts the same way we do for the document.
These patches mostly rejigger stuff around so that you can define a `DocumentStylesheetSet` and then an `AuthorStylesheetSet`, which would contain just the Shadow DOM sheets / XBL resource sheets.
It still doesn't introduce any use for the later, but that will come later.
There's a patch in this PR that requires Gecko changes, posted in https://bugzilla.mozilla.org/show_bug.cgi?id=1436798.
Source-Repo: https://github.com/servo/servo
Source-Revision: 6b1a74672d6b9d9c55b027b147b0a6eb8f727bfd
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 35cd629f88c24439c615e283265dbb78d33279b7
Two things have changed. One, Brew's java package became Java 9,
which doesn't work for building on Android. Two, Brew's cask system
also changed, requiring some small updates.
In order to actually use the install java toolchain, we need to use
the --with-java-bin-path configure option, which required some small
tweaks to the suggested mozconfigs.
MozReview-Commit-ID: JlZpdqaOkp0
--HG--
extra : rebase_source : c2828139843b6e0b8d2f0c3141d4d9e5b0b83b4f
* The number is no longer selected on number input focus
MozReview-Commit-ID: AmR5c6YKTCP
--HG--
extra : rebase_source : fdaab23fca57f361c9185191d9c30e047375cbe8
Changing the transaction id allocator is now handled better in
ClientLayerManager than before in that it resets the transaction id on
the new allocator to match the old allocator and avoid discontinuities
in the transaction ids. We should apply this behaviour to
WebRenderLayerManager as well, because WebRenderLayerManager was
assuming that any time the allocator changed it would automatically
start the transaction id at 1, which is not the case. In particular,
when navigating to something in the bfcache, we can reuse a pre-existing
refresh driver which might have a transaction id already greater than 1.
MozReview-Commit-ID: 8IUn1Dhnh7c
--HG--
extra : rebase_source : 0e98c96d9636c3a3ee0489ff6b6161bce7677dd7