Commit graph

16025 commits

Author SHA1 Message Date
bors-servo
6e3e41ef1a Auto merge of #9883 - glennw:update-ipc-channel, r=frewsxcv
Update ipc-channel.

Fixes #9882.
2016-03-05 11:06:06 +05:30
Glenn Watson
52fa387383 Update ipc-channel.
Fixes #9882.
2016-03-05 15:34:00 +10:00
bors-servo
69f52d0f21 Auto merge of #9873 - metajack:mach-run-bhtml, r=ecoal95
Adds browserhtml dependency and mach run --browserhtml

This makes the experience for testing browserhtml super easy.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9873)
<!-- Reviewable:end -->
2016-03-05 04:33:18 +05:30
Jack Moffitt
96cbe7ac97 Add --browserhtml/-b command to ./mach run
This will run Servo with browser.html. We use the latest package in the
dependency tree if there are multiple copies, since there is no way for
Cargo to tell us which one is canonical.
2016-03-04 15:07:32 -07:00
Lars Bergstrom
f2e7061522 Update cargo 2016-03-04 15:56:25 -06:00
bors-servo
49e9594fb9 Auto merge of #9852 - bholley:stylo_uplifts_3, r=bholley
Stylo uplifts 3

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9852)
<!-- Reviewable:end -->
2016-03-05 01:48:35 +05:30
Bobby Holley
dbbbebd664 Parse ServoBindings.h as C++.
This allows us to remove the bool-as-int contortions we were doing before.
2016-03-04 11:46:35 -08:00
Bobby Holley
23ace489b9 Binding generator tooling.
This should make it a lot easier for people to bootstrap and run the binding generator.
2016-03-04 11:46:33 -08:00
Bobby Holley
4da1171474 Stop using servo UA stylesheets for geckolib.
Gecko will provide these. This also removes the need to reference
the servo resource directory.
2016-03-04 11:46:32 -08:00
bors-servo
b46d2e2737 Auto merge of #9875 - servo:overflow-clip-box, r=mbrubeck
Hide overflow of <input>

Fix #9477

r? @mbrubeck

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9875)
<!-- Reviewable:end -->
2016-03-05 00:53:33 +05:30
Simon Sapin
79656278f2 Hide overflow of <input>, fix #9477 2016-03-04 19:48:19 +01:00
Simon Sapin
142610265e Add the -servo-overflow-clip-box property. 2016-03-04 19:47:20 +01:00
Simon Sapin
7126fdfc10 Add a mechanism for "internal" CSS properties
… that can only be parsed in a user-agent stylesheet.
2016-03-04 19:46:54 +01:00
Jack Moffitt
1615f173f7 Add browserhtml package 2016-03-04 10:23:27 -07:00
bors-servo
b4cae84e9e Auto merge of #9872 - servo:cursor-text, r=nox
Use `cursor: text` in text input areas

… not just over text.

Fix #9486.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9872)
<!-- Reviewable:end -->
2016-03-04 20:14:56 +05:30
Simon Sapin
428dab1069 Use cursor: text in text input areas
… not just over text.

Fix #9486.
2016-03-04 15:44:39 +01:00
bors-servo
c37a086660 Auto merge of #9786 - peterjoel:fix_codegen_is_array_like, r=jdm
Fixed compile error in generated code, when webidl constructors have same number of args

One of the ways that generated code differentiates constructors is by comparing if the args are array-like. The generated code was calling a function `IsArrayLike` that no longer exists. I re-implemented it with a more rust-like naming scheme.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9786)
<!-- Reviewable:end -->
2016-03-04 15:14:20 +05:30
bors-servo
12466b8706 Auto merge of #9866 - metajack:refix-shadow-hit-test, r=pcwalton
Unrevert the fix for hit testing through shadows

This was originally #9428 but got accidentally reverted during rebase in

Fixes #9865.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9866)
<!-- Reviewable:end -->
2016-03-04 08:36:12 +05:30
bors-servo
08b9fe0c00 Auto merge of #9863 - larsbergstrom:appveyor2, r=edunham
Fix Windows build and add AppVeyor support

Proof of success: https://ci.appveyor.com/project/larsbergstrom/servo/build/1.0.15

Fixes #9767

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9863)
<!-- Reviewable:end -->
2016-03-04 07:41:08 +05:30
bors-servo
1c63bf9822 Auto merge of #9861 - pcwalton:superflat, r=glennw
Flatten the WebRender API to allow us to use shared memory to transfer display lists.

Improves performance significantly.

Requires servo/webrender_traits#15 and servo/webrender#222.

r? @glennw

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9861)
<!-- Reviewable:end -->
2016-03-04 06:45:45 +05:30
bors-servo
aba500a698 Auto merge of #9858 - glennw:anim-smoothness, r=pcwalton
Fix animation smoothness when using requestAnimationFrame.

Previously, the flow for ticking animations was:

Compositor -> Constellation -> Layout -> Script

However, this means that the compositor <-> layout messages can thrash, meaning layout thread is very rarely idle.

This means that the script thread (which joins on the layout thread during reflow) was unable to execute and run rAF callbacks.

With this change, the flow is now:

Compositor -> Constellation -> Script (when rAF is active).
Compositor -> Constellation -> Layout (when transitions / animations are active and no rAF is present).

This makes rAF based animation *much* smoother.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9858)
<!-- Reviewable:end -->
2016-03-04 05:50:50 +05:30
Jack Moffitt
f7aa6a32e9 Unrevert the fix for hit testing through shadows
This was originally #9428 but got accidentally reverted during rebase in

Fixes #9865.
2016-03-03 17:04:55 -07:00
Patrick Walton
5e17325e54 Flatten the WebRender API to allow us to use shared memory to transfer
display lists.

Improves performance significantly.

Requires servo/webrender_traits#15 and servo/webrender#222.
2016-03-03 14:44:48 -08:00
bors-servo
37bcc161fe Auto merge of #9832 - metajack:suppress-reflows, r=mbrubeck
Suppress reflows before RefreshTick or FirstLoad

This fixes a bug where partially loaded content is displayed to the user
before it should be, usually before stylesheets have loaded. This commit
supresses reflows until either FirstLoad or RefreshTick, whichever comes
first.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9832)
<!-- Reviewable:end -->
2016-03-04 04:00:30 +05:30
Jack Moffitt
2507bfb2cf Suppress reflows before RefreshTick or FirstLoad
This fixes a bug where partially loaded content is displayed to the user
before it should be, usually before stylesheets have loaded. This commit
supresses reflows until either FirstLoad or RefreshTick, whichever comes
first.

Unfortunately, hit_test and mouse_over did not do reflows if they were
necessary, and so by suppressing the initial spurious reflows, these
methods started to panic without a display list to query. This patch
also transforms these into queries similar to the other existing
queries.
2016-03-03 15:17:46 -07:00
UK992
5d24f7c6b7 Fix build on Windows 2016-03-03 16:17:19 -06:00
Lars Bergstrom
5a7ca34d75 appveyor 2016-03-03 16:17:10 -06:00
Glenn Watson
92061132f3 Fix animation smoothness when using requestAnimationFrame.
Previously, the flow for ticking animations was:

Compositor -> Constellation -> Layout -> Script

However, this means that the compositor <-> layout messages can thrash, meaning layout thread is very rarely idle.

This means that the script thread (which joins on the layout thread during reflow) was unable to execute and run rAF callbacks.

With this change, the flow is now:

Compositor -> Constellation -> Script (when rAF is active).
Compositor -> Constellation -> Layout (when transitions / animations are active and no rAF is present).

This makes rAF based animation *much* smoother.
2016-03-04 07:26:00 +10:00
bors-servo
55fc48e4c4 Auto merge of #9843 - pcwalton:optimize-flat-display-lists, r=mrobinson
Optimize flat display lists

Flat display lists were a 2x regression on the spheres demo. This patch series fixes that.

See the individual commits for more details.

r? @mrobinson

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9843)
<!-- Reviewable:end -->
2016-03-04 02:49:04 +05:30
Patrick Walton
117e92aefd layout: Minor whitespace cleanup. 2016-03-03 13:09:57 -08:00
Patrick Walton
d3d2dd05f2 layout: Switch display list building from bottom-up to top-down.
This eliminates a lot of allocations and O(n^2) behavior.
2016-03-03 13:09:56 -08:00
Patrick Walton
f4b95dd00b layout: Remove the validate_display_list_geometry debugging tool.
I don't think anyone was using it, and it's incompatible with taking
display lists out of flows.
2016-03-03 13:09:55 -08:00
Patrick Walton
72a52e23e0 layout: Don't call establishes_stacking_context() so much.
That function is expensive because it has to check a lot.
2016-03-03 13:09:54 -08:00
Patrick Walton
dd5c574d7f gfx: Switch offsets to an FNV hasher.
SipHash traffic was showing up high in the profile.

Unfortunately, this necessitated a manual implementation of the serde
traits.
2016-03-03 13:09:53 -08:00
Patrick Walton
940bff1f9c gfx: Stop cloning clipping regions so much.
Clipping regions can contain vectors and so can be expensive to copy.
2016-03-03 13:09:50 -08:00
Patrick Walton
983576ebaa gfx: Avoid copying stacking contexts around so much during stacking
context creation.
2016-03-03 13:09:49 -08:00
Patrick Walton
4233e0f163 gfx: Box stacking contexts to minimize memmove traffic.
`memmove` was showing up high in the profile when concatenating and
shorting display lists. This change drastically reduces the `memmove`
cost in exchange for some minor additional allocation cost.
2016-03-03 13:09:48 -08:00
Peter
3e78b54d46 Fixed compile error in generated code, when webidl constructors have same number of args
Edited test webidl to show issue, and fix
2016-03-03 20:21:48 +00:00
bors-servo
633f0414aa Auto merge of #9857 - servo:publish-false, r=ecoal95
Indicate components should not be published to crates.io.

http://doc.crates.io/manifest.html#the-publish--field-optional
2016-03-04 01:37:14 +05:30
Corey Farwell
75353e19a7 Indicate components should not be published to crates.io.
http://doc.crates.io/manifest.html#the-publish--field-optional
2016-03-03 15:04:44 -05:00
bors-servo
056a7cf1a2 Auto merge of #9715 - ecoal95:mousemove, r=mbrubeck
script: Fix MouseOver handling

Now we only query for the topmost node, and apply the hover state to all
of the parent elements.

This fixes things like #9705, where the hover state was applied only to
the children.

This also makes us more conformant with other browsers in the case of
taking in account margins and paddings.

For example, prior to this PR, when your mouse was over the inner
element, in the bottom part, `hover` styles didn't apply to the parent.

```html
<style>
div {
  padding: 10px;
  margin: 10px;
  height: 15px;
  background: blue;
}

div:hover {
  background: red;
}
</style>

<div>
  <div></div>
</div>
```

Fixes #9705

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9715)
<!-- Reviewable:end -->
2016-03-03 22:55:35 +05:30
Bob
248e84e928 create cookie as HTTP instead of NonHttp in test
Cleanup for readability and correctness of unit test in http_loader
2016-03-03 17:16:07 +00:00
Bob
17e6007685 send correct url to devtool on request
Send url that was not modified by the hosts file to the dev tools
2016-03-03 17:15:29 +00:00
bors-servo
46256b33ef Auto merge of #9825 - creativcoder:remove-contructor-xmldoc, r=KiChjang
removed XMLDocument constructor according to spec

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9825)
<!-- Reviewable:end -->
2016-03-03 17:41:03 +05:30
Rahul Sharma
f8cddf5a22 removed XMLDocument constructor according to spec 2016-03-03 17:01:33 +05:30
bors-servo
c92ad616a3 Auto merge of #9853 - glennw:update-wr, r=pcwalton
Update webrender. Fixes #9846.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.svg" height="40" alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9853)
<!-- Reviewable:end -->
2016-03-03 07:00:27 +05:30
Glenn Watson
a768ffb4bc Update webrender. Fixes #9846. 2016-03-03 11:28:03 +10:00
Bobby Holley
c4aa7cd862 Update gecko bindings.
I'm in the process of making the binding generator easier to use, so that we can check it
into the tree. More patches in that direction soon, but I wanted to first just update the
existing bindings to match the state of the world in gecko.
2016-03-02 16:48:54 -08:00
Emilio Cobos Álvarez
3662491d8f Refactor mouseover code to be more performant
This increases mouseover/out performance drastically on my machine.
2016-03-02 20:14:15 +01:00
Emilio Cobos Álvarez
73eff81e5d Add manual tests for mouseover/out handling 2016-03-02 20:14:15 +01:00