bors-servo
2bc4ffe5cf
auto merge of #3744 : cgaebel/servo/efficient-preorder-traversal, r=pcwalton
...
This also tackles some nearby FIXMEs. `traverse_preorder` is used in a LOT of
DOM functions..
r? @pcwalton
2014-10-21 13:09:38 -06:00
bors-servo
018146b1a8
auto merge of #3728 : cgaebel/servo/dump-flow-tree-with-println, r=mrobinson
...
r? @mrobinson
2014-10-21 11:27:40 -06:00
Clark Gaebel
a5bb2f299f
more efficient preorder DOM traversals
2014-10-21 10:01:15 -07:00
bors-servo
156ca98236
auto merge of #3722 : pcwalton/servo/flow-construction-overhaul, r=glennw
...
This is a grab bag of performance improvements that significantly improve style recalculation, layout, and painting on a few static pages.
Let me know if you'd like me to split this PR up.
r? @glennw
2014-10-21 10:06:37 -06:00
Patrick Walton
cd42c28f5b
gfx: Don't needlessly push and pop clip rects all the time.
...
15% painting improvement on CNN.
2014-10-20 22:05:38 -07:00
Patrick Walton
79f84a62fe
gfx: Make fonts that fail to match hit the cache too.
...
50%-100% layout perf improvement on CNN.
2014-10-20 22:05:38 -07:00
Patrick Walton
e9a61c1ccf
layout: Don't destroy the flow tree when resizing the window
2014-10-20 22:05:38 -07:00
Patrick Walton
bb6f557276
layout: Rewrite text and inline fragment handling during flow
...
construction to avoid cloning and moving flows so much.
Besides amounting to a 5%-10% win on a page with a lot of text, this
simplifies and refactors the text layout code.
2014-10-20 22:05:38 -07:00
Glenn Watson
cf3d9dffd1
Update rust-core-text, handle empty font collections. Fixes #3703 .
2014-10-21 14:54:37 +10:00
Clark Gaebel
174975061e
Dump the flow tree with println, instead of error
2014-10-20 11:14:03 -07:00
Clark Gaebel
81bd3cbd9d
Fixes the table_percentage_width_a.html reftest with incremental reflow turned on.
2014-10-20 11:13:31 -07:00
Glenn Watson
076495db94
Use opts as a global, to avoid cloning and passing the struct all over the code.
2014-10-20 10:48:47 +10:00
Glenn Watson
b816550a17
Remove render backend option as it doesn't work and confuses people.
2014-10-20 07:39:36 +10:00
Ms2ger
b9d8533760
Don't crash on invalid utf-8 in the HTML parser.
...
This was regressed by the html5ever landing.
2014-10-19 13:18:25 +02:00
bors-servo
65856dd00a
auto merge of #3720 : gilles-leblanc/servo/fix-grammatical-errors, r=jdm
...
This corrects and improves the dom/bindings/DESIGN.md document and also
corrects a grammatical error in a tests/reftest.rs message.
2014-10-18 00:24:25 -06:00
Gilles Leblanc
8b727e3680
Edits dom/bindings/DESIGN.md
...
This corrects and improves the dom/bindings/DESIGN.md document and also
corrects a grammatical error in a tests/reftest.rs message.
2014-10-17 23:12:58 -04:00
bors-servo
3906cecd16
auto merge of #3719 : mrobinson/servo/flow-dump, r=pcwalton
...
The flow tree is currently dumped for debugging purposes early on in
the flow process, so many values are still zero. If we wait to dump it
until later, the output will more accurately reflect the real flow tree.
2014-10-17 19:51:24 -06:00
Martin Robinson
e7c79906bd
Wait to dump flow tree until flow is complete
...
The flow tree is currently dumped for debugging purposes early on in
the flow process, so many values are still zero. If we wait to dump it
until later, the output will more accurately reflect the real flow tree.
2014-10-17 18:48:09 -07:00
Clark Gaebel
8496c056e7
Fixed the inline_element_border_a reftest with incremental layout turned on.
2014-10-17 11:11:14 -07:00
Clark Gaebel
2faf5b270f
Fix image_dynamic_remove reftest with incremental layout turned out
...
This also adds some extra debugging infrastructure which I found useful tracking
this bug down. A regression in the br reftests is also uncovered by this patch,
which I'll work on fixing next.
r? @pcwalton
2014-10-17 11:11:14 -07:00
Gilles Leblanc
a31849df11
Make HTMLFormElementHelpers::submit take an enumerated argument instead of a boolean
...
Fixes #3677
2014-10-16 20:57:55 -04:00
bors-servo
6ab8f4611f
auto merge of #3705 : mbrubeck/servo/rm-hubbub, r=kmcallister
...
Unused after #3702 . r? @kmcallister
2014-10-16 16:18:19 -06:00
Matt Brubeck
578cb94fa8
Remove old hubbub HTML parsing code
2014-10-16 14:45:30 -07:00
bors-servo
83196ddb26
auto merge of #3697 : pcwalton/servo/get-layout-font-group, r=glennw
...
Seems to be a 38% layout win on a site I tested with a lot of text.
Other browser engines typically do not duplicate the information in the font style struct. `FontStyle` actually predates @SimonSapin's CSS selector matching library. It's time to get rid of it!
r? @glennw
2014-10-16 15:06:19 -06:00
Keegan McAllister
9da7679367
Use html5ever for HTML parsing
2014-10-16 13:06:34 -07:00
bors-servo
5be4f40bef
auto merge of #3699 : Ms2ger/servo/jsstring_to_str, r=jdm
...
This appears to be a more sensible location for them.
Relevant to #433 .
2014-10-16 08:45:19 -06:00
bors-servo
b80b18f1cb
auto merge of #3698 : ema-fox/servo/remove-monocache, r=jdm
2014-10-16 07:33:21 -06:00
Ms2ger
b60a601f56
Move jsstring_to_str and jsid_to_str to conversions.rs.
...
This appears to be a more sensible location for them.
Relevant to #433 .
2014-10-16 10:42:09 +02:00
Emanuel Rylke
62595ff448
Remove unused implementation of MonoCache
2014-10-16 08:39:51 +02:00
bors-servo
1de2fb3721
auto merge of #3695 : saneyuki/servo/cell, r=jdm
...
#3050
2014-10-16 00:03:18 -06:00
bors-servo
9af0900060
auto merge of #3684 : Manishearth/servo/dom_struct, r=jdm
...
This attribute implies #[jstraceable], #[privatize], and #[must_root].
2014-10-15 23:24:20 -06:00
Patrick Walton
a6fcec468f
layout: Remove FontStyle
in favor of using the font style struct
...
directly, and optimize `get_layout_font_group()` to use a small vector.
Seems to be a 38% layout win on a site I tested with a lot of text.
2014-10-15 22:17:57 -07:00
Manish Goregaokar
38cbf86c8f
Make auto-derived JSTraceable have #[inline] methods
2014-10-16 10:20:20 +05:30
Manish Goregaokar
3f2cbb275b
Use #[dom_struct] everywhere
2014-10-16 10:20:18 +05:30
Manish Goregaokar
c45550de73
Add unifying #[dom_struct] attribute ( fixes #3667 )
2014-10-16 10:18:56 +05:30
bors-servo
84b2fe54b9
auto merge of #3694 : saneyuki/servo/node, r=jdm
...
`Node.unsafe_get_flags()` returns `*const NodeFlags`, but `NodeFlags` has only `u8` length.
So We should just returns a raw value instead of any pointers.
2014-10-15 22:45:19 -06:00
bors-servo
a6001329b8
auto merge of #3693 : ehsan/servo/3248, r=jdm
...
This fixes #3248 .
r? @jdm. Please review for mistakes mercilessly! Also, I got a host of test failures when running the worker tests, not sure if these tests are expected to pass locally or not.
2014-10-15 22:06:19 -06:00
bors-servo
f3066c70da
auto merge of #3689 : cgaebel/servo/working-incremental-flow-construction, r=pcwalton
...
This implements fragment merging, in order to incrementally reflow linebroken
text. This makes the `whitespace_pre.html` reftest pass with incremental reflow
turned on with `-i`.
2014-10-15 21:27:20 -06:00
bors-servo
f94228d9f9
auto merge of #3662 : mukilan/servo/worker_timer, r=jdm
...
Closes issue #3236
2014-10-15 20:48:22 -06:00
Tetsuharu OHZEKI
2bdcc0e2c0
Use DOMRefCell<T> for HTMLInputElement's field that is borrowed from other tasks.
2014-10-16 11:17:00 +09:00
Tetsuharu OHZEKI
0d447394b2
Removes Node.unsafe_get_flags().
...
`Node.unsafe_get_flags()` returns `*const NodeFlags`,
but `NodeFlags` has only `u8` length.
We should just returns a raw value instead of any pointers.
2014-10-16 11:04:17 +09:00
bors-servo
b83352f7eb
auto merge of #3692 : cgaebel/servo/fix-incremental-append-style, r=pcwalton
...
@pcwalton r?
2014-10-15 20:00:20 -06:00
Ehsan Akhgari
840d949d97
Throw DataCloneError from worker postMessage if structured clone fails
...
This fixes #3248 .
2014-10-15 21:57:40 -04:00
Tetsuharu OHZEKI
ab90c718eb
Add the comment about to use mem::transmute()
for values contained in DOMRefCell.
2014-10-16 10:48:23 +09:00
bors-servo
d54fb041ba
auto merge of #3691 : Ms2ger/servo/cycle-comments, r=jdm
...
The tracing setup has ensured that the cycles can be collected for a long time
now.
2014-10-15 18:42:20 -06:00
Mukilan Thiyagarajan
0d7e13f646
Issue #3236 - Implement timers (setTimeout/setInterval) for workers
2014-10-16 05:59:44 +05:30
Clark Gaebel
481adcd654
Fix whitespace_pre with incremental reflow turned on.
...
This implements fragment merging, in order to incrementally reflow linebroken
text. This makes the `whitespace_pre.html` reftest pass with incremental reflow
turned on with `-i`.
2014-10-15 16:04:21 -07:00
Clark Gaebel
0a541fc83c
Fix append_style reftests with incremental reflow turned on.
...
@pcwalton r?
2014-10-15 15:47:11 -07:00
Ms2ger
55e01157e7
Remove obsolete comments about cycles.
...
The tracing setup has ensured that the cycles can be collected for a long time
now.
2014-10-16 00:43:30 +02:00
Clark Gaebel
76ed7484eb
Use the Deref traits for FlowRefs.
...
This patch switches FlowRefs to using the Deref and DerefMut traits, instead of
the custom `get` and `get_mut` functions.
2014-10-15 11:04:05 -07:00