Commit graph

6660 commits

Author SHA1 Message Date
bors-servo
293e06fd7c auto merge of #3651 : ttaubert/servo/issue/3643-event-new-enums, r=Manishearth
r? @jdm
2014-10-13 19:12:38 -06:00
bors-servo
799d0de0c0 auto merge of #3650 : pcwalton/servo/give-up-on-not-splitting, r=glennw
I don't think it will be possible to avoid splitting fragments in the
presence of `vertical-align`, because one `ScannedTextFragment` could
potentially be split into arbitrary many fragments, each having its own
vertical position that can influence layout of other fragments.

This code also removes parts of `Range` that were no longer used.

r? @glennw
2014-10-13 18:36:40 -06:00
bors-servo
7902ccf850 auto merge of #3631 : pcwalton/servo/idempotent-inline-size, r=glennw
This makes layout more idempotent, which is important for incremental
layout.

Also converts `is_root` to a set of flags and fixes a `TODO` concerning
percentage inline heights of images.

r? @glennw
2014-10-13 18:03:40 -06:00
Patrick Walton
d560d51454 layout: Refactor inline layout to remove the code that tried to avoid
splitting fragments.

I don't think it will be possible to avoid splitting fragments in the
presence of `vertical-align`, because one `ScannedTextFragment` could
potentially be split into arbitrary many fragments, each having its own
vertical position that can influence layout of other fragments.

This code also removes parts of `Range` that were no longer used.
2014-10-13 16:33:19 -07:00
bors-servo
0ded2bb1ec auto merge of #3632 : Ms2ger/servo/bindings-conf, r=Manishearth
We have no reason to support non-default type names, and this commit corrects
the computations for callbacks (which needed the override until now).
2014-10-13 17:00:47 -06:00
bors-servo
a92e55597e auto merge of #3604 : pcwalton/servo/inline-block-overflow-hidden, r=glennw
Makes lots of GitHub appear.

r? @glennw
2014-10-13 15:54:41 -06:00
Patrick Walton
423f5f0ebf layout: Store containing block inline-size separately rather than
writing it to a temporary location and overwriting it.

This makes layout more idempotent, which is important for incremental
layout.

Also converts `is_root` to a set of flags and fixes a `TODO` concerning
percentage inline heights of images.
2014-10-13 14:39:34 -07:00
bors-servo
81620d6bce auto merge of #3608 : glennw/servo/user-agent-navigator, r=Ms2ger
This also makes command line options available as a global. If we're happy with that change I will go through the rest of the code and update it to avoid passing and cloning the Opts structure.
2014-10-13 15:21:44 -06:00
bors-servo
6e3c776387 auto merge of #3635 : SimonSapin/servo/ua-stylesheet, r=pcwalton
Based on https://html.spec.whatwg.org/multipage/rendering.html rather than http://dev.w3.org/csswg/css2/grammar.html

Fixes #3629.

r? @pcwalton
2014-10-13 12:21:44 -06:00
bors-servo
7f26c67137 auto merge of #3618 : mrobinson/servo/layer-sizing, r=pcwalton
Extra size from margins should be included in block size, so that
layers are large enough to include the entire block. This is typically
hidden by large tile sizes (512x512), but fitted tiles makes the issue
a lot more common.
2014-10-13 10:48:45 -06:00
Martin Robinson
4c453ac519 Include leading margin in inline block size
According to the documentation for Fragment::position, the inline axis
should include margin size, so we include it for blocks. Also fix
place_float which assumed that it was not included and
assign_inline_sizes which overrode the size set in
set_inline_size_constraint_solutions.

Typically this issue was hidden by large tile sizes, but fitted tiles
makes it more common.
2014-10-13 09:12:56 -07:00
bors-servo
af85ed8bb5 auto merge of #3627 : steveklabnik/servo/master, r=larsbergstrom
This may be because I'm on Ubuntu, but this was the name of the package.
2014-10-13 10:12:50 -06:00
Patrick Walton
2b0e59725b layout: Make content of display: inline-block; overflow: hidden visible. 2014-10-13 08:03:34 -07:00
Simon Sapin
68b11a4447 Update reftests for UA stylesheet changes. 2014-10-13 12:38:07 +01:00
Glenn Watson
eb5532c781 Expose user agent option to DOM navigator interface. 2014-10-13 19:53:41 +10:00
bors-servo
c87f34f877 auto merge of #3615 : pcwalton/servo/box-sizing-fix, r=glennw
Improves GitHub significantly.

r? @glennw
2014-10-12 23:45:45 -06:00
bors-servo
6317905342 auto merge of #3656 : Manishearth/servo/disable-type-change, r=Ms2ger
I haven't yet gotten to the root of this, but it's breaking the other PRs.
2014-10-12 01:48:42 -06:00
Manish Goregaokar
80efe37316 Disable html/semantics/forms/the-input-element/type-change-state.html.ini 2014-10-12 08:34:36 +05:30
Tim Taubert
5080c0d86e Make Event::new take enumerated values instead of booleans (fixes #3643) 2014-10-11 16:57:00 +02:00
bors-servo
9dfd5e7fcd auto merge of #3642 : Manishearth/servo/form-submit, r=jdm
This is missing a lot of parts, so it doesn't really make any real-world form submission work yet. It provides a skeleton on which the missing bits can be filled in.

What works:
 - `<input>` elements except for `type=file`
 - GET/POST methods
 - URLencoded `enctype`s (default)
 - Submission via `<form>.submit()` only

Stuff that needs to be done for most simple real-world cases to work: 
 - [Working text input](https://github.com/servo/servo/pull/3585)
 - Click handlers for `<submit>`
 - Possibly `<textarea>` support
 - Support for the other two enctypes (#3649)

Todo:
 - Correctly implement [planned navigation](https://html.spec.whatwg.org/multipage/forms.html#planned-navigation) using `TrustedFormAddress`  (#3648)
 - [Correctly implement form owners.](https://github.com/servo/servo/issues/3553) Requires html5ever and some discussion of the spec.
 - `<input type=file>` support
 - Image submit support
 - Browsing contexts/targets
 - Support for non-`<input>` controls
 - Validation (?)
 - Dirname (?)
2014-10-11 07:45:39 -06:00
Manish Goregaokar
ca2d5d328d Update wpt expectations 2014-10-11 16:10:02 +05:30
Manish Goregaokar
76219df816 Address review comments 2014-10-11 16:10:02 +05:30
Manish Goregaokar
10d9a66ce1 Correct <input>.value 2014-10-11 16:10:01 +05:30
Manish Goregaokar
b28a4c8858 Implement extremely basic form submission (fixes #3554) 2014-10-11 16:00:16 +05:30
Manish Goregaokar
cc6e81103f Fix <input>.checked 2014-10-11 09:48:16 +05:30
Manish Goregaokar
8a2c746e61 Add type IDL attr for submittable elements 2014-10-11 09:48:15 +05:30
bors-servo
e048f3f940 auto merge of #3639 : pcwalton/servo/rewrite-bloom-filter, r=zwarich
stretching.

This preserves the usage of the Bloom filter throughout style recalc,
but the implementation is rewritten. Provides a 15% improvement on
Guardians of the Galaxy.
2014-10-10 20:27:39 -06:00
Patrick Walton
2a790d06dd Use Gecko's simpler Bloom filter instead of one based on hash
stretching.

This preserves the usage of the Bloom filter throughout style recalc,
but the implementation is rewritten. Provides a 15% improvement on
Guardians of the Galaxy.
2014-10-10 17:02:27 -07:00
bors-servo
878ece58da auto merge of #3641 : Ms2ger/servo/wpt_20141010, r=Manishearth 2014-10-10 17:09:45 -06:00
Clark Gaebel
be6cde9322 Merge pull request #3638 from cgaebel/parallel-dom-traversal
Factors out DOM traversal, keeping the code in `parallel` free of traversal-specific logic.
2014-10-10 19:08:49 -04:00
Ms2ger
d06c95ee48 Update web-platform-tests. 2014-10-10 23:39:44 +02:00
Matt Brubeck
205067f10b Merge pull request #3563 from mbrubeck/app2
Move windowing code out of compositor, take 2. r=larsberg
2014-10-10 13:12:37 -07:00
Clark Gaebel
24bff2416b Factors out DOM traversal, keeping the code in parallel free of traversal-specific logic.
DOM traversals and Flow traversals look very similar. This patch unifies them
with the preorder/postorder pattern. Hopefully, it also opens the door for writing
the traversal code only once, instead of the duplication we have today.
2014-10-10 14:55:18 -04:00
Matt Brubeck
77d32ee447 Move windowing code out of the compositor
This is mainly just moving code around, in preparation for further changes to
the "windowing" API.
2014-10-10 11:36:12 -07:00
bors-servo
bfb81a5d10 auto merge of #3637 : mbrubeck/servo/disable-link-style-reftest, r=pcwalton 2014-10-10 11:36:40 -06:00
Matt Brubeck
b9fab5d861 Disable failing reftest (#3636) 2014-10-10 10:34:23 -07:00
Simon Sapin
e9ebfb74fc Rewrite the user-agent stysheet(s)
Based on https://html.spec.whatwg.org/multipage/rendering.html
rather than http://dev.w3.org/csswg/css2/grammar.html
2014-10-10 17:27:38 +01:00
Simon Sapin
1117d86b63 Add [foo=bar i] case-insensitive attribute selectors. 2014-10-10 14:29:24 +01:00
Ms2ger
76ba40d5cb Remove support for {return,native,concrete}Type overrides in Bindings.conf.
We have no reason to support non-default type names, and this commit corrects
the computations for callbacks (which needed the override until now).
2014-10-10 13:13:43 +02:00
Steve Klabnik
0ad729596c fix debian install instructions 2014-10-09 22:01:27 -04:00
bors-servo
2f9808e130 auto merge of #3626 : Manishearth/servo/form-prep, r=jdm
Framework for form submission
2014-10-09 16:00:34 -06:00
bors-servo
85b277655f auto merge of #3590 : cgaebel/servo/slow-incremental-reflow-rebase, r=pcwalton
This patch puts in the initial framework for incremental reflow. Nodes' styles
are no longer recalculated unless the node has changed.

I've been hacking on the general problem of incremental reflow for the past
couple weeks, and I've yet to get a full implementation that actually passes all
the reftests + wikipedia + cnn. Therefore, I'm going to try to land the different
parts of it one by one.

This patch only does incremental style recalc, without incremental flow
construction, inline-size bubbling, reflow, or display lists. Those will be coming
in that order as I finish them.

At least with this strategy, I can land a working version of incremental reflow,
even if not yet complete.

r? @pcwalton
2014-10-09 11:21:32 -06:00
Clark Gaebel
a29dc2c979 removed restyledamage 2014-10-09 12:55:25 -04:00
Clark Gaebel
d12c6e7383 Incremental Style Recalc
This patch puts in the initial framework for incremental reflow. Nodes' styles
are no longer recalculated unless the node has changed.

I've been hacking on the general problem of incremental reflow for the past
couple weeks, and I've yet to get a full implementation that actually passes all
the reftests + wikipedia + cnn. Therefore, I'm going to try to land the different
parts of it one by one.

This patch only does incremental style recalc, without incremental flow
construction, inline-size bubbling, reflow, or display lists. Those will be coming
in that order as I finish them.

At least with this strategy, I can land a working version of incremental reflow,
even if not yet complete.

r? @pcwalton
2014-10-09 12:55:21 -04:00
Patrick Walton
611c54ce8c layout: Make box-sizing only affect explicitly-specified or percentage
sizes, not automatically computed ones.

Improves GitHub significantly.
2014-10-09 07:59:54 -07:00
bors-servo
510f8a817f auto merge of #3620 : ttaubert/servo/issue/3586-remove-derefs, r=Manishearth
r? @Manishearth
2014-10-09 07:12:37 -06:00
Tim Taubert
35f8270c64 Remove unnecessary deref()s (fixes #3586) 2014-10-09 15:01:54 +02:00
Manish Goregaokar
ad16c52a6b Allow passing a method, request body, and headers to the pipeline in LoadUrlMsg 2014-10-09 14:09:29 +05:30
bors-servo
15b508ac10 auto merge of #3600 : pcwalton/servo/pseudo-unshareable, r=mbrubeck
Makes multiple `<br>` elements work, since those are implemented via
`before` pseudos.

r? @mbrubeck
2014-10-09 00:06:32 -06:00
Patrick Walton
a0b369ae7d layout: Mark the styles of elements with pseudos as unshareable.
Makes multiple `<br>` elements work, since those are implemented via
`before` pseudos.
2014-10-08 22:46:54 -07:00