Michael Booth
2cbf5a3671
Updated reflect_dom_object to be passed by value
2014-11-30 19:47:52 +00:00
Tetsuharu OHZEKI
d53ce7f8d2
Remove Node.eventtarget().
2014-11-28 06:02:21 +09:00
Rohan Prinja
4b754bd457
implement Document#createAttribute
2014-11-23 14:51:04 +05:30
Ms2ger
859f14f38b
Correct the checks in step 5 of Node::pre_insert.
2014-11-16 12:40:42 +01:00
Jack Moffitt
d1b433a3b3
Rust upgrade to rustc hash b03a2755193cd756583bcf5831cf4545d75ecb8a
2014-11-13 11:17:43 +10:00
Ms2ger
82ff32a710
Pass the correct argument to Element::create when cloning.
...
The current code calls as_slice() on the Option, yielding &[DOMString], and
then calls to_string, yielding "[prefix]".
2014-11-05 20:51:41 +01:00
bors-servo
69f8b46f36
auto merge of #3835 : pcwalton/servo/script-microoptzns, r=Ms2ger
...
This is a grab bag of various microoptimizations for script that I came across when profiling our performance on RoboHornet.
r? @jdm
2014-11-03 15:48:34 -07:00
Martin Robinson
2d72f00ccf
Have ContentBox(es)Queries consult the flow tree
...
Instead of looking at the display tree, have ContentBox(es)Query consult
the flow tree. This allow optimizing away parts of the display tree
later. To do this we need to be more careful about how we send reflow
requests, only querying the flow tree when possible.
Fixes #3790 .
2014-11-03 10:30:28 -08:00
Ms2ger
68f3daa7ef
Simplify the implementation of NodeIterator::next_child.
2014-11-02 21:28:06 +01:00
Ms2ger
cb68fbd68e
Simplify the implementation of NodeHelpers::child_elements.
2014-11-02 21:26:59 +01:00
Patrick Walton
b245a2475f
script: Fix busted document fragment appending code
2014-10-31 10:24:49 -07:00
Bruno de Oliveira Abinader
d5d4d0bec4
s/peek().is_some()/!is_empty()/
2014-10-31 11:17:08 -04:00
Bruno de Oliveira Abinader
11d2251b1e
ChildElementIterator is now peekable
2014-10-31 10:52:39 -04:00
Bruno de Oliveira Abinader
eb1ef59aee
s/AbstractNodeChildrenIterator/NodeChildrenIterator/
2014-10-31 10:52:02 -04:00
Ms2ger
82216fd5c0
Move build_element_from_tag out of the HTML parser.
...
This function is not particular to the parser, so should live in the DOM.
2014-10-30 18:03:19 +01:00
Matt Brubeck
598150ea78
Implement cloning steps for script element
2014-10-29 14:31:47 -07:00
Matt Brubeck
fe123ad07c
Switch to synchronous script loading
...
This removes the old code for asyncronously loading scripts during HTML
parsing and then executing them afterward.
Fixes #3356 .
2014-10-29 14:31:47 -07:00
Patrick Walton
8ab354ac08
script: Don't create a temporary vector on the heap when inserting
...
non-fragment nodes.
2014-10-28 11:18:43 -07:00
Patrick Walton
6a7a96a86c
script: Don't dirty nodes that are already dirty.
2014-10-28 11:17:26 -07:00
Patrick Walton
e034c1cee2
script: Use String::new()
instead of the formatting infrastructure
...
when constructing DOM unique IDs.
This was showing up in the RoboHornet profile.
2014-10-28 11:16:20 -07:00
Clark Gaebel
a8f80b89f4
layout: Implement flow tree dumping with RUST_LOG=debug is on.
...
r? @pcwalton
2014-10-28 10:14:12 -07:00
Ray Clanan
85f746f9b9
Rename untraceable!() to no_jsmanaged_fields!(). References issue #3671
2014-10-23 21:33:32 -04:00
Josh Matthews
539c21f380
Implement Document.readyState. Prevent iframes from notifying the compositor after the initial parse. Fixes #1720 . Fixes #3738 .
2014-10-23 10:55:59 -04:00
Edit Balint
daf9e59869
Make DOM getters that return &JS<T> return Temporary<T> instead #3707
2014-10-22 19:05:25 +02:00
Tetsuharu OHZEKI
7e7c610837
Use DOMRefCell for Node.
...
Altough LayoutDataRef is touched, we don't use DOMRefCell in it becasuse
it's expected to manipulate in other task.
2014-10-22 10:01:01 +09:00
Clark Gaebel
a5bb2f299f
more efficient preorder DOM traversals
2014-10-21 10:01:15 -07:00
Keegan McAllister
9da7679367
Use html5ever for HTML parsing
2014-10-16 13:06:34 -07: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
Manish Goregaokar
3f2cbb275b
Use #[dom_struct] everywhere
2014-10-16 10:20:18 +05:30
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
56989b8dec
auto merge of #3640 : cgaebel/servo/incremental-flow-construction, r=pcwalton
...
This also hides the not-yet-working parts of incremental reflow behind a runtime
flag. As I get the failing reftests passing, I'll send pull requests for them one
by one.
2014-10-14 16:51:30 -06:00
Clark Gaebel
f552e2f750
try to reset flows which need reflow, since reflow isn't yet idempotent
2014-10-14 10:33:46 -07:00
Patrick Walton
ee2ccc4f87
script: Use atom comparison in more places, especially for attributes.
...
75% improvement in style recalc for Guardians of the Galaxy.
2014-10-14 10:32:40 -07:00
Tim Taubert
cbe50f1f14
Privatize Element
2014-10-13 13:25:44 +02:00
Tim Taubert
28061b1c91
Privatize Node
2014-10-13 13:25:44 +02:00
Tim Taubert
8825296869
Privatize Document
2014-10-13 13:25:43 +02:00
Tim Taubert
d0addd36bb
Privatize ProcessingInstruction
2014-10-13 13:25:43 +02:00
Tim Taubert
df60f8b2c5
Privatize EventTarget and EventListenerEntry
2014-10-13 13:25:43 +02:00
Tim Taubert
ba073d7e99
Privatize DocumentType
2014-10-13 13:25:43 +02:00
Tim Taubert
e15f8cb37f
Privatize Comment
2014-10-13 13:19:05 +02:00
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