Commit graph

4970 commits

Author SHA1 Message Date
Ms2ger
f3faaa6b01 Define share_style_if_possible on LayoutElement. 2015-10-19 15:01:29 +02:00
Ms2ger
e6e514c89a Rewrite ParallelPostorderDomTraversal::run_parallel to avoid some unnecessary conversions between LayoutNode and UnsafeLayoutNode. 2015-10-19 15:01:28 +02:00
Ms2ger
3597c463b5 Don't create a LayoutContext in ParallelPostorderDomTraversal::run_parallel. 2015-10-19 15:01:27 +02:00
Ms2ger
604601f1f4 Return the result from match_element rather than using an outparam. 2015-10-19 15:01:27 +02:00
Ms2ger
5c7dc4c633 Define match_node on LayoutElement as match_element. 2015-10-19 15:01:26 +02:00
Ms2ger
a9f75b7c4f Define share_style_with_candidate_if_possible on LayoutElement. 2015-10-19 14:59:18 +02:00
Ms2ger
e5df6fa753 Improve code flow in share_style_if_possible. 2015-10-19 14:59:17 +02:00
bors-servo
50ad1b064d Auto merge of #8071 - romankl:gh/8063, r=nox
remove unused methods from ThreadSafeLayoutNode

`get_input_size ` and `get_input_value ` aren't used in the codebase.

Ref.-Issue: #8063

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8071)
<!-- Reviewable:end -->
2015-10-19 04:32:34 -06:00
bors-servo
ff2151b8bb Auto merge of #7935 - bholley:eventstate_element, r=nox
Move event state from Node to Element

Just getting my feet wet with Rust here. Please feel free to nit the hell out of it stylistically and idiomatically. :-)

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7935)
<!-- Reviewable:end -->
2015-10-19 02:47:21 -06:00
Roman Klauke
b5439a7c61 remove unused methods from ThreadSafeLayoutNode
`get_input_size ` and `get_input_value ` aren't used in the codebase.

Ref.-Issue: #8063
2015-10-18 22:17:34 +02:00
bors-servo
b847e4dd77 Auto merge of #8059 - frewsxcv:fix-codegen-docs, r=jdm
Fix formatting for variable in doc-comment within codegen



<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8059)
<!-- Reviewable:end -->
2015-10-18 07:55:48 -06:00
bors-servo
23fa9de714 Auto merge of #8038 - martiansideofthemoon:my-code-fix, r=jdm
Adding window.onstorage WindowEventHandler

Well it built successfully this time around 😄 @jdm . Working to solve #7994

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8038)
<!-- Reviewable:end -->
2015-10-17 22:36:13 -06:00
Till Schneidereit
4c1c05fac6 Improve implementation of DOMRect and implement DOMRectReadOnly
Passes most tests from test-css.
2015-10-17 22:47:01 +02:00
Corey Farwell
26abff9663 Fix formatting for variable in doc-comment within codegen 2015-10-17 15:20:12 -04:00
Corey Farwell
1f58169263 Implement HTMLTableRowElement insertCell and deleteCell 2015-10-17 00:07:22 -04:00
Bobby Holley
ac8d57cda7 Move what is now an |impl Element| block to element.rs.
This is a simple cut/paste.
2015-10-16 17:56:32 -07:00
Bobby Holley
75ec093334 Move Event States to |Element|.
Conceptually they belong there, rather than on |Node|.

Fixes #7934.
2015-10-16 17:56:31 -07:00
bors-servo
7a71f39320 Auto merge of #8031 - creativcoder:spec-links-js, r=jdm
added spec link for type mapping

Hi. added some of the spec links, that i could understand from the spec. Please mention if anything else needs to be added.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8031)
<!-- Reviewable:end -->
2015-10-16 13:38:30 -06:00
bors-servo
0e4abddd37 Auto merge of #7947 - jimberlage:7856/buffered-amount, r=jdm
Adds bufferedAmount to Websocket (fixes #7856).

This adds a readonly bufferedAmount attribute to Servo's websocket implementation.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7947)
<!-- Reviewable:end -->
2015-10-16 12:56:44 -06:00
bors-servo
90dd3cdc09 Auto merge of #8023 - mrobinson:zindex, r=pcwalton
Z-index should be ignored for non-positioned stacking contexts

When a stacking-context is not positioned, its z-index should be
ignored. This is per CSS 2 9.9.1. The only exception to this is when
the z-index is applied to an element with display: flex | inline-flex.
inline-flex does not appear to be implemented at this time so we only
do this for flex.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8023)
<!-- Reviewable:end -->
2015-10-16 12:13:49 -06:00
Martin Robinson
f2a66af463 Z-index should be ignored for non-positioned stacking contexts
When a stacking-context is not positioned, its z-index should be
ignored. This is per CSS 2 9.9.1. The only exception to this is when
the z-index is applied to an element with display: flex | inline-flex.
inline-flex does not appear to be implemented at this time so we only
do this for flex.
2015-10-16 10:36:13 -07:00
bors-servo
96ca6b6c6d Auto merge of #8035 - sliz1:issues/8028, r=Manishearth
Issue 8028: `parse_html` should take `Url` rather than `&Url`

fixes #8028

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8035)
<!-- Reviewable:end -->
2015-10-16 11:24:08 -06:00
bors-servo
724d4e191b Auto merge of #8043 - eefriedman:async-listener-mut, r=jdm
Make AsyncResponseListener methods take `&mut self`

Gets rid of a bunch of useless `Cell`/`RefCell` types.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8043)
<!-- Reviewable:end -->
2015-10-16 08:49:13 -06:00
bors-servo
7c7dbde0f4 Auto merge of #8026 - eefriedman:js-rooting, r=nox
Fix uses of JS<T> as a type on the stack

`JS<T>` belongs on the heap, and only on the heap.  This is a collection of fixes so that code uses either `Root<T>` or `&T` to pass around garbage-collected pointers.

Ideally, we could completely ban constructing a `JS<T>` outside of constructor functions, but we aren't quite there yet.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8026)
<!-- Reviewable:end -->
2015-10-16 08:05:59 -06:00
Ms2ger
1f03ce1b1f Enable some warnings for generated code.
None of those warnings currently occur.
2015-10-16 12:07:57 +02:00
Eli Friedman
827f2b873c Simplify AsyncResponseListener implementations. 2015-10-15 16:53:47 -07:00
Eli Friedman
c1aff0b678 Make AsyncResponseListener methods take &mut self. 2015-10-15 16:44:39 -07:00
Jim Berlage
380a9ce22b Adds bufferedAmount to Websocket (fixes #7856). 2015-10-15 17:06:24 -05:00
KALPESH KRISHNA
a183eacb63 Adding window.onstorage EventHandler 2015-10-16 02:37:27 +05:30
Eli Friedman
9de42c8935 Simplify extracting a reference from an Option<Root<T>>, per review comments. 2015-10-15 14:03:58 -07:00
Eli Friedman
5713867778 Fix documentation for JS<T> and friends. 2015-10-15 14:03:57 -07:00
Eli Friedman
5bdf6bb1d3 Fix remaining MutHeap methods not to expose JS<T>. 2015-10-15 14:03:57 -07:00
Eli Friedman
57584e74c6 Make get() and set() on MutNullableHeap use the correct types.
get() must always return a rooted value, because we have no way of
ensuring the value won't be invalidated. set() takes an &T because it's
convenient; there isn't any need to expose JS<T>.
2015-10-15 14:03:56 -07:00
Eli Friedman
7a08b29201 Don't use MutNullableHeap in HTMLCanvasElement.
MutNullableHeap is going away in favor of MutNullableHeapJS.
2015-10-15 14:03:55 -07:00
Eli Friedman
2d3c3ece97 Don't return a JS<T> from bound_texture_for/
It's never correct to return a JS<T>.  Maybe the lint should catch this?
2015-10-15 14:03:55 -07:00
Eli Friedman
88a1cbb28b Stop implementing Copy for JS<T>.
A copy of a JS<T> doesn't have the rooting properties of the original,
so it makes no sense for it to implement Copy.
2015-10-15 14:02:45 -07:00
Manish Goregaokar
8819f0d8b8 Update script to work with lint changes 2015-10-16 01:20:27 +05:30
Manish Goregaokar
7022bedba3 Fix unrooted_must_root lint to handle arguments/return types properly (fixes #8022) 2015-10-16 01:15:28 +05:30
bors-servo
417cf5738e Auto merge of #8020 - nox:codegen-derived, r=Ms2ger
Generate all Derived implementations in codegen

Follow-up of #7873.

@Ms2ger r? :)

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8020)
<!-- Reviewable:end -->
2015-10-15 12:53:08 -06:00
Stephen Li
e83d5a9669 Issue 8028: parse_html should take Url rather than &Url 2015-10-15 13:48:29 -04:00
Anthony Ramine
7d6ea83479 Explicitly customise flags of new nodes where needed
Given codegen now generates the various TypeId enums, it seems pointless to
still have to write their respective values in every DOM struct inheriting from
Node just to set the initial IS_IN_DOC flag in Document and IN_ENABLED_STATE in
form controls.
2015-10-15 17:30:41 +02:00
Rahul Sharma
1141f00212 added spec link for type mapping 2015-10-15 19:28:56 +05:30
bors-servo
5a0a91eba7 Auto merge of #7972 - nox:codegen-heapsize, r=Ms2ger
Introduce DOMClass::heap_size_of

It holds a function pointer to the HeapSizeOf::heap_size_of_children()
implementation corresponding to that IDL interface.

This removes the need for a clumsly TypeId-based match expression in the
former heap_size_of_eventtarget() function.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7972)
<!-- Reviewable:end -->
2015-10-15 07:13:55 -06:00
bors-servo
ac73374609 Auto merge of #8009 - glennw:webdriver-subpage, r=jdm
Remove webdriver use of SubpageId



<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8009)
<!-- Reviewable:end -->
2015-10-14 18:05:17 -06:00
bors-servo
4f767430a4 Auto merge of #7894 - Yoric:image-url, r=glennw
Rework image_cache_task to avoid using `url` as key during the loadin…

…g of an image.

A `url` can be very large, in particular if it is a data: url, so using it as a key for lookups whenever we load a few bytes is not a very good idea. This patch introduces an intermediate `LoadKey` (internally, an u64) that makes hashmap lookups faster. Somewhere along the way, we also get rid of a few calls to `url.clone()`.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7894)
<!-- Reviewable:end -->
2015-10-14 17:26:48 -06:00
bors-servo
35d1b13b72 Auto merge of #7993 - connorimes:energymon-arm-updates, r=larsbergstrom
Update energymon-sys and energymon-default-sys versions

Includes build script updates to support Rust linking to static libs on ARM systems as well as some changes to ODROID Smart Power and RAPL energymon implementations.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7993)
<!-- Reviewable:end -->
2015-10-14 15:26:51 -06:00
Glenn Watson
ed72e5766b Remove webdriver use of SubpageId 2015-10-15 07:11:31 +10:00
bors-servo
b34fd5bd7e Auto merge of #7727 - michaelwu:update-bindings, r=jdm
Support the updated spidermonkey bindings

Still need to finish the rust-mozjs update and make cargo use it, but it's close enough that I don't expect much to change on the servo side.

Some changes here
- bools are properly translated now
- char16_t is handled as u16 now
- JS_GlobalObjectTraceHook isn't mangled now
- JSJitInfo has been adjusted
- A const fn is used to generate bitfields in JSJitInfo
- Manually generating handles now requires calling an unsafe function. It's not actually required, but it's too much of a hassle to generate them manually now due to bindgen++ adding base classes now.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7727)
<!-- Reviewable:end -->
2015-10-14 14:48:44 -06:00
Anthony Ramine
617fc08783 Generate all Derived implementations in codegen 2015-10-14 22:04:20 +02:00
Anthony Ramine
da67630931 Introduce DOMClass::heap_size_of
It holds a function pointer to the HeapSizeOf::heap_size_of_children()
implementation corresponding to that IDL interface.

This removes the need for a clumsly TypeId-based match expression in the
former heap_size_of_eventtarget() function.
2015-10-14 21:52:16 +02:00