Commit graph

3647 commits

Author SHA1 Message Date
bors-servo
e2e848c6ad auto merge of #1600 : pcwalton/servo/use-concurrent-hash-map, r=larsbergstrom
64% improvement in style recalc.

r? @larsbergstrom
2014-01-30 16:28:18 -08:00
bors-servo
31442fe856 auto merge of #1598 : pcwalton/servo/sequential-mirrors-parallel, r=larsbergstrom
in the parallel path.

r? @larsbergstrom
2014-01-30 16:01:24 -08:00
Patrick Walton
939f1a28a3 layout: Consolidate passes in the sequential path that were consolidated
in the parallel path.
2014-01-30 15:25:25 -08:00
bors-servo
9352e1db00 auto merge of #1579 : ibnc/servo/multiple_display_lists, r=larsbergstrom
Fixes: #1538

Still needs to be rebased.
2014-01-30 15:22:33 -08:00
Bruno de Oliveira Abinader
56572a2814 Implement document.compatMode
Spec:
http://dom.spec.whatwg.org/#dom-document-compatmode

This is a sub-task for #1428.
2014-01-30 19:12:19 -04:00
Patrick Walton
a8e35fbeac layout: Use the concurrent hash map for the leaf sets.
64% improvement in style recalc.
2014-01-30 15:11:35 -08:00
Isabelle Carter
0892fada74 Multiple display list support 2014-01-30 17:11:17 -06:00
bors-servo
0dd37d9cd3 auto merge of #1592 : pcwalton/servo/concurrent-hash-map, r=larsbergstrom
This will be used for leaf sets and interned strings.

r? @larsbergstrom
2014-01-30 14:43:18 -08:00
Patrick Walton
8690c8f87f util: Implement a Doug Lea-style concurrent hash table.
This will be used for leaf sets and interned strings.
2014-01-30 14:34:16 -08:00
bors-servo
34746359f0 auto merge of #1590 : pcwalton/servo/thread-safe-flow-construction, r=metajack
non-element children during the cascade.

Fetching them from the parent isn't thread-safe.

r? @metajack
2014-01-30 14:04:18 -08:00
bors-servo
ad2d1e9d87 auto merge of #1585 : pcwalton/servo/parallel-aux-init, r=metajack
Brings aux initialization time down to essentially zero (!)

r? @metajack
2014-01-30 13:40:28 -08:00
Patrick Walton
94ab4f5086 layout: Perform aux initialization in parallel.
Brings aux initialization time down to essentially zero (!)
2014-01-30 13:13:56 -08:00
Patrick Walton
0e20ec02c5 layout: Make box building thread safe by pushing down styles into
non-element children during the cascade.

Fetching them from the parent isn't thread-safe.

Adds a test for anonymous block box inheritance.
2014-01-30 13:09:01 -08:00
bors-servo
e9a0c8184f auto merge of #1597 : larsbergstrom/servo/add_page_loaded, r=pcwalton
Add a LoadComplete message so that script informs the constellation, which can then inform the compositor (and anyone else, later) about the completion of loading a page. This is important for ref tests, which should not emit a PNG until load has completed, even if we perform a composite before then.

Note that we must *also* wait for the `ready_state` to indicate that additionally layout has completed any associated reflow with the page, otherwise we could get the `LoadComplete` while the final reflow is still in progress and thus would write out the `n-1`'th reflow result.

r? @pcwalton
2014-01-30 12:49:28 -08:00
bors-servo
6c2e48f04d auto merge of #1593 : pcwalton/servo/dom-leaf-set, r=metajack
construction.

This will be very slow until we have the concurrent hash table, but we
might as well get it in.

r? @metajack
2014-01-30 12:10:35 -08:00
Patrick Walton
e94b3d140c update per comment 2014-01-30 12:07:35 -08:00
Lars Bergstrom
f41c39b3dd Add a LoadComplete message so that script informs the constellation,
which can then inform the compositor (and anyone else, later) about
the completion of loading a page. This is important for ref tests,
which should not emit a PNG until load has completed, even if we
perform a composite before then.
2014-01-30 13:48:22 -06:00
bors-servo
60b8d47b0e auto merge of #1595 : brunoabinader/servo/patch-1, r=larsbergstrom
TSIA.
2014-01-30 10:43:33 -08:00
Bruno de Oliveira Abinader
48f0e12237 Added link to GitHub & Critic PR handling 101
TSIA.
2014-01-30 13:40:18 -05:00
bors-servo
3256cfb78c auto merge of #1564 : pcwalton/servo/small-vector, r=larsbergstrom
12% improvement on style recalc for the rainbow page.

r? @larsbergstrom
2014-01-30 10:13:32 -08:00
bors-servo
572959c3e6 auto merge of #1583 : brunoabinader/servo/document-url, r=Ms2ger
Specs:
http://dom.spec.whatwg.org/#dom-document-url
http://dom.spec.whatwg.org/#dom-document-documenturi

This is a sub-task for #1428.
2014-01-30 08:58:40 -08:00
Patrick Walton
61b030552e layout: Small vector optimize CSS selector matching 2014-01-30 08:43:24 -08:00
Patrick Walton
beb9b9bd92 util: Implement a small vector type.
This will be upstreamed to the Rust library once it bakes.
2014-01-30 08:43:02 -08:00
bors-servo
74562b43f3 auto merge of #1580 : brunoabinader/servo/dom-exception, r=Ms2ger
Spec:
http://dom.spec.whatwg.org/#domexception

This is a subtask for #1542.
2014-01-30 07:28:38 -08:00
Bruno de Oliveira Abinader
43416ef91f Implement document.URL & document.documentURI
Specs:
http://dom.spec.whatwg.org/#dom-document-url
http://dom.spec.whatwg.org/#dom-document-documenturi

This is a sub-task for #1428.
2014-01-30 10:41:24 -04:00
bors-servo
0777f211df auto merge of #1567 : pcwalton/servo/quicksort-selector-matching, r=larsbergstrom
17% improvement in selector matching on the rainbow page.

r? @larsbergstrom
2014-01-30 04:01:44 -08:00
Patrick Walton
b27f4a8969 layout: Introduce a DOM leaf set as a prerequisite for parallel flow
construction.

This will be very slow until we have the concurrent hash table, but we
might as well get it in.
2014-01-29 21:05:50 -08:00
Patrick Walton
3764c3c49f style: Quicksort rules to avoid allocation of temporary vectors.
17% improvement in selector matching on the rainbow page.
2014-01-29 20:43:33 -08:00
bors-servo
9f6ab8ed77 auto merge of #1589 : pcwalton/servo/stop-removing-flows, r=larsbergstrom
to be leaves.

60% improvement in flow tree construction time on the rainbow page.

r? @larsbergstrom
2014-01-29 15:09:52 -08:00
Patrick Walton
e579daefc2 layout: Stop adding flows to the leaf set that are obviously never going
to be leaves.

60% improvement in flow tree construction time on the rainbow page.
2014-01-29 15:01:26 -08:00
bors-servo
7e3075522d auto merge of #1587 : pcwalton/servo/profile-damage, r=larsbergstrom
WebKit calls it) into one supercategory in the profiler.

r? @larsbergstrom
2014-01-29 12:28:39 -08:00
Patrick Walton
21656b874d layout: Profile layout damage propagation and group "style recalc" (as
WebKit calls it) into one supercategory in the profiler
2014-01-29 11:41:22 -08:00
Bruno de Oliveira Abinader
0c6de1bb34 Basic skeleton for DOMException
Spec:
http://dom.spec.whatwg.org/#domexception

This is a subtask for #1542.
2014-01-29 14:58:22 -04:00
bors-servo
6c63de1c03 auto merge of #1582 : saneyuki/servo/1569, r=Ms2ger
retry: #1581

this will fix #1569
2014-01-29 04:53:07 -08:00
Tetsuharu OHZEKI
c95bb6403c Make Node::{remove, insert} take a descriptive enum for suppress_observers instead of a boolean. 2014-01-29 20:13:12 +09:00
bors-servo
e29247ce55 auto merge of #1562 : wowus/servo/master, r=metajack
Is there a central configuration module which I can query for max_redirects?
2014-01-28 19:20:48 -08:00
Clark Gaebel
015902f778 Added bound to number of HTTP redirects, and prevented redirect loops. 2014-01-28 21:38:00 -05:00
bors-servo
75acf1175a auto merge of #1566 : pcwalton/servo/fewer-allocations, r=SimonSapin
hash.

31% win on selector matching.

r? @larsbergstrom
2014-01-27 16:59:18 -08:00
bors-servo
d47df0812f auto merge of #1547 : deokjinkim/servo/fix_white_space, r=metajack
If html has empty line, it is not handled currently.
Because pending line is empty in such case, flushing current line doesn't care empty line.
For example, below html has two empty line(line 2 and line 4)
<div>
test1

test2

</div>

To handle empty line, added empty box to pending line.
2014-01-27 16:32:53 -08:00
bors-servo
e7aa20a36d auto merge of #1574 : pcwalton/servo/cheat-before-after, r=SimonSapin
125% win on selector matching (!)

r? @SimonSapin
2014-01-27 16:06:10 -08:00
Deokjin Kim
765e1f2a36 Fix white-space property(pre)
If html has empty line, it is not handled currently.
Because pending line is empty in such case, flushing current line doesn't care empty line.
For example, below html has two empty line(line 2 and line 4)
<div>
test1

test2

</div>

To handle empty line, added empty box to pending line.
2014-01-28 09:04:28 +09:00
Patrick Walton
c6fed026ac style: Stop allocating when lowercasing element names for lookup in the
hash.

31% win on selector matching.
2014-01-27 15:44:51 -08:00
Patrick Walton
8f2d83005b style: Short-circuit the selector matching process if the map is empty.
125% win on selector matching (!)
2014-01-27 15:34:14 -08:00
bors-servo
78e0545918 auto merge of #1571 : pcwalton/servo/combine-cascading, r=metajack
Speeds up the cascade by 3x.

r? @metajack
2014-01-27 15:10:15 -08:00
Patrick Walton
9c3af574e5 layout: Perform cascading in parallel.
Speeds up the cascade by 3x.
2014-01-27 14:41:52 -08:00
bors-servo
fa02b82b88 auto merge of #1570 : larsbergstrom/servo/reftest_better, r=metajack
Previously, small errors were very hard to see because they would only have a value that was off by a few points from solid white. Now, they will show up vibrantly!

I considered reconstructing the pixels and using either black/white or a scaling "red" but in practice this gives good results on a wide variety of errors and has the bonus that if you've got chroma-power you can tell if there's an R, G, or B error :-)

r? @metajack
2014-01-27 13:46:59 -08:00
Lars Bergstrom
cb31b3cf6c Change the values emitted for incorrect pixels to make small errors visible 2014-01-27 15:07:06 -06:00
bors-servo
ffa80ae46f auto merge of #1559 : pcwalton/servo/parallel-selector-matching, r=metajack
10% speedup over what we had before.

r? @metajack
2014-01-27 12:49:14 -08:00
Patrick Walton
cb2e225b14 layout: Switch parallel selector matching over to using work stealing.
10% speedup over what we had before.
2014-01-27 12:44:54 -08:00
bors-servo
d944567b9a auto merge of #1546 : ksh8281/servo/inline_add2, r=larsbergstrom
implement inline border.
it gives same result in "src/test/html/test_inline_border.html" with chrome,firefox

r? @pcwalton
2014-01-26 20:55:13 -08:00