Commit graph

21500 commits

Author SHA1 Message Date
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
Patrick Walton
d08dfc0bcf gfx: Update rust-azure to pick up arcs, gradients, and subpixel text 2014-10-20 21:36:28 -07:00
Martin Robinson
29303c0636 Improve logical geometry formatting
Logical geometry is complicated, so the string formatted output is
verbose. This means that flow tree dumps often go well beyond the
edge of the terminal screen. With a simple notation, we can shorten the
output and make it slightly easier to read. This notation also makes it
more similar to the formatted output of Rect, Point2D, and Size2D.
2014-10-20 18:04:48 -07: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
26636474a9 Introduce a basic shared task pool, and use it for image decoding. 2014-10-20 13:34:14 +10: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
Ms2ger
d9202f8169 Remove the reflector field from Document.
This field became unused in commit 99a36cbeb6.
2014-10-15 16:03:22 +02:00