Commit graph

8287 commits

Author SHA1 Message Date
bors-servo
1b08211a5e Auto merge of #5806 - nox:splittext, r=Ms2ger
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/5806)
<!-- Reviewable:end -->
2015-04-23 09:38:48 -05:00
Anthony Ramine
163d97d270 Implement Text.splitText() 2015-04-23 16:36:50 +02:00
Glenn Watson
d8aef7208e Refactored image cache task - details below.
* Simpler image cache API for clients to use.
 * Significantly fewer threads.
   * One thread for image cache task (multiplexes commands, decoder threads and async resource requests).
   * 4 threads for decoder worker tasks.
 * Removed ReflowEvent hacks in script and layout tasks.
   * Image elements pass a Trusted<T> to image cache, which is used to dirty nodes via script task. Previous use of Untrusted addresses was unsafe.
   * Image requests such as background-image on layout / paint threads trigger repaint only rather than full reflow.
 * Add reflow batching for when multiple images load quickly.
   * Reduces the number of paints loading wikipedia from ~95 to ~35.
 * Reasonably simple to add proper prefetch support in a follow up PR.
 * Async loaded images always construct Image fragments now, instead of generic.
   * Image fragments support the image not being present.
 * Simpler implementation of synchronous image loading for reftests.
 * Removed image holder.
 * image.onload support.
 * image NaturalWidth and NaturalHeight support.
 * Updated WPT expectations.
2015-04-23 09:40:24 +10:00
bors-servo
e278e5b9a2 Auto merge of #5757 - mmatyas:canvas_globalcomposite, r=jdm
Implements https://html.spec.whatwg.org/multipage/scripting.html#dom-context-2d-globalcompositeoperation.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/5757)
<!-- Reviewable:end -->
2015-04-22 14:15:28 -05:00
Mátyás Mustoha
a8343a0750 Canvas: implement global composition and blending. 2015-04-22 20:54:27 +02:00
bors-servo
9ae3cad31e Auto merge of #5781 - jdm:reparent, r=Ms2ger
Fixes html5test.com.

r? @Ms2ger

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/5781)
<!-- Reviewable:end -->
2015-04-22 13:01:32 -05:00
nithin murali
c5e101b6e5 Implement child reparenting and node removal during parsing. 2015-04-22 13:47:28 -04:00
Mátyás Mustoha
6fd6eefb35 Canvas: add clipping path support. 2015-04-22 16:25:02 +02:00
bors-servo
c8cb62058c Auto merge of #5761 - dhananjay92:Issue#5754, r=jdm
Solves Issue #5754.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/5761)
<!-- Reviewable:end -->
2015-04-21 12:25:42 -05:00
Dhananjay Nakrani
72ab06a6ec Add test for createDocument(). [Issue#5754]. 2015-04-21 10:13:55 -07:00
Mátyás Mustoha
5287cb7fba Canvas: implement rectangle drawing. 2015-04-21 15:21:30 +02:00
bors-servo
e4b620ea54 Auto merge of #5652 - dmarcos:webgl, r=jdm
@jdm @ecoal95 I'm working on making VR happen in the Browser and I want to bring to Servo the [webVR APIs](https://github.com/MozVR/webvr-spec/blob/master/webvr.idl) we already have in Gecko. Before anything happens we need a working implementation of WebGL (and also the [fullscreen API](https://fullscreen.spec.whatwg.org/)). My implementation is very basic and probably naive (I just recently started to contribute to Servo). My patch is just a starting point: 

- It only implements ```clearColor``` and ```clear``` methods of the [WebGL spec](https://www.khronos.org/registry/webgl/specs/latest/).
- It uses the readback strategy that ```canvasRenderingContext2D``` is using (The webgl task paints stuff independently on it's own buffer and the compositor task request the pixels back to the webgl task when it needs them) I'm sure there are much better ways to handle this. Latency and FPS are critical in VR so we have to figure out the fastest way to push pixels to the screen. I've read something about layerizing the canvas but I'm still not sure what that even means :)
- There's an included test you can try ```./mach run tests/ref/webgl-context/clearcolor.html``` 

@ecoal95 I know you'll be working on this for the next three months. With a foundation in place we will be able to make quick progress in parallel. This is exciting!

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/5652)
<!-- Reviewable:end -->
2015-04-20 19:29:02 -05:00
Josh Matthews
a1c4f49da8 Disable intermittently-passing test pending further investigation. #5764 2015-04-20 19:54:38 -04:00
Diego Marcos
c82485874d Kicks off a WebGL implementation 2015-04-20 14:29:39 -07:00
Ms2ger
dd9351d722 Parse attributes according to the specification in AttrValue::from_u32.
This exposes another bug: "-0" failed to parse with str.parse(), and is now
successfully parsed into 0. However, input.size and textarea.{rows, cols} are
supposed to be "limited to only non-negative numbers greater than zero", so 0
is not actually supposed to be accepted.
2015-04-20 10:51:44 +02:00
Mátyás Mustoha
5b8416a2b6 Canvas: implement context state save/restore. 2015-04-19 21:12:13 +02:00
Ms2ger
0042f78aa7 Use get_attr_for_layout in get_classes_for_layout.
This fixes a bug with elements with multiple class attributes. In this case,
the class attribute in the null namespace would only be considered if it was
the first class attribute in the list.
2015-04-18 17:51:03 +02:00
Ms2ger
21d3ddabbf Add a test for the class selector with multiple class attributes. 2015-04-18 17:50:25 +02:00
Ms2ger
25e8bc8ed8 Move the lookupPrefix content test. 2015-04-17 13:53:18 +02:00
bors-servo
4fd4370a96 Auto merge of #5721 - nox:nodeorstring, r=jdm
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/5721)
<!-- Reviewable:end -->
2015-04-16 14:47:32 -05:00
Anthony Ramine
45e1b9628e Finish implementation of ChildNode and ParentNode 2015-04-16 20:31:34 +02:00
Ms2ger
9df501afd9 Fix URLSearchParams formatting. 2015-04-16 19:36:31 +02:00
bors-servo
0307caa4bb Auto merge of #5715 - Ms2ger:wpt_20150416, r=jdm 2015-04-16 12:03:54 -05:00
Ms2ger
2d49203b9c Update web-platform-tests to revision 000905d008db2538360020335bc2dbba16d322b5. 2015-04-16 18:58:53 +02:00
Josh Matthews
61891843ff Disable intermittently passing test pending further investigation. #5714 2015-04-16 11:52:00 -04:00
Ms2ger
4cc4e210b4 Move disabled content tests under wpt. 2015-04-16 11:09:55 +02:00
Ms2ger
48ac95c171 Move content tests into the Servo wpt tree (fixes #5686). 2015-04-15 22:08:38 +02:00
Mátyás Mustoha
ccfff159e7 Canvas: added lineCap and lineJoin support. 2015-04-14 18:26:41 +02:00
bors-servo
f7c3544d75 Auto merge of #5659 - aneeshusa:add-range-errors-use-for-textencoder-textdecoder, r=jdm
Fixes #5620, and adds a few extra test cases.

Currently waiting on a few upstream PRs in rust-encoding to land.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/5659)
<!-- Reviewable:end -->
2015-04-14 09:44:21 -05:00
Ms2ger
a471704107 Introduce a Servo-only tree under web-platform-tests. 2015-04-14 15:45:04 +02:00
Ms2ger
8edd4e5ec5 Add some missing colons to wpt's readme. 2015-04-14 15:45:00 +02:00
Aneesh Agrawal
97301400a5 Throw RangeErrors in TextEncoder/TextDecoder constructors.
Fixes #5620.
Fix the TODOs and FIXMEs to comply with the spec.
Add test case for passing invalid invalid labels.
Update test metadata; three test cases have been resolved upstream and
will be fixed whenever the rust-encoding dependency is sufficiently upgraded.
2015-04-14 09:41:57 -04:00
Chris Paris
98e2dc5df7 Uncomment NodeFilter constants 2015-04-13 10:13:06 -10:00
josiahdaniels
c54c7ccd7f Enable getElementsByClassName-31.htm test 2015-04-12 00:47:09 -04:00
Matt Brubeck
4e63a5063e Don't allow disabled fields to be focused 2015-04-10 10:16:06 -07:00
Anthony Ramine
890d902d6a Implement Text::wholeText 2015-04-10 11:46:30 +02:00
Ms2ger
839830d1d8 Fix typo in the substringData implementation. 2015-04-10 09:21:55 +02:00
bors-servo
325899bfad Auto merge of #5613 - mmatyas:canvas_miterlimit, r=jdm
This exposes some other canvas tests which were marked as PASS before. Two strokeRect related tests are fixed by #5612, and lineCap/lineJoin will have an implementation soon.
2015-04-09 09:37:44 -05:00
Anthony Ramine
3d68a46fee Implement NonDocumentTypeChildNode::*ElementSibling() 2015-04-09 15:43:05 +02:00
Ms2ger
71008d816d Update web-platform-tests. 2015-04-09 14:38:04 +02:00
Mátyás Mustoha
93fa9e607a Canvas: added miterLimit support. 2015-04-09 13:00:05 +02:00
bors-servo
223a5c4972 Auto merge of #5560 - gfxmonk:wpt-instructions, r=jdm
The current wpt instructions tell users to run `./serve.py`, which doesn't do anything. I've updated the instructions to use `./serve`, which works as advertised (and matches the instructions from web-platform-tests/README.md).
2015-04-08 21:37:50 -05:00
bors-servo
1c09557398 Auto merge of #5606 - Ms2ger:errors, r=jdm 2015-04-08 21:07:18 -05:00
bors-servo
254f2a3b5f Auto merge of #5599 - servo:textdecoder, r=jdm 2015-04-08 20:00:40 -05:00
bors-servo
9b7bf415d7 Auto merge of #5590 - nox:document-createattributens, r=Ms2ger 2015-04-08 18:55:19 -05:00
bors-servo
88aa07b7e0 Auto merge of #5605 - servo:shadows, r=mbrubeck
CC #5207.
2015-04-08 14:13:32 -05:00
Ms2ger
f8dec0fe58 Adjust the assertions in throw_dom_exception. 2015-04-08 20:44:49 +02:00
Ms2ger
211d40c596 Disable canvas_shadows_002.htm.
CC #5207.
2015-04-08 20:30:53 +02:00
bors-servo
0f0dd02daa Auto merge of #5575 - nox:namednodemap-remove, r=Ms2ger 2015-04-08 13:22:29 -05:00
bors-servo
ee7d762213 Auto merge of #5563 - mmatyas:canvas_globalalpha, r=jdm
A patch somewhat similar to #5562
2015-04-08 11:58:04 -05:00