Commit graph

3170 commits

Author SHA1 Message Date
Mathieu Hordesseaux
322b120f8a Implement SetNamedItem, SetNamedItemNS, SetAttributeNode and SetAttributeNodeNS 2016-01-28 12:35:44 +01:00
Simon Sapin
9abbd1b5d1 Sequentialize assign_block_size for flows that can be fragmented.
Fragmentation will be intertwined with block size calculation.
2016-01-28 09:42:17 +01:00
bors-servo
bc44ae679f Auto merge of #9401 - glennw:raf-timing, r=jdm
Fixes additional calls to rAF.

Often, a rAF callback will request another rAF from the callback itself.

Previously, the constellation would quickly receive two messages saying
that there were no animations, and then there are animations again in the
situation above. This would make the compositor tick the new animation straight
away, causing strange fluctuations and timings in rAF callbacks.

Instead, only send the NoAnimationCallbacks message if the animation
callback queue is still empty after invoking the callbacks.

This fixes rAF timing, which now runs at the correct (vsync) framerate.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9401)
<!-- Reviewable:end -->
2016-01-28 11:18:24 +05:30
bors-servo
0fa9d32c69 Auto merge of #9421 - jdm:iframe-painting-after-navigation-redux, r=jdm
compositing: Fix a couple of bugs that prevented iframes from painting after navigation.

The first bug was that iframes were not reflowed in their parent DOM when the child page navigated. This is fixed by simply having the constellation notify the appropriate script thread when navigation occurs.

The second bug was that the compositor was unable to adjust the pipeline for existing iframe layers, only new ones. This patch adds logic to do that.

The third bug was that we have ad-hoc reflow calls throughout script/, and we didn't trigger any reflow from the code that dispatches the `load` event for the iframe so the test for the first two issues would always time out. The second commit adds another reflow call to do that, and also bites the bullet and adds a catch-all reflow (which does nothing if there's no dirty nodes in the document) at the return to the event loop.

Closes #8081.

Extension of #9285.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9421)
<!-- Reviewable:end -->
2016-01-28 04:55:04 +05:30
Florian Strübe
e65d7251f7 Improved .find().map() 2016-01-27 23:24:32 +01:00
Simon Sapin
da2b4ab381 Disable incremental reflow for multicol and their descendants.
Fragmentation with dynamic updates is hard.
2016-01-27 17:33:12 +01:00
bors-servo
8c0736211b Auto merge of #9378 - paulrouget:removeProperty, r=KiChjang
Invalidate node style after style property removed

Fix #9377

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9378)
<!-- Reviewable:end -->
2016-01-27 16:43:30 +05:30
Paul Rouget
6d7dc0b905 Invalidate node style after style property removed 2016-01-27 07:43:23 +01:00
Glenn Watson
de81d88324 Add comment to explain callback ordering 2016-01-27 09:25:20 +10:00
Josh Matthews
7eca462c5a Make iframe's load event trigger a reflow of the enclosing window. Add a catch-all reflow for all same-origin pages sharing an event loop.a 2016-01-26 16:37:23 -05:00
Patrick Walton
e5a1af5b7a compositing: Fix a couple of bugs that prevented iframes from painting
after navigation.

The first bug was that iframes were not reflowed in their parent DOM
when the child page navigated. This is fixed by simply having the
constellation notify the appropriate script thread when navigation
occurs.

The second bug was that the compositor was unable to adjust the pipeline
for existing iframe layers, only new ones. This patch adds logic to do
that.

Closes #8081.
2016-01-26 16:37:23 -05:00
Florian Strübe
6fef891ab8 Use .find().map() instead of .filter_map().next() in URLSearchParams::Get 2016-01-26 21:50:31 +01:00
bors-servo
a75f2cecda Auto merge of #9419 - psdh:includeTypedef, r=nox
generate typedefs in CodegenRust.

fixes #9384

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9419)
<!-- Reviewable:end -->
2016-01-26 22:10:57 +05:30
Prabhjyot Singh Sodhi
d6df844ae5 generate typedefs in CodegenRust 2016-01-26 21:56:44 +05:30
Michael Rosenberg
1f45eaf8a1 For WebIDL interfaces without constant members, do not generate a 'Constant' module 2016-01-26 02:50:53 -05:00
Joshua Holmer
f0765890fe Implement console#time and console#timeEnd methods
Fixes #9325
2016-01-25 14:21:32 -05:00
bors-servo
e74021baaa Auto merge of #9400 - jmr0:websocket, r=nox
Fixing websocket subprotocol header validation

This takes care of https://github.com/servo/servo/issues/9034

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9400)
<!-- Reviewable:end -->
2016-01-25 17:01:39 +05:30
jmr0
3846cf52f2 fix websocket header validation, ensure it meets token requirements, add
testing
2016-01-24 18:31:21 -05:00
Keith Yeung
9e3af70941 Implement RadioNodeList 2016-01-24 13:05:47 -05:00
nxnfufunezn
e54929b4d7 Move ConstantSpec, NonNullJSNative and define_constants from utils to interface 2016-01-24 20:37:30 +05:30
Joshua Holmer
75d258f866 Update HTMLFormElement.length to be of type unsigned long
Fixes #9402
2016-01-22 12:09:12 -05:00
Glenn Watson
dfaf28d5cd Fixes additional calls to rAF.
Often, a rAF callback will request another rAF from the callback itself.

Previously, the constellation would quickly receive two messages saying
that there were no animations, and then there are animations again in the
situation above. This would make the compositor tick the new animation straight
away, causing strange fluctuations and timings in rAF callbacks.

Instead, only send the NoAnimationCallbacks message if the animation
callback queue is still empty after invoking the callbacks.

This fixes rAF timing, which now runs at the correct (vsync) framerate.
2016-01-22 16:08:28 +10:00
bors-servo
1c6fb0f04e Auto merge of #9367 - Chandler:url_origin, r=jdm
Add origin to Location and Url API.

The origin field is part of location and url spec but hasn't been implemented in servo yet.
https://html.spec.whatwg.org/multipage/browsers.html#dom-location-origin
https://url.spec.whatwg.org/#dom-url-origin

All of the logic to calculate the url origin exists in https://github.com/servo/rust-url

This review threads through rust-url origin implementation into the servo location and url API.

This fixes one websockets test:
servo/tests/wpt/web-platform-tests/websockets/opening-handshake/003.html

testing done:
./mach test-wpt tests/wpt/web-platform-tests/websockets/

I'm brand new to rust so feedback is appreciated, thanks!

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9367)
<!-- Reviewable:end -->
2016-01-22 04:25:49 +05:30
Chandler Abraham
1ee9ccba21 add origin to location and url api 2016-01-21 11:06:41 -08:00
bors-servo
52da517a14 Auto merge of #9393 - Ms2ger:renumber-prepare, r=jdm
Update HTMLScriptElement::prepare to match the changed specification.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9393)
<!-- Reviewable:end -->
2016-01-21 23:31:18 +05:30
bors-servo
262974cb11 Auto merge of #9396 - psdh:fixwebidltests, r=Ms2ger
update tests for WebIDL.py from mozilla-central

Fixes #9388

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9396)
<!-- Reviewable:end -->
2016-01-21 22:00:22 +05:30
Prabhjyot Singh Sodhi
da40818f25 update to latest tests 2016-01-21 21:53:47 +05:30
Ms2ger
678cb9da84 Update HTMLScriptElement::prepare to match the changed specification. 2016-01-21 11:54:41 +01:00
Lanza
cfc3500dbf Implement HTMLDetailsElement. Fixes #9216 2016-01-20 16:15:37 +01:00
James Sanders
482d23bb19 Fix test-tidy errors 2016-01-18 17:50:25 -07:00
James Sanders
d121958a17 Make closing related code more clear and more correct 2016-01-18 17:37:16 -07:00
bors-servo
03a0b73538 Auto merge of #9360 - jsanders:accept-protocols-sequence, r=KiChjang
Accept WebSocket protocols as string or sequence

Fixes #9053

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9360)
<!-- Reviewable:end -->
2016-01-19 02:18:28 +05:30
Ms2ger
ff0992401e Remove remaining reference to the long-disappeared JSRef type. 2016-01-18 09:52:23 +01:00
James Sanders
0bffffd8f5 Make WebSocket constructor take (DOMString or sequence<DOMString>) 2016-01-17 21:33:04 -07:00
St.Spyder
763b99258f Update XHR BodyInit, update extract method impl 2016-01-18 02:26:13 +05:30
bors-servo
7f16b4e47b Auto merge of #9348 - therealkbhat:script-cleanup, r=Wafflespeanut
Remove unused imports in script

Fixes #9345.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9348)
<!-- Reviewable:end -->
2016-01-18 00:36:34 +05:30
bors-servo
7ae16c7ea3 Auto merge of #9294 - KiChjang:xhr-usvstring, r=nox
Change all DOMStrings to USV strings for XHR

This is in compliance with the new spec [here](https://xhr.spec.whatwg.org/#xmlhttprequest).

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9294)
<!-- Reviewable:end -->
2016-01-17 19:40:46 +05:30
bors-servo
557d79bb87 Auto merge of #9194 - nerith:info, r=nox
Remove the w3c link for the Event interface

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9194)
<!-- Reviewable:end -->
2016-01-17 18:58:42 +05:30
bors-servo
a4e805d909 Auto merge of #9337 - fmmartins:urlsearchparams-getall, r=nox
Implement URLSearchParams::getAll

Fixes #5439.

Please tell me if anything is wrong or needs some change!

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9337)
<!-- Reviewable:end -->
2016-01-17 18:13:17 +05:30
bors-servo
2f0daa1d47 Auto merge of #9304 - ecoal95:sequence-in-unions, r=nox
webidl: Implement sequences in unions

Unblocks #9053

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9304)
<!-- Reviewable:end -->
2016-01-17 17:19:49 +05:30
Kishor Bhat
1ca2073979 Remove unused imports in script 2016-01-17 12:41:28 +05:30
bors-servo
5a954d2492 Auto merge of #9334 - MonsieurLanza:DomContentLoadedBubbles, r=KiChjang
DOMContentLoaded event should be trusted

Hopefully resolves #9332.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9334)
<!-- Reviewable:end -->
2016-01-16 22:14:38 +05:30
bors-servo
9118b64b4b Auto merge of #9263 - DarinM223:move_mousebutton, r=KiChjang
Moved MouseButton from msg to script_traits

Fixes #9250

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9263)
<!-- Reviewable:end -->
2016-01-16 19:34:51 +05:30
Keith Yeung
a64f832e57 Change all DOMStrings to USV strings for XHR 2016-01-16 08:51:34 -05:00
Lanza
27b78f3b84 Use fire_event instead of DispatchEvent to make DOMContentLoaded trusted
Removed unused import.

Update expectations for EventTarget#dispatchEvent()
2016-01-16 14:12:38 +01:00
Fernando Martins
29b14d4b3d Implement URLSearchParams::getAll 2016-01-15 22:40:55 +00:00
Emilio Cobos Álvarez
950821989f webidl: Refactor isSequence in getJSToNativeConversionInfo
That way it does not depend on the return value for the same type.

This hopefully makes the code more clear, and avoids errors if something
changes in the future (for example, we could want to pass slices as
sequence arguments).
2016-01-15 14:30:38 +01:00
Emilio Cobos Álvarez
8859c617a8 webidl: Add test for interface and sequence in the same union 2016-01-15 14:20:23 +01:00
Emilio Cobos Álvarez
a76efa5eca webidl: Add test for interface sequences
Sequence interfaces return values worked before, but had no test.

Sequence interface arguments didn't work until the previous commit.
2016-01-15 14:20:22 +01:00
Emilio Cobos Álvarez
3327f00bce script: Implement FromJSValConvertible for Root<T> 2016-01-15 13:51:05 +01:00