Commit graph

20225 commits

Author SHA1 Message Date
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
bors-servo
ffb8b35d35 Auto merge of #11900 - Ms2ger:displaylist-cleanup, r=nox
Various DisplayList cleanup.

<!-- 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/11900)
<!-- Reviewable:end -->
2016-06-29 03:32:52 -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
bors-servo
f6db3518ca Auto merge of #11911 - ConnorGBrewster:app_packaging, r=larsbergstrom
Fix dylib relinking issue

<!-- Please describe your changes on the following line: -->
I had to run `install_name_tool` on some dylibs for their deps and not just on the servo binary itself. I have checked and Servo.app runs on machines without extra things installed (ex. harfbuzz).

---
<!-- 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 #11907 (github issue number if applicable).

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

<!-- 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/11911)
<!-- Reviewable:end -->
2016-06-28 20:05:12 -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
0dd99e6bd2 Normalize the direction vector for rotate 2016-06-28 17:19:34 -07:00
Michael Howell
cab6260c32 Add tests for rotation animation 2016-06-28 17:18:34 -07:00
Michael Howell
e10288ec1c Linearly interpolate rotation angles with equal direction
Fixes #11808, but still leaves matrix interpolation open.
2016-06-28 17:18:34 -07:00
Emilio Cobos Álvarez
b29fab1512
stylo: Simplify setup_bindgen.sh now that servo/rust-bindgen exists.
The clang-3.8 instead of clang++-3.8 check is because on some Linux distros
clang++-3.8 doesn't exists, while the former does.
2016-06-28 22:49:19 +00:00
bors-servo
d3a81373e4 Auto merge of #11766 - emilio:keyframes-parsing, r=SimonSapin,pcwalton
Add `@keyframes` and `animation-*` support.

- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors

<!-- Either: -->
- [x] There are tests for these changes

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

This adds support for parsing `@keyframes` rules, and animation properties. Stylo will need it sometime soonish, plus I want to make animations work in Servo.

The remaining part is doin the math and trigger the animations correctly from servo. I don't expect it to be *that* hard, but probaby I'll need to learn a bit more about the current animation infra (e.g. why the heck is the `new_animations_sender` guarded by a `Mutex`?).

I'd expect to land this, since this is already a bunch of work, this is the part exclusively required by stylo (at least if we don't use Servo's machinery), the media query parsing is tested, and the properties land after a flag, but if you prefer to wait until I finish this up it's fine for me too.

r? @SimonSapin

cc @pcwalton @bholley

<!-- 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/11766)
<!-- Reviewable:end -->
2016-06-28 17:31:01 -05:00
Connor Brewster
694b930891 fix dylib relinking issue for mac packaging 2016-06-28 16:24:21 -06: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
bors-servo
dca85ae98d Auto merge of #11892 - nox:webgl-wrappers, r=emilio
Use wrappers for GL IDs

See https://github.com/servo/webrender_traits/pull/62.

<!-- 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/11892)
<!-- Reviewable:end -->
2016-06-28 13:13:44 -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
e015e87697
geckolib: fix geckolib build by implementing display on Atoms. 2016-06-28 15:27:58 +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