Commit graph

2212 commits

Author SHA1 Message Date
Alan Jeffrey
237ddc3c0c Caching HTMCollections.
We cache the state of any live HTMLCollection, keeping track of

a) the optional cached length of the collection, and
b) an optional cursor into the collection (a node in the collection plus its index).

The cache is invalidated based on the version number of the node.

We use these caches for speeding up random access to the collection.
When returning coll[i], we search from the cursor, if it exists,
and otherwise search from the front of the collection.
In particular, both a forward for-loop and a backward for-loop
through the collection will now have each access take O(1)
time rather than O(n) time.

This gets 1000x speed-up on the relevant Dromaeo DOM query tests.
2015-11-06 17:23:17 -06:00
Simon Sapin
3973085cb6 Fix double /**//**/ 2015-11-06 23:01:55 +01:00
Simon Sapin
40e6cc118e Detect var() in shorthand declarations. 2015-11-06 23:01:54 +01:00
Ms2ger
e4034597a2 Move img_simple.html to wpt reftests. 2015-11-05 16:49:02 +01:00
Ms2ger
31476b77b6 Move img_block_maxwidth_a.html and img_block_maxwidth_b.html to wpt reftests. 2015-11-05 16:34:37 +01:00
Ms2ger
41a9502688 Move image_rendering_auto_a.html and image_rendering_pixelated_a.html to wpt reftests. 2015-11-05 16:17:27 +01:00
Ms2ger
0cf602f7d8 Move font_size.html to wpt reftests. 2015-11-05 16:01:23 +01:00
Ms2ger
5b35ee09d3 Move floated_negative_margins_a.html to wpt reftests. 2015-11-05 15:52:11 +01:00
Ms2ger
c8f0613113 Move flex_row_direction.html to wpt reftests. 2015-11-05 15:30:10 +01:00
Ms2ger
9623ed54d0 Move flex_column_direction.html to wpt reftests. 2015-11-05 13:35:01 +01:00
Ms2ger
4add7d23f8 Move fixed_width_overrides_child_intrinsic_width_a.html to wpt reftests. 2015-11-05 13:24:31 +01:00
Bobby Holley
d89816bb5f Consider all the pseudo-classes in a given compound selector when computing restyle hints, not just the rightmost one.
For some reason when I wrote this code I mixed up the rules for pseudo-elements
(rightmost, maximum of one) with those of pseudo-classes (which have no such
restriction). This caused a correctness issue which can be demonstrated with the
associated reftest modification.
2015-11-04 19:01:50 -08:00
bors-servo
dc159d055c Auto merge of #8322 - mrobinson:iframe-resizing, r=pcwalton
Properly resize iframe root layers

When a layer containing an iframe changes, we also need to resize the
root layer of the subpage. This ensures that content from the child
layer tree is masked to the new size.

Fixes #8301.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8322)
<!-- Reviewable:end -->
2015-11-05 02:23:43 +05:30
bors-servo
df4e614179 Auto merge of #8321 - servo:reset-zero, r=Ms2ger
counter-reset defaults to 0, not 1.

https://drafts.csswg.org/css2/generate.html#counters

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8321)
<!-- Reviewable:end -->
2015-11-04 17:52:23 +05:30
bors-servo
b098339f92 Auto merge of #8320 - frewsxcv:expand-tidy, r=metajack
Expand tidy to lint parts of /tests/wpt

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8320)
<!-- Reviewable:end -->
2015-11-04 15:43:28 +05:30
Simon Sapin
80dbd29528 counter-reset defaults to 0, not 1. 2015-11-04 10:55:16 +01:00
David Zbarsky
d95ca55f26 Allow retrieving width/height for non-positioned elements 2015-11-03 20:13:09 -08:00
bors-servo
ca56ebbb09 Auto merge of #8306 - glennw:fix-abd-overflow, r=pcwalton
Change overflow calculation to be calculated after compute_absolute_position.

Also include absolutely positioned elements in the overflow rect calculation.

Fixes #7797.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8306)
<!-- Reviewable:end -->
2015-11-04 08:15:58 +05:30
bors-servo
86e3add8fd Auto merge of #8266 - mrobinson:stacking-context-mix, r=pcwalton
Mix stacking contexts into the positioned content list

Sometimes positioned content needs to be layered on top of stacking
contexts. The layer synthesis code can do this, but the current design
prevents it because stacking contexts are stored in a separate struct
member. In order to preserve tree order, mix stacking contexts into the
positioned content list, by adding a new StackingContextClass
DisplayItem. Such items do not have a base DisplayItem.

In some ways this simplifies the code, because we no longer have to
have a separate code path in the StackingContextLayerCreator.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8266)
<!-- Reviewable:end -->
2015-11-04 07:22:43 +05:30
Martin Robinson
c1a38e240a Mix stacking contexts into the positioned content list
Sometimes positioned content needs to be layered on top of stacking
contexts. The layer synthesis code can do this, but the current design
prevents it because stacking contexts are stored in a separate struct
member. In order to preserve tree order, mix stacking contexts into the
positioned content list, by adding a new StackingContextClass
DisplayItem. Such items do not have a base DisplayItem.

In some ways this simplifies the code, because we no longer have to
have a separate code path in the StackingContextLayerCreator.

Fixes #7779.
Fixes #7983.
Fixes #8122.
Fixes #8310.
2015-11-03 17:47:39 -08:00
Martin Robinson
261246ea25 Properly resize iframe root layers
When a layer containing an iframe changes, we also need to resize the
root layer of the subpage. This ensures that content from the child
layer tree is masked to the new size.

Fixes #8301.
2015-11-03 15:28:07 -08:00
Corey Farwell
d1824aea48 Expand tidy to lint parts of /tests/wpt 2015-11-03 17:11:44 -05:00
bors-servo
8cbd8e6b45 Auto merge of #8316 - Ms2ger:test-ref, r=frewsxcv
Use wptrunner for some old-style reftests.



<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8316)
<!-- Reviewable:end -->
2015-11-04 02:07:59 +05:30
Ms2ger
60047854e3 Move canvas_radial_gradient_a.html to wpt reftests. 2015-11-03 17:58:05 +01:00
Ms2ger
b1a9a0650a Move box_shadow_spread_a.html to wpt reftests. 2015-11-03 17:51:51 +01:00
Ms2ger
3ac3085b18 Move box_shadow_inset_parsing_a.html to wpt reftests. 2015-11-03 17:43:44 +01:00
Ms2ger
ca62d2387e Move box_shadow_inset_a.html to wpt reftests. 2015-11-03 17:37:41 +01:00
bors-servo
5070c873d0 Auto merge of #8111 - gilles-leblanc:issue-8002, r=SimonSapin
Compute value of float according to position value

According to CSS2 Section 9.7, if 'position' has a value of 'absolute'
or 'fixed' the computed value of 'float' should be 'none'.

This changes the float to a single_keyword_computed which checks the
positioned value of the element to compute the float value.

Fixes #8002

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8111)
<!-- Reviewable:end -->
2015-11-03 21:39:32 +05:30
bors-servo
108de991ae Auto merge of #8298 - jdm:webglreftests, r=metajack
Fix missing reference links in webgl tests.



<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8298)
<!-- Reviewable:end -->
2015-11-03 17:17:20 +05:30
Glenn Watson
695b7491fe Change overflow calculation to be calculated after compute_absolute_position.
Also include absolutely positioned elements in the overflow rect calculation.

Fixes #7797.
2015-11-03 20:10:06 +10:00
Josh Matthews
1dfd48864a Fix missing reference links in webgl tests. 2015-11-02 15:08:36 -05:00
Adenilson Cavalcanti
b1197c31d1 The end of the MANIFEST odyssey. 2015-11-02 09:46:34 -08:00
Adenilson Cavalcanti
bcea688e1f Telling the test runner what compare the test with. 2015-11-02 09:13:16 -08:00
Adenilson Cavalcanti
4fdf73d105 Adding a reference test where a bigger area than the original
element is defined in script.

The test is now using wpt infrastructure (thanks Manishearth!).
2015-11-02 08:53:21 -08:00
bors-servo
3282174a99 Auto merge of #8291 - ecoal95:webgl-drop, r=jdm
Add destructors to some WebGL objects, remove duplicated glutin dependency and try to enable the webgl reftests

The first commit allows to cleanup the gl resources of the webgl task earlier if they aren't being used.
Right now all resources were cleaned up when the context was destroyed, so I think this is
a slightly better approach.

The second commit bumps rust-offscreen-rendering-context to remove the duplicated glutin dependency.

The third one tries to reenable the webgl reftests.
Since the errored builds are deleted, It's the only way I can try to troubleshoot it.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8291)
<!-- Reviewable:end -->
2015-11-02 18:52:33 +05:30
Emilio Cobos Álvarez
8fff34e2e7 Disable WebGL reftests on linux 2015-11-02 14:05:05 +01:00
David Zbarsky
00980ea595 Implement calc expressions for more value types 2015-11-01 23:16:14 -08:00
Emilio Cobos Álvarez
12d1464220 Move WebGL reftests to wpt/mozilla 2015-11-01 20:30:39 +01:00
nxnfufunezn
468eaac096 Accept Brotli-compressed HTTP responses #8156 2015-11-01 08:59:18 +05:30
Bobby Holley
564170f41b State restyle hint tests.
This handles the state part of #6942.
2015-10-31 14:28:52 -07:00
Corey Farwell
d9a1c06fb4 Add missing WPT to reftest_nodes 2015-10-30 12:16:16 -04:00
Corey Farwell
4b5f8e9970 Alphabetize entries in the WPT manifests 2015-10-30 11:46:41 -04:00
Martin Robinson
a7a58e47a0 Expand DisplayList layer bounds to whole pixels
Before passing these layers to the paint task, expand them to pixel
boundaries. This ensures that subpixel edges of the layer will not be
clipped away and helps prevent rounding issues with layer contents.

Fixes #8166.
2015-10-28 18:11:59 -07:00
Michael Howell
2b6e897cd1 Show overflow for #8118. 2015-10-27 15:07:59 -07:00
bors-servo
381317f658 Auto merge of #8129 - craftytrickster:pos-fixed-list-item, r=glennw
Made block type pattern match less inclusive

Given the comments above the match statement, it seems that fixed-pos check should match only block elements in this case. Doing this change seems to partially resolve the issue where list items with `position:fixed;` styling are not displaying their bullet points. This change only resolves the issue for list items with `list-style-position: inside`, outside positioning is still not functioning correctly. 

https://github.com/servo/servo/issues/8001#issuecomment-149781613

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8129)
<!-- Reviewable:end -->
2015-10-28 01:44:48 +05:30
David Raifaizen
091282ee24 Made block type pattern match less inclusive 2015-10-27 09:41:42 -04:00
Ms2ger
c265c52939 Move box_shadow_default_color_a.html to wpt reftests. 2015-10-27 14:07:01 +01:00
Ms2ger
f9930ab1fe Move box_shadow_blur_a.html to wpt reftests. 2015-10-27 14:00:13 +01:00
Ms2ger
5b08ac9ca9 Move borders_a.html to wpt reftests. 2015-10-27 13:32:29 +01:00
Ms2ger
8838133abe Move border_spacing_fixed_layout_a.html to wpt reftests. 2015-10-27 13:23:24 +01:00