Commit graph

28838 commits

Author SHA1 Message Date
Manish Goregaokar
6318969269 stylo: Add support for calcs in base size calculation
This tracks an offset along with the ratio for the keyword font size
data. The offset gets used when a calc is involved whilst inheriting
font-size (it is the computed value of that calc ignoring em/percentage
portions, which go into the ratio). If the family or language changes,
the new font size can be computed by taking the keyword's size in the context
of that family/language, multiplying it by the ratio, and adding the
offset.
2017-09-11 16:05:50 -07:00
Manish Goregaokar
1ad9463558 stylo: Add (unused) absolute offset to FontComputationData 2017-09-11 16:05:37 -07:00
bors-servo
ac2fd024b5 Auto merge of #18348 - BojanKogoj:patch-1, r=asajeffrey
Added direct link to Visual Studio Community

<!-- 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
- [ ] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- 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. -->

<!-- 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/18348)
<!-- Reviewable:end -->
2017-09-11 14:46:34 -05:00
bors-servo
d2b689cf2e Auto merge of #18444 - ferjm:bug1384221.alias.errors, r=jdm
stylo: Fix error reporting for invalid values in property alias

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix [bug 1384221](https://bugzilla.mozilla.org/show_bug.cgi?id=1384221)
- [X] There are [tests](https://bug1384221.bmoattachments.org/attachment.cgi?id=8906527) for these changes

<!-- 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/18444)
<!-- Reviewable:end -->
2017-09-11 12:50:11 -05:00
Fernando Jiménez Moreno
3be7ad8b6f stylo: Fix error reporting for invalid values in property alias 2017-09-11 18:47:12 +02:00
bors-servo
3cad8d4662 Auto merge of #18446 - bzbarsky:update-cssparser, r=SimonSapin
Update rust-cssparser to 0.20.2.

This reduces memory consumption of list-valued properties in the common case of one entry in the list.

<!-- 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
- [ ] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- 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. -->

<!-- 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/18446)
<!-- Reviewable:end -->
2017-09-11 10:33:24 -05:00
Boris Zbarsky
b2c56345d7 Update rust-cssparser to 0.20.2.
This reduces memory consumption of list-valued properties in the common case of one entry in the list.
2017-09-11 10:55:27 -04:00
bors-servo
e7f45028dc Auto merge of #18431 - mbrubeck:pdb-size, r=SimonSapin
Use SmallBitVec to optimize size of PropertyDeclarationBlock

https://bugzilla.mozilla.org/show_bug.cgi?id=1398322

<!-- 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/18431)
<!-- Reviewable:end -->
2017-09-11 08:57:07 -05:00
Matt Brubeck
a5a0e9ffe8 Use SmallBitVec for important flags in PDB 2017-09-11 06:53:05 -07:00
Matt Brubeck
21006fb752 Use SmallBitVec to replace BitVec 2017-09-11 06:33:43 -07:00
bors-servo
6a09b1d21a Auto merge of #18372 - tigercosmos:userTimingApi, r=ferjm
TEST: fix and add case of po-observe.any.js

<!-- Please describe your changes on the following line: -->
1. implementing step 3 from the [`PerformanceObserver.observe()`](https://w3c.github.io/performance-timeline/#dom-performanceobserver-observe()) method spec properly.
2. also add cases about step 1 & 2

work on the top of #18283

 r? @ferjm
---
<!-- 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 #18285 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- 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. -->

<!-- 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/18372)
<!-- Reviewable:end -->
2017-09-11 05:26:46 -05:00
bors-servo
7fc2c43551 Auto merge of #18429 - emilio:cvas-die, r=nox
style: Remove a few uses of ComputedValueAsSpecified.

<!-- 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/18429)
<!-- Reviewable:end -->
2017-09-11 04:31:10 -05:00
Emilio Cobos Álvarez
ba5897adbd
style: Kill a few more CVAS uses in font.mako.rs. 2017-09-11 11:29:34 +02:00
Emilio Cobos Álvarez
b12a34e06e
style: Kill CVAS in image.rs. 2017-09-11 11:29:32 +02:00
Emilio Cobos Álvarez
d1a3cb6d94
style: Get rid of ComputedValueAsSpecified in inherited_text.rs 2017-09-11 11:29:31 +02:00
Emilio Cobos Álvarez
a3bfa5db3e
style: Get rid of a few ComputedValueAsSpecified in grid.
Need Box to remove the macro invocation.
2017-09-11 11:29:30 +02:00
Emilio Cobos Álvarez
4c283fbed6
style: Get rid of ComputedValueAsSpecified for alignment props. 2017-09-11 11:29:29 +02:00
Emilio Cobos Álvarez
64ab73eabd
style: Properly use integers on grid properties, and derive ToComputedValue. 2017-09-11 11:29:27 +02:00
Emilio Cobos Álvarez
02d24061e7
style: Avoid ComputedValueAsSpecified for TrackKeyword. 2017-09-11 11:22:25 +02:00
Emilio Cobos Álvarez
5e136a7a05
style: Get rid of ComputedValueAsSpecified in box.mako.rs. 2017-09-11 11:22:24 +02:00
Emilio Cobos Álvarez
a4da2220c1
style: Unify the trivial ToComputedValue implementations, and add impls for i32. 2017-09-11 11:22:23 +02:00
Emilio Cobos Álvarez
b94dd4885d
style: Derive ToComputedValue for TransitionProperty. 2017-09-11 11:22:22 +02:00
Emilio Cobos Álvarez
84f3073402
style: Avoid ComputedValueAsSpecified in template-areas.
Would need to impl ToComputedValue for Range and Box, which is undoable right
now.
2017-09-11 11:22:21 +02:00
Emilio Cobos Álvarez
5b05aa7c52
style: Derive ToComputedValue in grid properties. 2017-09-11 11:22:20 +02:00
Emilio Cobos Álvarez
b9f5388635
style: Use derive for -x-span. 2017-09-11 11:22:20 +02:00
Emilio Cobos Álvarez
156b371376
style: Use derive(TCV) in GeometryBox. 2017-09-11 11:22:19 +02:00
Emilio Cobos Álvarez
900eaec3cc
style: Remove the special-case in single_keyword_computed.
The other case is pretty much the same.
2017-09-11 11:22:18 +02:00
Emilio Cobos Álvarez
9788ffe3e4
style: Derive ToComputedValue for font-variant-caps. 2017-09-11 11:22:17 +02:00
Emilio Cobos Álvarez
c87b485fa6
style: Derive ToComputedValue for keyword types. 2017-09-11 11:22:17 +02:00
Emilio Cobos Álvarez
06c8e0163e
style: Manually expand ComputedValueAsSpecified in the keyword macros. 2017-09-11 11:22:16 +02:00
Emilio Cobos Álvarez
95712d5edf
style: Minor reformatting in macros.rs 2017-09-11 11:22:15 +02:00
bors-servo
8129cf5563 Auto merge of #18206 - ferjm:bug1382369.grid.repeat.function, r=wafflespeanut
stylo: store specified value of grid layout repeat() function

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix [Bug 1382369](https://bugzilla.mozilla.org/show_bug.cgi?id=1382369)

<!-- 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/18206)
<!-- Reviewable:end -->
2017-09-11 02:32:38 -05:00
bors-servo
3d4868b282 Auto merge of #18443 - glennw:update-wr-opts-fixes, r=jdm
Update WR (various small optimizations and bug fixes).

Also update app_units.

<!-- 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/18443)
<!-- Reviewable:end -->
2017-09-10 23:32:35 -05:00
Glenn Watson
5ad05a828d Update WR (various small optimizations and bug fixes). 2017-09-11 14:25:39 +10:00
bors-servo
be804a8155 Auto merge of #18434 - julian-seward1:master, r=bholley
Bug 1395064 - stylo: Add uses of fallible Vec, SmallVec and HashMap f…

…acilities.  r=emilio@crisal.io.

<!-- 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
- [ ] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- 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. -->

<!-- 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/18434)
<!-- Reviewable:end -->
2017-09-10 12:30:39 -05:00
Emilio Cobos Álvarez
7a6b891a29
hashglobe: Inline error constructor so we don't pay a function call even when there's no error. 2017-09-10 16:57:09 +02:00
Emilio Cobos Álvarez
6661bfa838
fallible: Avoid using system malloc in servo. 2017-09-10 16:53:42 +02:00
Julian Seward
c85633f48e
stylo: Add uses of fallible Vec, SmallVec and HashMap facilities.
Bug: 1395064
Reviewed-by: emilio
2017-09-10 16:42:06 +02:00
bors-servo
815fb6b058 Auto merge of #18421 - tigercosmos:windowsBuild, r=larsbergstrom
update mach.bat if use VS buildtool for Windows build

<!-- Please describe your changes on the following line: -->
Add path in `mach.bat`. If user only install VS buildtool, they now can use `mach.bat`
And therefore modify `README`

Continue to PR #18145

r? @larsbergstrom
---
<!-- 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).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- 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. -->

<!-- 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/18421)
<!-- Reviewable:end -->
2017-09-09 11:15:16 -05:00
tigercosmos
26dc7ac973 update just VS buildtool for Windows build 2017-09-09 23:40:20 +08:00
bors-servo
c8530409f8 Auto merge of #18430 - bzbarsky:shrink-background-storage, r=xidorn
Shrink the storage needed by specified background images

<!-- Please describe your changes on the following line: -->
This makes a specified background image take 48 bytes instead of 1024 bytes.

---
<!-- 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 https://bugzilla.mozilla.org/show_bug.cgi?id=1397614

<!-- Either: -->
- [X] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- 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. -->
2017-09-09 09:58:29 -05:00
Boris Zbarsky
385e34acee Avoid array overallocation when parsing background shorthand. r=xidorn
This is part 2 of the fix for Gecko bug 1397614
<https://bugzilla.mozilla.org/show_bug.cgi?id=1397614>
2017-09-09 10:55:59 -04:00
Boris Zbarsky
26b39241f9 Box gradients and rects in Image. r=xidorn
Gradients and rects are rare, and large.  Image is much smaller with them boxed.

This is part of of the fix for Gecko bug 1397614
<https://bugzilla.mozilla.org/show_bug.cgi?id=1397614>
2017-09-09 10:55:58 -04:00
bors-servo
91b748ec22 Auto merge of #18428 - emilio:find-push, r=nox
style: remove selector_map::find_push.

It has a single caller and is overly generic, which is going to make harder to
add fallible allocations to it.

<!-- 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/18428)
<!-- Reviewable:end -->
2017-09-09 07:56:35 -05:00
bors-servo
40c8a6389a Auto merge of #17083 - danielj41:javascript-url-global-3, r=jdm
"javascript:" urls: execute in correct global scope

<!-- Please describe your changes on the following line: -->

#### Summary

This pull request makes `javascript:` urls execute in the correct global scope.

#### Example

```html
<script> var x = 4; </script>

<!-- this branch: logs "4" -->
<!-- master: undefined variable error -->
<a href="javascript:console.log(x)">link</a>
```

#### Questions

I'm new to servo and rust, so I'm unsure about these changes. In particular:
  * What's the appropriate place to evaluate the js?
    * I moved it to `handle_navigate`, but I'm not sure if this will catch all occurrences of `javascript:` urls. I also don't know if this will execute in the correct thread and the correct window.
  * What should I do with the result of the js evaluation?
    * I just ignored it. The previous behavior displayed it as the content of a new page load.

---
<!-- 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 #15147, #16718

<!-- 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. -->

<!-- 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/17083)
<!-- Reviewable:end -->
2017-09-09 04:39:43 -05:00
Daniel Johnson
452db052ff "javascript:" urls: update test expectations 2017-09-09 00:59:01 -07:00
Emilio Cobos Álvarez
0a1a134050
style: remove selector_map::find_push.
It has a single caller and is overly generic, which is going to make harder to
add fallible allocations to it.
2017-09-09 09:56:09 +02:00
bors-servo
c0c43da1f9 Auto merge of #18426 - hiikezoe:transition-shorthand, r=xidorn,boris
Transition shorthand fix

<!-- Please describe your changes on the following line: -->

https://bugzilla.mozilla.org/show_bug.cgi?id=1397122
---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors

<!-- 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/18426)
<!-- Reviewable:end -->
2017-09-08 22:11:50 -05:00
bors-servo
8065eac0eb Auto merge of #18423 - emilio:more-stale-todos, r=nox
More stale todos

Just removing or rewording stale stuff.

<!-- 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/18423)
<!-- Reviewable:end -->
2017-09-08 21:09:58 -05:00
Hiroyuki Ikezoe
aad63f241c Handle values as valid in single transition shorthand even if the transition-property is 'none'.
A single transition value that includes 'none' for transition-property is
valid, so we should store whole specified values (if it's valid).  Whereas,
the spec [1] clearly says for the case where there are multiple entries;
  If there is more than one <single-transition> in the shorthand, and any of
  the transitions has none as the <single-transition-property>, then the
  declaration is invalid.

'none 2s linear 2s' is a test case for the former, '1s width, 2s none' is a
test case for the latter.

Note that with this patch, 'transition: none' is serialized as 'none 0s ease 0s'
instead of 'none' but it matches Gecko.

[1] https://drafts.csswg.org/css-transitions/#single-transition

MozReview-Commit-ID: 3o3z5GFyMqh
2017-09-09 09:00:55 +09:00