Commit graph

6670 commits

Author SHA1 Message Date
Glenn Watson
1827852810 Add support for local font faces. Improves fonts on rust lang and guide. 2014-10-14 15:59:08 +10:00
bors-servo
d04733cf59 auto merge of #3663 : glennw/servo/font-fallback, r=pcwalton
Previously, any font template that could not be found would return an item from the last resort font family. Now, the last resort font family is only searched if the entire list of supplied font families is empty.
2014-10-13 20:24:37 -06:00
bors-servo
686083e5c5 auto merge of #3659 : zmike/servo/embedding-encoding, r=SimonSapin
r+ @larsbergstrom ?
2014-10-13 19:51:37 -06:00
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
Mike Blumenkrantz
5bbce40efe handle str::from_utf8() failure, improve return calls 2014-10-13 01:46:00 -04: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
Glenn Watson
a70850c261 Fix selection of fallback fonts. Fixes monospace fonts in rust guide.
Previously, any font template that could not be found would return
an item from the last resort font family. Now, the last resort font
family is only searched if the entire list of supplied font families
is empty.
2014-10-13 15:39:53 +10:00
Mike Blumenkrantz
62deac9346 use enc.len() for cef_string_utf8_to_utf16 conversion size 2014-10-13 01:32:32 -04:00
Mike Blumenkrantz
cb5d7b98bf remove rust-encoding usage from cef 2014-10-12 23:36:43 -04:00
Mike Blumenkrantz
f657e76e13 implement cef_string_utf16_to_utf8() 2014-10-12 06:00:01 -04:00
Mike Blumenkrantz
e794f856cf implement cef_string_utf8_to_utf16() 2014-10-12 06:00:01 -04:00
Mike Blumenkrantz
ddbecf2882 use rust-encoding to correctly(?) set utf16 strings for cmdline args as expected 2014-10-12 06:00:01 -04: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