Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

style: Sync changes from mozilla-central. #24204

Merged
merged 24 commits into from Sep 13, 2019
Merged

Conversation

emilio
Copy link
Member

@emilio emilio commented Sep 12, 2019

See each individual commit for details.


This change is Reviewable

Mats Palmgren and others added 24 commits September 12, 2019 22:07
These two bugs (bug 1572738 and bug 1572451) are stylo regressions.

When font-family changes, we try to recompute the font-size with a length /
percentage combinations in case the generic family changes, so the user
preferences are kept.

When calc() is involved, we clamp to non-negative too early, via
NonNegativeLength::scale_by.

I think we should generally dump this "try to track font-size across calc()"
thingie, as as various comments note it is not quite perfect, and it's not clear
how it should work in presence of min()/max().

This patch fixes the issue and simplifies code a bit, I may consider removing
this altogether in a follow-up.

Differential Revision: https://phabricator.services.mozilla.com/D41776
This is consistent with the `order` property anyhow, and allows to simplify some
code.

Negatives are still not parsed, but rust uses a similar representation for all
CSS <integer> values and so should C++.

Differential Revision: https://phabricator.services.mozilla.com/D42912
-moz-appearance uses cbindgen since a long time ago.

Differential Revision: https://phabricator.services.mozilla.com/D43472
This also fixes some of the issues with -moz-image-region, where we just minted
an auto out of the blue.

Differential Revision: https://phabricator.services.mozilla.com/D43474
This cleans up the pattern of "Use a private dtor so that the helper functions
do the right thing" by enabling it everywhere using:

  mozilla/cbindgen#377

It also caught some uninitialized value issues.

I think they're mostly harmless since we zero-initialize our structs:

https://searchfox.org/mozilla-central/rev/325c1a707819602feff736f129cb36055ba6d94f/servo/components/style/properties/gecko.mako.rs#632

And since we override the clip rect, which is the other bit of code that was
failing to build with this change.

Differential Revision: https://phabricator.services.mozilla.com/D43491
For developing properties, we will handle them in an other bug.

Besides, I use an iframe for the test because we create a use counter in
the constructor of Document, which use the prefs to decide what kind of
properties we want to record. So, in the test, we have to reload iframe
to make sure we re-create the document, so does the use counter, to make
sure the prefs work properly.

The two prefs affect the css use counters:
1. layout.css.use-counters.enabled: Allocate use counters, and record
   non-custom properties.
2. layout.css.use-counters-unimplemented.enabled: Record all unimplmented
   properties into the use counters.

If we disable layout.css.use-counters.enblaed, we don't create use counters
object, so layout.css.use-counters-unimplemented.enabled doesn't work,
either.

Differential Revision: https://phabricator.services.mozilla.com/D43860
We are trying to not serialize `text-decoration-line: none` if there are other
non-default values for the longhands.

Differential Revision: https://phabricator.services.mozilla.com/D44908
Stylo's Gecko wrapper duplicated some logic from the C++ side so
that the Rust compiler would be able to optimize better. Now that
we have xLTO, this kind of manual inlining should not be neccessary
anymore.

Differential Revision: https://phabricator.services.mozilla.com/D43765
@highfive
Copy link

warning Warning warning

  • These commits modify unsafe code. Please review it carefully!
  • These commits modify style and layout code, but no tests are modified. Please consider adding a test!

@highfive highfive added the S-awaiting-review There is new code that needs to be reviewed. label Sep 12, 2019
@emilio
Copy link
Member Author

emilio commented Sep 12, 2019

@bors-servo r+

@bors-servo
Copy link
Contributor

📌 Commit cd3b0c2 has been approved by emilio

@bors-servo
Copy link
Contributor

⌛ Trying commit cd3b0c2 with merge 62ffe52...

bors-servo pushed a commit that referenced this pull request Sep 12, 2019
style: Sync changes from mozilla-central.

See each individual commit for details.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/24204)
<!-- Reviewable:end -->
@bors-servo
Copy link
Contributor

💔 Test failed - status-taskcluster

@highfive highfive added S-tests-failed The changes caused existing tests to fail. and removed S-awaiting-merge The PR is in the process of compiling and running tests on the automated CI. labels Sep 13, 2019
@emilio
Copy link
Member Author

emilio commented Sep 13, 2019

@bors-servo r+

[taskcluster:error] Uploading error artifact public/intermittents.log from file repo/intermittents.log with message "Could not read file '/Users/worker/tasks/task_1568329481/repo/intermittents.log'", reason "file-missing-on-worker" and expiry 2020-09-11T21:49:33.621Z
[taskcluster:error] TASK FAILURE during artifact upload: file-missing-on-worker: Could not read file '/Users/worker/tasks/task_1568329481/repo/intermittents.log'
[taskcluster:error] Uploading error artifact public/filtered-wpt-errorsummary.log from file repo/filtered-wpt-errorsummary.log with message "Could not read file '/Users/worker/tasks/task_1568329481/repo/filtered-wpt-errorsummary.log'", reason "file-missing-on-worker" and expiry 2020-09-11T21:49:33.621Z
[taskcluster:error] TASK FAILURE during artifact upload: file-missing-on-worker: Could not read file '/Users/worker/tasks/task_1568329481/repo/filtered-wpt-errorsummary.log'
[taskcluster 2019-09-13T00:35:07.783Z] Uploading redirect artifact public/logs/live.log to URL https://queue.taskcluster.net/v1/task/SESeJuk5QWmQcU5WIWNqoA/runs/0/artifacts/public/logs/live_backing.log with mime type "text/plain; charset=utf-8" and expiry 2020-09-11T21:49:33.621Z

??

@bors-servo
Copy link
Contributor

💡 This pull request was already approved, no need to approve it again.

  • This pull request previously failed. You should add more commits to fix the bug, or use retry to trigger a build again.
  • There's another pull request that is currently being tested, blocking this pull request: Try increasing the number of mac WPT jobs. #23850

@bors-servo
Copy link
Contributor

📌 Commit cd3b0c2 has been approved by emilio

@highfive highfive added S-awaiting-merge The PR is in the process of compiling and running tests on the automated CI. and removed S-tests-failed The changes caused existing tests to fail. labels Sep 13, 2019
@bors-servo
Copy link
Contributor

⌛ Testing commit cd3b0c2 with merge 22d652b...

bors-servo pushed a commit that referenced this pull request Sep 13, 2019
style: Sync changes from mozilla-central.

See each individual commit for details.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/24204)
<!-- Reviewable:end -->
@emilio
Copy link
Member Author

emilio commented Sep 13, 2019

@bors-servo r+

[taskcluster:error] Uploading error artifact public/intermittents.log from file repo/intermittents.log with message "Could not read file '/Users/worker/tasks/task_1568329481/repo/intermittents.log'", reason "file-missing-on-worker" and expiry 2020-09-11T21:49:33.621Z
[taskcluster:error] TASK FAILURE during artifact upload: file-missing-on-worker: Could not read file '/Users/worker/tasks/task_1568329481/repo/intermittents.log'
[taskcluster:error] Uploading error artifact public/filtered-wpt-errorsummary.log from file repo/filtered-wpt-errorsummary.log with message "Could not read file '/Users/worker/tasks/task_1568329481/repo/filtered-wpt-errorsummary.log'", reason "file-missing-on-worker" and expiry 2020-09-11T21:49:33.621Z
[taskcluster:error] TASK FAILURE during artifact upload: file-missing-on-worker: Could not read file '/Users/worker/tasks/task_1568329481/repo/filtered-wpt-errorsummary.log'
[taskcluster 2019-09-13T00:35:07.783Z] Uploading redirect artifact public/logs/live.log to URL https://queue.taskcluster.net/v1/task/SESeJuk5QWmQcU5WIWNqoA/runs/0/artifacts/public/logs/live_backing.log with mime type "text/plain; charset=utf-8" and expiry 2020-09-11T21:49:33.621Z

??

@bors-servo
Copy link
Contributor

💡 This pull request was already approved, no need to approve it again.

@bors-servo
Copy link
Contributor

📌 Commit cd3b0c2 has been approved by emilio

@bors-servo
Copy link
Contributor

⌛ Testing commit cd3b0c2 with merge 72a4ea1...

bors-servo pushed a commit that referenced this pull request Sep 13, 2019
style: Sync changes from mozilla-central.

See each individual commit for details.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/24204)
<!-- Reviewable:end -->
@emilio
Copy link
Member Author

emilio commented Sep 13, 2019

(Sorry, shitty internet, hope homu doesn't get mad)

@bors-servo
Copy link
Contributor

💔 Test failed - status-taskcluster

@highfive highfive added S-tests-failed The changes caused existing tests to fail. and removed S-awaiting-merge The PR is in the process of compiling and running tests on the automated CI. labels Sep 13, 2019
@jdm
Copy link
Member

jdm commented Sep 13, 2019

@bors-servo retry

  • Task timed out

@bors-servo
Copy link
Contributor

💣 Failed to start rebuilding: Unknown error

@bors-servo
Copy link
Contributor

⌛ Testing commit cd3b0c2 with merge 75bc72b...

bors-servo pushed a commit that referenced this pull request Sep 13, 2019
style: Sync changes from mozilla-central.

See each individual commit for details.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/24204)
<!-- Reviewable:end -->
@highfive highfive added S-awaiting-merge The PR is in the process of compiling and running tests on the automated CI. and removed S-tests-failed The changes caused existing tests to fail. labels Sep 13, 2019
@bors-servo
Copy link
Contributor

☀️ Test successful - linux-rel-css, linux-rel-wpt, status-taskcluster
Approved by: emilio
Pushing 75bc72b to master...

@bors-servo bors-servo merged commit cd3b0c2 into servo:master Sep 13, 2019
@highfive highfive removed the S-awaiting-merge The PR is in the process of compiling and running tests on the automated CI. label Sep 13, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

9 participants