This is part of #16982.
Right now we have some code that tries to cache stuff in the style data during
layout.
This code is extremely rarely executed, only for `<details>` and `<summary>`.
I think if we really really want to cache these, we should find a place in the
layout data for it.
For now, let's move it away (and all the other layout code) from mutating the
style data from layout.
Source-Repo: https://github.com/servo/servo
Source-Revision: 84c1f904cbf5ca338b46f41426eab53fc45543e9
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 5e99273cbefd87cbdef9cb5ca5a9b2fa16b32f5a
Due to adjustTabstrip being called in setTimeout, it may have missed the opportunity to set
the closebuttons attribute before entering overflow mode, which would make all tabs show
their close button while overflowing.
MozReview-Commit-ID: 7tuvNH4lr0
--HG--
extra : rebase_source : 057d774c292290afd7725c0d155e9792cd739a04
If the browser is in fullscreen mode and Set Window Rect is called
we need to exit fullscreen mode and then continue to manipulate the
browser.
As described in https://w3c.github.io/webdriver/webdriver-spec.html#set-window-rect
Step 10
MozReview-Commit-ID: 5ixhGOXVBE4
--HG--
extra : rebase_source : be2b8b6da5cf78c6263502a6cb422e2de81c742d
configuration: Nexus 5 + Android Hammerhead 5.1.1 LMY48M
In CustomTabsActivity, the menu reload-button use a LevelListDrawable.
On some configurations, icon's state won't be set to Enabled by system, hence
the color of icon is incorrect. We have to enable it manually.
MozReview-Commit-ID: JB9t35OyatY
--HG--
extra : rebase_source : e0750f6b76ea25a6abcb5d1375aa1468522f0da4
This helps with 7ms on ts_paint linux64 opt e10s
MozReview-Commit-ID: KwlQFbYDJr1
--HG--
extra : rebase_source : fd2ac8392ee4020652364784f60b45326160e66d
Removed obsolete browser_dbg_event-listeners-03/4.js tests (they are for the
old debugger, and the new debugger doesn't even support event listeners
yet, so no use keeping this test around).
Removed getBrowserForTab SDK dependency from command-state.js.
Changed the implementation of addTab/removeTab in perf test's tab-utils
helper.
MozReview-Commit-ID: 7EXJ5K3kaJm
--HG--
extra : rebase_source : 5b235deb65ede4a15d3f189d95c4a81f385185a9
This also includes a small fix to manifest of the affected mochitest.
MozReview-Commit-ID: 1b8lba5JiHr
--HG--
extra : rebase_source : e435160f2e20b8cd4954ae5536c800dcddde33d4
The U2F Soft Token, due to its usage of NSS, has to have const values be
marked non-const - but no such limitation should exist for other implementations
of U2F, so this patch moves the const_cast-ing from the U2FTokenManager-level
down to the U2FSoftTokenManager, where it is actually necessary.
Credit to Axel Nennker for this patch.
MozReview-Commit-ID: Kw6zfTDI3GL
--HG--
extra : rebase_source : 90e31e2da9e021043509653a476ddaae03078e55
Removed obsolete browser_dbg_event-listeners-03/4.js tests (they are for the
old debugger, and the new debugger doesn't even support event listeners
yet, so no use keeping this test around).
Removed getBrowserForTab SDK dependency from command-state.js.
Changed the implementation of addTab/removeTab in perf test's tab-utils
helper.
MozReview-Commit-ID: 7EXJ5K3kaJm
--HG--
extra : rebase_source : 1922ba94fe72d3d10e6a4d8a9769cf475b9f113d
<!-- Please describe your changes on the following line: -->
remove unused style::restyle_hints::RestyleReplacements from line 134
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix#16978 (github issue number if applicable).
<!-- Either: -->
- [X] These changes do not require tests because removes only unused "use"
<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Source-Repo: https://github.com/servo/servo
Source-Revision: e8f9ab51cacf75d5d92c2b87a9c23eea5bd0aed3
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : b24fe9b091e9d5fe5e00fc37afb1afb9658b525e
This will enable us to pre-allocate the correct number of shared memory buffers
that we pre-allocate for sending video frames between the CDM and Gecko. That
means we won't need to take the slow path to recover from underestimating how
many shmems we need.
MozReview-Commit-ID: Q4mX2rYMz3
--HG--
extra : rebase_source : f9573cfbf4e65013803b46c0909be2c68566e512
Depends on https://github.com/servo/unicode-bidi/pull/27 , which
upgrades `unicode-bidi` crate to `0.3.0`.
Summary of changes:
* Use `unicode_bidi::Level` (instead of `u8`) in all relevant places and
replace magic computations with (inline) method calls to Level API.
* Doing so required adding `unicode-bidi` crate dependency to two more
components here: `style` and `gfx`. IMHO, totally makes sense, as
replaces local integer manipulations/checks with well-tested ones
already available in a common dependency.
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable). [N/A]
<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because `unicode-bidi` has its own tests and there's no logic change in this diff.
<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Source-Repo: https://github.com/servo/servo
Source-Revision: edd6c2cecb2c245f9f8bcab04ff8e57f1c5d1333
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 1effb7ec83ee994e989e8f6010a926d598327022
<!-- Please describe your changes on the following line: -->
Add accessor methods for the `device` and `ruleset` fields in the `Stylist` struct.
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix#16857 (github issue number if applicable).
<!-- Either: -->
- [X] There are tests for these changes
<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Source-Repo: https://github.com/servo/servo
Source-Revision: 1306b16d5a170074b4f42046a7b1a3a43952b346
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : a5e0289fe7456134e270f64236827be605ce061e
1. Use ScopeExit to ensure mListener->OnStartRequest() is invoked before exit CallOnStartRequest.
2. Add assertion to ensure OnStartRequest called before OnStopRequest.
MozReview-Commit-ID: FgONlk5HPNz
--HG--
extra : rebase_source : ffe386bc8bea6defb216ecf149a29deacdb3737a
Workaround for stagefright bug in Android 5.0/Lollipop.
MozReview-Commit-ID: AYiEff0nGoj
--HG--
extra : rebase_source : fb42c483b774900ec9e933d4b9cbca37386c9d61
Now that MinGW and MSYS have been removed from the Windows builders,
bash is not available to run the previous upload_nightlies.sh script.
Convert the script to Python 2 for cross-platform support.
Additionally, switch to the `boto3` library for easy uploading
without needing to install `s3cmd`,
and move the code into mach for easy `boto3` installation
as the new `./mach upload-nightly` command.
Also, hard-code the paths to the packages instead of using
globs to look for them, as the paths are static.
(The paths used to contain timestamps,
but we now insert timestamps when uploading to S3
to improve reproducibility.)
<!-- Please describe your changes on the following line: -->
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [ ] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix#16560 (github issue number if applicable).
<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because Buildbot will test them.
<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Source-Repo: https://github.com/servo/servo
Source-Revision: 9468fae0d443b2a8b9a7694f917dc097ac6c7e60
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 593f32ad93c14cb66dd36dfdb41bb36b41a0c558
For folders, we resolve conflicts by taking the chronologically newer
list, then appending any missing items from the older list. This
preserves the order of those missing items relative to each other, but
not relative to those appearing in the newer list.
MozReview-Commit-ID: 6rimXpV7vLg
--HG--
extra : rebase_source : 10cda7f529cec3f71d9d45d253285d35788cb0b5
Several years ago there was a single zip file for all test files. Clients
would only extract the files they needed. Thus, zip was a reasonable
archive format because it allowed direct access to members without
having to decompress the entirety of the stream.
We have since split up that monolithic archive into separate,
domain-specific archives. e.g. 1 archive for mochitests and one
for xpcshell tests. This drastically cut down on network I/O
required on testers because they only fetched archives/data that
was relevant. It also enabled parallel generation of test archives,
we shaved dozens of seconds off builds due to compression being
a long pole.
Despite the architectural changes to test archive management, we
still used zip files. This is not ideal because we no longer access
specific files in test archives and thus don't care about single/partial
member access performance.
This commit implements support for generating tar.gz test archives.
And it switches the web-platform archive to a tar.gz file.
The performance implications for archive generation are significant:
before: 48,321,250 bytes; 6.05s
after: 31,844,267 bytes; 4.57s
The size is reduced because we have a single compression context
so data from 1 file can benefit compression in a subsequent file.
CPU usage is reduced because the compressor has to work less with
1 context than it does with N. While I didn't measure it, decompression
performance should also be improved for the same reasons. And of course
network I/O will be reduced.
mozharness consumers use a generic method for handling unarchiving.
This method automagically handles multiple file extensions. So as long
as downstream consumers aren't hard coding ".zip" this change should
"just work."
MozReview-Commit-ID: LQa5MIHLsms
--HG--
extra : rebase_source : 19ec875917546abc147b234a815e1a64c204b92a
This allows us to write files coming from a finder or other source
that isn't directly the filesystem.
MozReview-Commit-ID: KhPSD0JYzsQ
--HG--
extra : rebase_source : 10d494fc910982c3e34f4744592edca906d3a85d
We're getting an intermittent failure running `hg manifest` in CI. I
have no clue why.
What I do know is that we now have the mozversioncontrol Python package
for containing utility code for interacting with version control. It is
slightly more robust and I'm willing to support it more than I am
check_utils.py.
This commit adds a new API to our abstract repository class to obtain the
files in the working directory by querying version control.
Since I suspect cwd was coming into play in automation, I've also
added a utility function to mozversioncontrol to attempt to find
a version control checkout from the current working directory. It
simply traces ancestor paths looking for a .hg or .git directory.
Finally, I've ported all callers of the now-deleted API to the new
one. The old code had some "../.." paths in it, meaning it only
worked when cwd was just right. Since we resolve the absolute path
to the checkout and store it on the repo object, I've updated the
code so it should work no matter what cwd is as long as a repo can
be found. I'm not 100% confident I found all consumers assuming cwd.
But it's a start.
I'm not 100% confident this will fix the intermittent issues in CI. But
at least we should get a better error message and at least we'll be
running less hacky code.
MozReview-Commit-ID: AmCraHXcTEX
--HG--
extra : rebase_source : 815ae369776577ad374333920fd645d412a55148