Commit graph

8633 commits

Author SHA1 Message Date
bors-servo
c54c405c1c Auto merge of #11924 - emilio:interpolate-cleanup, r=nox,Ms2ger
style: Cleanup `Interpolate` code.

<!-- 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: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors

<!-- Either: -->
- [x] These changes do not require tests because refactoring.

<!-- 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="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11924)
<!-- Reviewable:end -->
2016-06-29 13:28:01 -05:00
bors-servo
aa9141277e Auto merge of #11906 - asajeffrey:textinput-ok-selection, r=ConnorGBrewster
Added checks that selection is valid, and fix set_selection_range.

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

Fixed range checking for text inputs. Included some `debug_assert!` statements to check that the selection range is always valid.

---
<!-- 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 #11901.
- [X] These changes do not require tests because the code includes debug_asserts to ensure invariants are maintained.

<!-- 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="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11906)
<!-- Reviewable:end -->
2016-06-29 12:36:01 -05:00
bors-servo
55ab7a8b12 Auto merge of #11913 - jdm:stylesheet-error, r=Ms2ger
Avoid stalled pages containing unreachable stylesheets

This hits some of the pages in the performance testsuite, and leads to a poor user experience since the document load event is never dispatched and the page never finishes parsing.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #11535 (github issue number if applicable).
- [X] There are tests for these changes OR

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11913)
<!-- Reviewable:end -->
2016-06-29 11:42:40 -05:00
bors-servo
5478e605ae Auto merge of #11262 - campaul:add_version_flag, r=Manishearth
Add `--version` flag

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy --faster` does not report any errors
- [X] These changes fix #11241 (github issue number if applicable).

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

Not 100% sure of a good way to test this, so I'm submitting as is for feedback. Manually testing it appears to work fine.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11262)
<!-- Reviewable:end -->
2016-06-29 09:05:35 -05:00
Josh Matthews
1b495de29c Allow pages to finish loading when external stylesheets have network errors. 2016-06-29 09:06:20 -04:00
Alan Jeffrey
7ed8408f12 Added checks that selection is valid, and fix set_selection_range. 2016-06-29 07:24:19 -05:00
Emilio Cobos Álvarez
0216c14c24
style: Cleanup Interpolate code. 2016-06-29 10:03:12 +00:00
bors-servo
19cb3e9968 Auto merge of #11909 - nox:wr-nightly, r=Ms2ger
Use nightly feature of webrender_traits

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11909)
<!-- Reviewable:end -->
2016-06-29 04:24:56 -05:00
Ms2ger
6b981039d0 Avoid the Vec reversal in DisplayList::hit_test. 2016-06-29 09:46:45 +02:00
Ms2ger
4e8ff4f9bc Return the result from DisplayItem::hit_test(). 2016-06-29 09:33:31 +02:00
Ms2ger
ae064dc7c1 Simplify the code setting hit_test_response. 2016-06-29 09:33:30 +02:00
Ms2ger
aefa941626 Pass a straight Vec to DisplayList::new().
There is no reason to have a runtime check here.
2016-06-29 09:33:29 +02:00
bors-servo
62f7e8fe4b Auto merge of #11922 - paulrouget:bhtmlUpdate, r=glennw
browserhtml update

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

Fix #11905

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11922)
<!-- Reviewable:end -->
2016-06-29 00:26:38 -05:00
Paul Rouget
86e4441225 browserhtml update 2016-06-29 05:55:50 +02:00
bors-servo
5b20673d43 Auto merge of #11914 - notriddle:text_fragment_color_merge, r=jdm
Text fragment color merge

The display list item for a line of text has a single color assigned for
it, so text fragments with different colors cannot be merged.

There is no issue number for this, as far as I know. I found this while
trying an internal program that uses red asterisks for required text
fields.
____________________

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes do not fix an existing Github issue
- [X] There are tests for these changes OR

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11914)
<!-- Reviewable:end -->
2016-06-28 22:43:07 -05:00
Michael Howell
46396d7f3b Do not merge text fragments of differing colors
The display list item for a line of text has a single color assigned for
it, so text fragments with different colors cannot be merged.

There is no issue number for this, as far as I know. I found this while
trying an internal program that uses red asterisks for required text
fields.
2016-06-28 20:26:49 -07:00
bors-servo
5c41cda9a5 Auto merge of #11918 - pcwalton:wr-no-paint-threads, r=glennw
gfx: Don't create paint threads when WebRender is in use.

They're unused and just waste memory and process table entries.

r? @glennw

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11918)
<!-- Reviewable:end -->
2016-06-28 21:01:42 -05:00
Cameron Paul
d76ffa8fd8 Add --version flag 2016-06-28 20:00:39 -05:00
Patrick Walton
f071acda47 gfx: Don't create paint threads when WebRender is in use.
They're unused and just waste memory and process table entries.
2016-06-28 17:22:27 -07:00
Michael Howell
0dc64daed9 Clean up unnecessary code noise 2016-06-28 15:20:48 -07:00
Anthony Ramine
9a8e41e40e Use nightly feature of webrender_traits
That enable use of NonZero in it.
2016-06-28 23:50:48 +02:00
bors-servo
7b2080c5b7 Auto merge of #11899 - ConnorGBrewster:app_packaging, r=larsbergstrom
Create Servo.app and dmg on mac package

<!-- Please describe your changes on the following line: -->
This creates Servo.app and puts it in a dmg along with a symlink to `/Applications`.

---
<!-- 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
- [X] These changes do not require tests because creating packager

<!-- 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="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11899)
<!-- Reviewable:end -->
2016-06-28 14:58:06 -05:00
Connor Brewster
96b7a19ca0 create an app bundle and package it in dmg
Fix resource lookup, add package prefs

fix tidy issues
2016-06-28 13:09:08 -06:00
bors-servo
a3f43076b6 Auto merge of #11824 - DarinM223:master, r=KiChjang
Use get_mut instead of get-remove-set in XHR send()

<!-- Please describe your changes on the following line: -->
Mutates the header directly with get_mut instead of using get(), remove(), and set().
---
<!-- 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 #11811  (github issue number if applicable).

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

<!-- 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="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11824)
<!-- Reviewable:end -->
2016-06-28 14:06:17 -05:00
Anthony Ramine
89a0b55c61 Use wrappers for GL IDs
See https://github.com/servo/webrender_traits/pull/62.
2016-06-28 20:11:55 +02:00
Emilio Cobos Álvarez
392f243ca7
style: Shadow declarations of no-op animations
Although we don't generate a "computed" keyframe animation, we're required to
shadow others.
2016-06-28 15:28:01 +00:00
Emilio Cobos Álvarez
faed3df594
style: Take down the global animatable props list and use a kwarg instead 2016-06-28 15:28:00 +00:00
Emilio Cobos Álvarez
793de6dff2
style: Remove an unsound where clause, and don't reset the iteration count on restyle. 2016-06-28 15:27:59 +00:00
Emilio Cobos Álvarez
173f489d7b
style: Add documentation lost in a rebase, plus implement box-shadow animations. 2016-06-28 15:27:59 +00:00
Emilio Cobos Álvarez
2d566ef0ef
style: Fix parsing and add generated keyframes 2016-06-28 15:20:59 +00:00
Emilio Cobos Álvarez
46eec45886
layout: Simplify logic in layout/animation.rs
Self-review is helpful it seems.
2016-06-28 15:13:07 +00:00
Emilio Cobos Álvarez
f54583884e
layout: animation: hoist down precise_time_s() call to avoid calling it unnecessarily
This was here before, but I moved it up presumably in one of my attempts and
never forgot to restore that.
2016-06-28 15:13:05 +00:00
Emilio Cobos Álvarez
f149d4d577
style: Don't calculate animations just on style changes.
Calculate it also on the first restyle.
2016-06-28 15:13:04 +00:00
Emilio Cobos Álvarez
8527762b83
style: Allow pausing and unpausing animations.
There's a bit of flickering when unpausing where the node has the original
state, but I'm not totally sure where it comes from, posibly from
PropertyAnimation returning None due to no styles changing?
2016-06-28 15:13:03 +00:00
Emilio Cobos Álvarez
2b2e58a868
style: WTF I was thinking about when I wrote that? 2016-06-28 15:09:53 +00:00
Emilio Cobos Álvarez
33f581883b
style: Support animation-direction. 2016-06-28 15:09:53 +00:00
Emilio Cobos Álvarez
9cf2e52d36
tidy: Clean up warnings and tidy lints. 2016-06-28 15:09:53 +00:00
Emilio Cobos Álvarez
cb3da24f08
style: layout: Get actual keyframes working!
There are a few shortcomings, for example:

 * We don't do the same as other browsers when some properties are not specified
   in some of the keyframes, though this is easy to work out (though a bit more
   expensive in the sense that we should apply all the previous keyframes' style
   instead of just the previous and the next.

 * To trigger the initial animation, a restyle is necessary. Should be easy to
   do an initial restyle off-hand or something like that, but for now this is
   worked-around adding a :hover rule to the node.

   Also, the animation is resetted when the node is hovered. That's a bug, but
   is probably not so difficult to test.

 * A few things, mainly animation-direction, are not supported yet, but
   shouldn't be that hard to support.

Still a lot of work to do, but I think this approach might be ok.
2016-06-28 15:09:53 +00:00
Emilio Cobos Álvarez
bc970596d6
layout: Make animations work... more or less.
There's some maths I've done wrong, but it DOES animate some things, though
they're only triggered past the first restyle, and we probably have some
duplications where the animations arrive to layout.

Anyway, got to go.
2016-06-28 15:09:53 +00:00
Emilio Cobos Álvarez
c16c5acade
style: Rewrite the animation representation to allow having state in layout
I have to make the appropriate changes in layout, but I'm running out of battery
in the bus.
2016-06-28 15:09:53 +00:00
Emilio Cobos Álvarez
5b27e46d04
style: Atomize animation names. 2016-06-28 15:09:53 +00:00
Emilio Cobos Álvarez
0077eb147c
style: Actually animate something!
So this actually allows some more animations to be triggered. The bad part of
this is that they're actually triggered always when the style is recalculated,
so we're going to have at least some more state into the node, and the
constellation, which would have to keep track of the animations states.
2016-06-28 15:09:53 +00:00
Emilio Cobos Álvarez
18f09289ce
style: Inline a few functions that are just another function call 2016-06-28 15:09:53 +00:00
Emilio Cobos Álvarez
f389cf61c4
style: Make animation functions as generic as possible. 2016-06-28 15:09:53 +00:00
Emilio Cobos Álvarez
058bfb39ae
style: Refactor the @keyframes parsing and add adequate computation for it. 2016-06-28 15:09:53 +00:00
Emilio Cobos Álvarez
6a362ae8e8
style: Refactor all the animated properties to use the style system properly 2016-06-28 15:09:53 +00:00
Emilio Cobos Álvarez
818bc6d4a2
style: parse the remaining animation longhands. 2016-06-28 15:09:53 +00:00
Emilio Cobos Álvarez
f529786700
style: Add animation-iteration-count parsing under experimental flag 2016-06-28 15:09:53 +00:00
Emilio Cobos Álvarez
b6ecb1ccb1
style: Add animation-timing-function parsing as experimental. 2016-06-28 15:09:53 +00:00
Emilio Cobos Álvarez
c80084cd29
style: Add animation-duration parsing under experimental flag 2016-06-28 15:09:53 +00:00