Ms2ger
cde01affcd
Use str.to_owned() in tests.
2014-05-04 20:12:58 +02:00
Ms2ger
11ea7d4935
Call find_equiv to avoid allocation strings.
2014-05-04 10:17:32 +02:00
Ms2ger
0ff8610727
Reorder some comparisons to avoid allocating strings for them.
2014-05-04 10:17:06 +02:00
Ms2ger
25542e3f7e
Replace most ~"string"s with "string".to_owned().
2014-05-04 09:39:07 +02:00
Ms2ger
243814022e
Replace all ~"" with "".to_owned().
2014-05-03 22:17:45 +02:00
Josh Matthews
91278da9dd
Address review comments.
2014-05-03 14:18:31 -04:00
Josh Matthews
46a33b4b38
Fix up the virtual method unsoundness.
2014-05-03 14:18:31 -04:00
Josh Matthews
895e9ee37f
Make dictionaries contain Root<T> values instead of JS<T>, ensuring that they will not be collected while the dictionary is alive.
2014-05-03 14:18:31 -04:00
Josh Matthews
0f2d0b1dc3
Address review comments.
2014-05-03 14:18:31 -04:00
Josh Matthews
7b3e6d1f21
Remove all root collections.
2014-05-03 14:18:31 -04:00
Josh Matthews
aaf0a61194
Store per-ScriptTask RootCollection in TLS and use that in favour of per-frame collections.
2014-05-03 14:18:31 -04:00
Josh Matthews
a09a4bd297
Root Temporary values for the duration of their lifetime.
2014-05-03 14:18:31 -04:00
Josh Matthews
522d3f167b
s/Unrooted/Temporary/g
2014-05-03 14:18:31 -04:00
Josh Matthews
bbfed38168
Move stack roots into Root types instead of RootCollection, removing the aribtrary 10 roots per stack frame restriction.
2014-05-03 14:18:31 -04:00
Josh Matthews
8e10daba97
Allow controlling GC zeal via JS_GC_ZEAL environment variable.
2014-05-03 14:18:31 -04:00
Josh Matthews
109410900c
Move all methods on T to JSRef<T> or JS<T> as appropriate.
2014-05-03 14:18:30 -04:00
Josh Matthews
7daa97c7e5
Remove abstract_self.
2014-05-03 14:18:30 -04:00
Josh Matthews
76783b029e
Move WebIDL methods to traits implemented by JSRef types.
2014-05-03 14:18:30 -04:00
Josh Matthews
dfdda0098a
Remove JS::get/get_mut to enforce sound rooting practices.
2014-05-03 14:18:30 -04:00
Josh Matthews
d7b96db33c
Implement safe rooting strategy via Unrooted, Root, JSRef, and JS.
2014-05-03 14:18:30 -04:00
Josh Matthews
ffdc3f5b32
Turn on GC all the time. Fix rooting errors during parsing and storing timers. Fix borrow errors during tracing.
2014-05-03 14:18:30 -04:00
bors-servo
4051a8096d
auto merge of #2302 : Manishearth/servo/attr, r=Ms2ger
2014-05-03 12:31:25 -04:00
Manish Goregaokar
dbf65aee3c
Remove dead code
2014-05-03 21:34:31 +05:30
bors-servo
56fe29dd44
auto merge of #2303 : Manishearth/servo/privtype, r=jdm
2014-05-03 12:01:26 -04:00
Manish Goregaokar
e656f1efff
Fix some private type export warnings
2014-05-03 21:20:44 +05:30
Manish Goregaokar
7ce3c244a2
Use new attribute syntax
2014-05-03 21:13:59 +05:30
bors-servo
09374f07e2
auto merge of #2297 : Ms2ger/servo/fail-owned-str, r=jdm
...
The ~"string" expression is being removed in upstream rust.
2014-05-03 11:25:22 -04:00
bors-servo
897c54351a
auto merge of #2301 : Manishearth/servo/xhr-bytestring, r=Ms2ger
...
I had used DOMString in place of ByteString while implementing the XHR webidl, now that we have ByteString, I'll switch to that.
Blocks #2282
2014-05-03 10:55:28 -04:00
Manish Goregaokar
a4c5df3494
Use ByteString in XHR
2014-05-03 19:39:11 +05:30
Ms2ger
86df4c1fc1
Stop passing owned strings to fail!().
...
The ~"string" expression is being removed in upstream rust.
2014-05-03 12:16:52 +02:00
bors-servo
812d70942f
auto merge of #2295 : Ms2ger/servo/JSCLASS_DOM_GLOBAL, r=jdm
...
It seems unlikely that this will ever be hit, but potentially hard to
figure out if it ever is hit.
2014-05-03 05:37:15 -04:00
Ms2ger
6295feea16
Update rust-opengles.
...
This includes changes to move from ~[T] to Vec<T>.
2014-05-03 11:16:12 +02:00
Ms2ger
599d76fa6e
Add JSCLASS_DOM_GLOBAL to DOM global classes, and assert it is used.
...
It seems unlikely that this will ever be hit, but potentially hard to
figure out if it ever is hit.
2014-05-03 10:37:46 +02:00
bors-servo
53777807f9
auto merge of #2292 : Manishearth/servo/xhr-webidl, r=Ms2ger
...
This just gets a working interface with dummy methods in place that can be built on. I'll implement stuff as we go along.
Blocks #2282
2014-05-03 04:37:11 -04:00
Manish Goregaokar
619da07a4f
Webidl and basic implementation of XHR object
2014-05-03 14:00:20 +05:30
Patrick Walton
3edd8d157c
layout: Guess the width of block formatting contexts so that we can
...
speculatively lay them out in parallel
2014-05-02 18:00:08 -07:00
Patrick Walton
81f5da9dd8
layout: Rewrite display list building to be parallel and to handle
...
overflow correctly, and opportunistically lay out blocks in parallel
even if floats are present.
This commit fixes the `inline-height-test` in Acid2 by implementing
proper overflow as well as the inline "strut". (See CSS 2.1 § 10.8.1.)
Acid2 was accidentally being rendered properly before because tables'
descendant flows were not being laid out properly.
Display list building is now parallel and is done by bubbling up display
items and layers from parent to child. Speedups of around 60%-70% are
observed on Wikipedia with a 4-core HyperThreaded Core i7. More
optimizations are possible; this is just a start.
To minimize the amount of data that needs to be bubbled up, as well as
to make proper handling of `overflow: hidden` clipping easier, the
`StackingContext` abstraction is now purely internal to the display
list. That is, instead of placing items into a stacking context
directly, display items are placed into display lists alongside a
stacking level. When a stacking context is complete, it is flattened
with the the `flatten` method, which shuffles the display items that
make up the context into their proper order while handling clipping
properly.
2014-05-02 16:07:42 -07:00
Patrick Walton
27276c0305
layout: Re-enable parallel layout by removing all RefCell
instances
...
from `Flow`s; in the process, remove `InlineInfo` in favor of the
range-based design that was originally planned and halfway implemented.
Now, the DOM tree structure for inline flows is reflected not by a
series of arrays but instead by a flat list of ranges into the list of
boxes. As part of this, the `border` and `padding` fields, which were
incorrect in the case of inlines and necessitated separate
`noncontent_inline_foo` methods, have been merged into a single
`border_padding` field that is always guaranteed to be correct after
width assignment, even for inlines.
2014-05-02 11:47:08 -07:00
bors-servo
85393c6931
auto merge of #2289 : mbrubeck/servo/zero-geom, r=metajack
...
Depends on mozilla-servo/rust-geom#33 .
2014-05-02 12:49:28 -04:00
Matt Brubeck
4821df6216
Replace Au::zero_* with generic methods
2014-05-02 09:30:57 -07:00
bors-servo
6f31ac2786
auto merge of #2258 : Manishearth/servo/wptupdate, r=jdm
...
Since the manifest is now checked in to the tree, we don't need html5lib unless we want to explicitly update the manifest.
I've added the `--update-manifest` argument to the make target (`export WPTARGS=--update-manifest;make check-wpt`) which triggers the update, installing dependencies if necessary.
2014-05-02 11:34:39 -04:00
Ms2ger
0a476592fc
Update web-platform-tests expectations.
...
The first 11 tests in Event-constructors.html were fixed in #2194 ; the
remaining failure is #2173 . Node-normalize.html was fixed in #2221 .
2014-05-02 16:33:19 +02:00
Tetsuharu OHZEKI
31cf10c006
Node::GetParentElement should use and_then instead of filtered/map.
2014-05-02 13:22:50 +09:00
bors-servo
b36b779d24
auto merge of #2290 : saneyuki/servo/export, r=jdm
...
- Fix #2128
- Take over from #2220
I didn't change `InterfaceTypes.rs` to `type.rs` because `type` is very common name which might be troublesome.
2014-05-01 23:34:39 -04:00
Mike Blumenkrantz
7dcdd1a690
add MPL header
2014-05-01 16:58:33 -04:00
Mike Blumenkrantz
abe5d2e0ab
add start of embedding crate: build system with CEF types
2014-05-01 16:58:33 -04:00
Ms2ger
8c879c8bf8
Implement WebIDL codegen for ByteString.
2014-05-01 22:02:53 +02:00
Ms2ger
541d581c32
Change some isString() checks in the WebIDL codegen to isDOMString() checks.
2014-05-01 21:11:12 +02:00
Ms2ger
05150f82e1
Add missing ByteString support in the WebIDL parser.
2014-05-01 20:58:17 +02:00
Ms2ger
0df5d95eb3
Change some isString() checks in the WebIDL parser to isDOMString() checks.
2014-05-01 20:56:10 +02:00