Commit graph

444 commits

Author SHA1 Message Date
Tim Taubert
78fef7eec5 Privatize Attr 2014-10-13 13:18:57 +02:00
Tim Taubert
9a52bb8310 Privatize InheritTypes 2014-10-13 11:13:12 +02:00
Clark Gaebel
d12c6e7383 Incremental Style Recalc
This patch puts in the initial framework for incremental reflow. Nodes' styles
are no longer recalculated unless the node has changed.

I've been hacking on the general problem of incremental reflow for the past
couple weeks, and I've yet to get a full implementation that actually passes all
the reftests + wikipedia + cnn. Therefore, I'm going to try to land the different
parts of it one by one.

This patch only does incremental style recalc, without incremental flow
construction, inline-size bubbling, reflow, or display lists. Those will be coming
in that order as I finish them.

At least with this strategy, I can land a working version of incremental reflow,
even if not yet complete.

r? @pcwalton
2014-10-09 12:55:21 -04:00
Tim Taubert
35f8270c64 Remove unnecessary deref()s (fixes #3586) 2014-10-09 15:01:54 +02:00
Tim Taubert
b9e23563bb Support [*|attr], attribute selectors in any namespace (fixes #1558) 2014-10-08 11:01:31 +02:00
Gilles Leblanc
3a5a66d54e Take the prefix from createElementNS into account for HTML elements
Fixes #3139
2014-10-06 22:49:49 -04:00
Manish Goregaokar
a8f96ddfb2 Remove Traceable/Untraceable from node.rs 2014-10-05 22:36:08 +05:30
Manish Goregaokar
4f362ab5e6 Remove Untraceable/Traceable from document.rs 2014-10-05 21:58:59 +05:30
Manish Goregaokar
4f574b4732 Remove Traceable from characterdata.rs 2014-10-05 21:33:43 +05:30
bors-servo
bae5440689 auto merge of #3531 : Ms2ger/servo/MutNullableJS, r=Ms2ger
Extracted from #3527.
2014-10-01 09:09:28 -06:00
Josh Matthews
54fcab61d6 Implement MutNullableJS for mutable, nullable member pointers to DOM objects. 2014-10-01 17:06:23 +02:00
Cameron Zwarich
72656717d4 Remove an extra lifetime parameter on NodeHelpers 2014-10-01 02:07:46 -07:00
Cameron Zwarich
78791af7d6 Convert the NodeHelpers trait to use self methods 2014-09-30 23:42:03 -07:00
Cameron Zwarich
79b4ec99b4 Convert TNode / TElement to use self methods rather than &self 2014-09-30 21:26:19 -07:00
Cameron Zwarich
e894499c17 Disambiguate methods without using trait objects 2014-09-30 21:22:24 -07:00
Cameron Zwarich
4ef0f39c78 Remove a prefix from a method name by manually resolving methods 2014-09-30 21:21:00 -07:00
Cameron Zwarich
3953456b61 Convert a method from &JSRef to JSRef
This also removes the unnecessary formation of a trait object.
2014-09-30 15:55:05 -07:00
Simon Sapin
b3245fa407 Upgrade to rustc d2b30f7d3 2014-09-23 2014-09-29 17:41:45 +01:00
Cameron Zwarich
61ae80e186 Add an extra lifetime parameter to TElement / TNode
This isn't used for anything yet, but it's easier to propagate this
change in a separate commit.
2014-09-27 11:14:10 -07:00
bors-servo
a35212410a Merge pull request #3496 from zwarich/disabled-state-helpers-jsref
Convert &JSRef -> JSRef in DisabledStateHelpers

Reviewed-by: jdm
2014-09-26 20:24:33 -06:00
Cameron Zwarich
4bf2a88ae2 Convert &JSRef -> JSRef in DisabledStateHelpers 2014-09-26 15:58:36 -07:00
Cameron Zwarich
4f32d54fd8 Convert &JSRef -> JSRef for the PrivateNodeHelpers trait 2014-09-26 15:46:37 -07:00
Manish Goregaokar
6f6a62e967 Address review comments 2014-09-24 19:35:41 +05:30
Manish Goregaokar
cc44a3b064 Use JSTraceable everywhere 2014-09-24 05:44:49 +05:30
Keegan McAllister
dc86e83654 Eliminate warnings 2014-09-20 13:00:55 -07:00
Keegan McAllister
a640a7c5c3 Upgrade to rustc 0.12.0-pre (4d2af3861 2014-09-17 15:51:11 +0000) 2014-09-20 13:00:06 -07:00
Cameron Zwarich
2c8d51a37c More progress in the &JSRef -> JSRef conversion
Change all of the <Class>Methods traits to take `self` instead of
`&self`.
2014-09-20 11:54:10 -07:00
Adenilson Cavalcanti
7581335232 Move is_void() Element method together with the other struct methods,
it becomes part of ElementHelpers.
2014-09-20 10:24:57 -07:00
Tetsuharu OHZEKI
de0866ab42 Use Untraceable<T> to hold LayoutDataRef instead of manual Encodable implementation. 2014-09-20 15:19:01 +09:00
Cameron Zwarich
4fa8725111 First steps of &JSRef -> JSRef conversion
Replace &JSRef with JSRef in the bulk of the generated code. This will
remove a level of indirection throughout all DOM code.

This patch doesn't change methods implemented on JSRef<T> to take `self`
rather than `&self`, and it leaves a few other uses of &JSRef, but those
changes can be made incrementally.
2014-09-19 13:39:17 -07:00
Josh Matthews
b82c0dced0 Merge pull request #3172 from jdm/devtools
Dump initial prototype of devtools server into the build. Expect lies if...
2014-09-19 09:15:03 -04:00
Cameron Zwarich
176b3f7698 Remove uses of &mut JSRef
Since everything with JSRef happens with interior mutability, it doesn't
make any sense to use an &mut JSRef.
2014-09-18 15:30:38 -07:00
Josh Matthews
fae7ce3c1d Retrieve some basic layout properties for nodes to make the box model somewhat useful. 2014-09-18 15:07:11 -04:00
Josh Matthews
fa57fe890b Enable real DOM inspector support. 2014-09-18 15:06:40 -04:00
Josh Matthews
9607b468bc Revert "script: Use atom comparison in more places, especially for attributes." for persistent test failures.
This reverts commit 874db26104.
2014-09-18 09:20:19 -04:00
Josh Matthews
75caade828 Merge pull request #3358 from jdm/thespicemustnotreflow
Delay initiating layout operations for as long as possible.
2014-09-17 19:09:31 -04:00
Patrick Walton
874db26104 script: Use atom comparison in more places, especially for attributes.
75% improvement in style recalc for Guardians of the Galaxy.
2014-09-17 13:17:12 -07:00
Manish Goregaokar
11ba79894a Merge pull request #3374 from Manishearth/lint_unrooted_jsmanaged
Add lint for ensuring proper rooting of JS<T>; r=jdm
2014-09-17 18:17:19 +05:30
Manish Goregaokar
30014c3919 Make Reflector #[must_root], propagate to non-HTMLElements 2014-09-17 01:02:41 +05:30
Manish Goregaokar
12dc54d238 Add unrooted_must_root lint for enums and structs containing JS<T>, as well as functions with JS<T> in their parameter list
For safe wrappers over JS<T> (eg Temporary<T>) use #[allow(unrooted_must_root)].
For all other types containing a #[must_root] value, annotate the type with #[must_root] to ensure that it is never used unrooted
2014-09-16 22:11:27 +05:30
Josh Matthews
2bd93ed070 Delay initiating layout operations for as long as possible. 2014-09-15 23:16:45 -04:00
Clark Gaebel
acd83ff47b Added a bloom filter to CSS selector matching. 2014-09-15 16:29:45 -07:00
Tetsuharu OHZEKI
b73b06b9a8 Move Attr helper methods to AttrHelpers trait to avoid to touch them from layout task. 2014-09-11 04:54:38 +09:00
Jack Moffitt
c6ab60dbfc Cargoify servo 2014-09-08 20:21:42 -06:00
Renamed from src/components/script/dom/node.rs (Browse further)