Commit graph

12851 commits

Author SHA1 Message Date
Philipp Hartwig
c2db10217c Use computed display property for hypothetical box of root element
The root element should never be treated as an inline element by the
flow construction.

Closes #7558.
2015-09-18 23:08:10 +02:00
bors-servo
d1b85de762 Auto merge of #7680 - Mylainos:Issue-#7390, r=metajack
fixes #7390 : tidy now check the order of mod declarations even whith attribute



<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7680)
<!-- Reviewable:end -->
2015-09-18 14:44:48 -06:00
Hugo Thiessard
6565e7b02f Issue #7390 correct the order of mod declaration 2015-09-18 22:02:04 +02:00
Hugo Thiessard
e81e91207c fixes #7390 : tidy now check the order of mod declarations even whith attribute 2015-09-18 21:32:00 +02:00
Josh Matthews
9b939546a6 Link to instructions that don't mention critic. 2015-09-18 11:48:21 -04:00
bors-servo
8a8204ffc8 Auto merge of #7447 - ddrmanxbxfr:master, r=jdm
Issue #7382 Use descriptive enums instead of booleans for MIMEClassifier::classifer

Hi guys i've done a small pass of refactor in the MIMEClassifier implementation. (See issue #7382 )
   - Moved the predicates to separate functions
   - Added a mimetype enum so we can compare them easily after calling MIMEClassifier::get_media_type

I hope it follows rust good pratices (care it's my first time doing rust).

Improvements and tips are welcome :).

Thanks for looking at it.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7447)
<!-- Reviewable:end -->
2015-09-18 07:22:59 -06:00
bors-servo
eae3eaf974 Auto merge of #7669 - mbrubeck:zoom, r=glennw
Set default limits on page zoom and pinch zoom

Currently these both clamp to 100% in one direction and are unbounded in the other direction.  This sets default zoom constraints of 10% to 800%.  r? @glennw

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7669)
<!-- Reviewable:end -->
2015-09-18 06:36:27 -06:00
Matt Brubeck
8606a94722 Set default limits on page zoom and pinch zoom
Currently these both clamp to 100% in one direction and are unbounded in the
other direction.  This sets default zoom constraints of 10% to 800%.
2015-09-18 05:30:55 -07:00
bors-servo
491d62c27c Auto merge of #7667 - mbrubeck:oh-snap, r=glennw
Snap to screen pixels instead of px

Fixes #7665. r? @glennw

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7667)
<!-- Reviewable:end -->
2015-09-18 04:09:26 -06:00
Matt Brubeck
9333f028e8 Snap to screen pixels instead of px
Fixes #7665.
2015-09-18 03:06:06 -07:00
Matt Brubeck
186ab5aa24 Allow setting device-pixel-ratio for reftests 2015-09-18 02:48:59 -07:00
bors-servo
acde10f005 Auto merge of #7656 - mbrubeck:incremental-text-6501, r=pcwalton
Reconstruct flows when text/font styles change

These styles are used during text shaping.  When they change, we need to re-run shaping and construct new flows.

Fixes #6501. r? @pcwalton

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7656)
<!-- Reviewable:end -->
2015-09-18 01:32:40 -06:00
bors-servo
3030eff4c6 Auto merge of #7664 - mbrubeck:glutinup, r=glennw
Update glutin to latest upstream merge

To pick up servo/glutin#47. r? @glennw

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7664)
<!-- Reviewable:end -->
2015-09-17 23:36:18 -06:00
Matt Brubeck
734513c668 Update glutin to latest upstream merge
To pick up servo/glutin#47.
2015-09-17 22:33:11 -07:00
Matt Brubeck
0c77705f52 Reconstruct flows when text/font/list styles change
Fixes #6501.
2015-09-17 11:59:00 -07:00
Matt Brubeck
040c09fbc5 Always reset HAS_NEWLY_CONSTRUCTED_FLOW during flow construction
This extra reflows when the HAS_NEWLY_CONSTRUCTED_FLOW flag remained set
during a later reflow.  This masked other incremental layout bugs, including
the one tested by the reftest in the commit following this one.
2015-09-17 10:50:47 -07:00
bors-servo
83b364189c Auto merge of #7657 - Ms2ger:update-wpt, r=Ms2ger
Update wpt



<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7657)
<!-- Reviewable:end -->
2015-09-17 10:32:43 -06:00
Ms2ger
163009575a Update web-platform-tests to revision 71a0d51d14d8b0f1b53cda3a7d39ef8765164485 2015-09-17 18:32:13 +02:00
Ms2ger
d504015496 Update CheckoutBranch to the wptrunner changes.
This is a port of <https://hg.mozilla.org/mozilla-central/rev/c0b8fea5aef4>.
2015-09-17 17:39:44 +02:00
bors-servo
cf13e806fe Auto merge of #7587 - mrobinson:layer-id, r=pcwalton
Ensure unique LayerIds for pseudo-elements

Currently pseudo-elements, like the fragments created for ::before and
::after, with layers will have the same LayerId as the body of their
owning fragments. Instead all LayerIds should be unique.

Fixes #2010.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7587)
<!-- Reviewable:end -->
2015-09-17 08:53:39 -06:00
Martin Robinson
1e6f797268 Ensure unique LayerIds for pseudo-elements
Currently pseudo-elements, like the fragments created for ::before and
::after, with layers will have the same LayerId as the body of their
owning fragments. Instead all LayerIds should be unique.

Fixes #2010.
2015-09-17 06:42:29 -07:00
bors-servo
1b6d4daf85 Auto merge of #7555 - SimonSapin:custom-properties++, r=mbrubeck
Custom properties, take 2

Support `var()` in shorthand properties, and fix various bugs.

r? @pcwalton

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7555)
<!-- Reviewable:end -->
2015-09-17 06:50:57 -06:00
Simon Sapin
feaf6f4c3f Initial support for custom properties in CSSStyleDeclaration 2015-09-17 14:48:56 +02:00
Simon Sapin
d56ea10770 var() substitution: insert /**/ between tokens that would be parse as one token. 2015-09-17 14:48:20 +02:00
Simon Sapin
81dd1ab363 Record first and last token type of custom property values. 2015-09-17 14:48:19 +02:00
Simon Sapin
b8fd51e940 Add a copy of a test that uses a style attribute instead of a stylesheet.
`tests/wpt/css-tests/css-variables-1_dev/html/test_variable_legal_values.htm`
relies on setting `.data` on a text node inside a `<style>` element
to update a stylesheet, but this doesn’t work on Servo yet.

Add a copy of this file that uses a style attribute instead.
2015-09-17 14:48:18 +02:00
Simon Sapin
389d537451 Look for var() in a non-custom property declaration after a parse error. 2015-09-17 14:48:17 +02:00
Simon Sapin
70ea5f61a2 Don’t ignore input at the end of a declaration with var(). 2015-09-17 14:48:16 +02:00
Simon Sapin
54ef8055ec The function name var() is case-insensitive. 2015-09-17 14:48:15 +02:00
Simon Sapin
ab9e1af206 Allow whitespace-only custom property values. 2015-09-17 14:48:14 +02:00
Simon Sapin
c7622bf22f Fix !important in custom properties.
Test changes are also in https://github.com/w3c/csswg-test/pull/847/files
2015-09-17 14:48:13 +02:00
Simon Sapin
4abe7cdf97 Support var() in shorthands. 2015-09-17 14:48:12 +02:00
bors-servo
6cd098da30 Auto merge of #7644 - pcwalton:carrot, r=mbrubeck
layout: Draw the insertion point in input elements.

Known issues:

* The caret doesn't show up if there's no text present, because we don't create text runs in that case. This should be a followup.

* Text runs don't support decomposing ligatures into their constituent subglyphs for advance computation, so the caret won't appear inside a ligature. This is a text run bug.

r? @mbrubeck

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7644)
<!-- Reviewable:end -->
2015-09-17 05:50:41 -06:00
Patrick Walton
757e2cf4e5 layout: Reformat some long lines and fix some whitespace issues. 2015-09-17 13:31:17 +02:00
Patrick Walton
af8fcdf073 gfx: Fix a minor typo. 2015-09-17 13:31:16 +02:00
Patrick Walton
53f47e74db gfx: Remove some useless calls to drop during HarfBuzz shaping. 2015-09-17 13:31:14 +02:00
Patrick Walton
efdf435ba3 gfx: Paint the insertion point as a one-pixel wide line. 2015-09-17 13:31:13 +02:00
Patrick Walton
357419dc8d layout: Query and maintain the position of the insertion point
throughout layout for input elements.
2015-09-17 13:31:12 +02:00
Patrick Walton
34d9a6091b script: Ask layout to redraw the selection whenever the user moves the
caret in an input element.
2015-09-17 13:31:11 +02:00
Patrick Walton
4a53c873f5 util: Make the number of app units per pixel a constant instead of
repeating the literal value everywhere.

Factoring this value out into a public constant makes it easier to
create `Au` constants in other modules.
2015-09-17 13:31:10 +02:00
Patrick Walton
dc26511ff3 gfx: Properly create continuation glyph entries for ligatures. 2015-09-17 13:31:09 +02:00
Patrick Walton
c62d8292c7 gfx: Add a Debug impl for GlyphStore instances.
Gecko has a `Dump()` routine in a similar spirit.
2015-09-17 13:31:08 +02:00
bors-servo
9e914ca0db Auto merge of #7588 - notriddle:master, r=pcwalton
Actually store the overflow for inline-block elements.

Fixes #7571

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7588)
<!-- Reviewable:end -->
2015-09-17 00:53:04 -06:00
bors-servo
d3355e245e Auto merge of #7655 - servo:jdm-patch-1, r=glennw
Remove shortcut that doesn't exist.



<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7655)
<!-- Reviewable:end -->
2015-09-16 22:16:08 -06:00
Josh Matthews
dc0781f1dc Remove shortcut that doesn't exist. 2015-09-17 00:13:47 -04:00
bors-servo
4e9a888f1a Auto merge of #7648 - mrobinson:print-tree, r=glennw
Improve printing of DisplayLists

Use box tree characters to make DisplayLists easier to scan when
printing them out.

This is what the output looked like before:
```
#### start printing display list.
"####" Stacking context at Rect(800px×608px at (0px,0px)) with overflow Rect(800px×608px at (0px,0px)):
#### SolidColor(0,0,0,0). Rect(800px×608px at (0px,0px))
#### SolidColor(0,0,0,0). Rect(784px×0px at (8px,0px))
#### SolidColor(0,0.5019608,0,1). Rect(100px×100px at (0px,0px))


#### Child layers list length: 1
"########" Stacking context at Rect(100px×100px at (0px,0px)) with overflow Rect(100px×100px at (0px,0px)):
######## SolidColor(1,0,0,1). Rect(100px×100px at (0px,0px))


######## Child layers list length: 1
"############" Stacking context at Rect(100px×100px at (0px,0px)) with overflow Rect(100px×100px at (0px,0px)):
```

This is what it looks like after this patch:
```
┌ DisplayList
│  ├─ Layered StackingContext at Rect(800px×608px at (0px,0px)) with overflow Rect(800px×608px at (0px,0px)):
│  │  ├─ Block Backgrounds and Borders
│  │  │  ├─ SolidColor rgba(0, 0, 0, 0) @ Rect(800px×608px at (0px,0px)) (7f926f46f1f0)
│  │  │  └─ SolidColor rgba(0, 0, 0, 0) @ Rect(784px×0px at (8px,0px)) (7f926f46f2e0)
│  │  ├─ Layered StackingContext at Rect(100px×100px at (0px,0px)) with overflow Rect(100px×100px at (0px,0px)):
│  │  │  ├─ Backgrounds and Borders
│  │  │  │  └─ SolidColor rgba(1, 0, 0, 1) @ Rect(100px×100px at (0px,0px)) (7f926f46f310)
│  │  │  ├─ Layered StackingContext at Rect(100px×100px at (0px,0px)) with overflow Rect(100px×100px at (0px,0px)):
│  │  ├─ Layered StackingContext at Rect(100px×100px at (0px,0px)) with overflow Rect(100px×100px at (0px,0px)):
│  │  │  ├─ Backgrounds and Borders
│  │  │  │  └─ SolidColor rgba(0, 0.5019608, 0, 1) @ Rect(100px×100px at (0px,0px)) (7f926f46f3a0)
```

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7648)
<!-- Reviewable:end -->
2015-09-16 20:43:59 -06:00
bors-servo
b511004a61 Auto merge of #7632 - aidanhs:aphs-speedup-mach-startup, r=metajack
Speedup mach startup

...by using a 'marker file' to indicate whether we actually need to run pip.

Also a minor tweak for clarity.

Before (consistently):
```
$ time ./mach >/dev/null

real    0m0.666s
user    0m0.477s
sys     0m0.190s
```

After:
```
$ time ./mach >/dev/null # first run

real    0m0.665s
user    0m0.501s
sys     0m0.166s
$ time ./mach >/dev/null

real    0m0.121s
user    0m0.083s
sys     0m0.039s
```

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7632)
<!-- Reviewable:end -->
2015-09-16 14:34:17 -06:00
Martin Robinson
30963d76be Improve printing of DisplayLists
Use box tree characters to make DisplayLists easier to scan when
printing them out.
2015-09-16 12:31:38 -07:00
bors-servo
2879da54f9 Auto merge of #7645 - nox:omtc-types, r=Ms2ger
Introduce structs for compositing and script task constructors' arguments

Extracted from @pcwalton's #4271.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7645)
<!-- Reviewable:end -->
2015-09-16 10:41:10 -06:00
Anthony Ramine
a7738a5eef Introduce InitialScriptState 2015-09-16 18:38:24 +02:00