Commit Graph

162 Commits

Author SHA1 Message Date
Jinwoo Song
7393cce934 servo: Merge #5981 - Implement NodeIterator (from Jinwoo-Song:nodeiterator); r=Manishearth
Implement NodeIterator's basic functionality. (Fixes #1235)  But the cases for node removals are not implemented yet.

r? @jdm
cc @yichoi

Source-Repo: https://github.com/servo/servo
Source-Revision: 2b52006b1c503a24d5e832934d3265d45e425f40
2015-05-28 05:14:08 -05:00
Patrick Walton
44983ea106 servo: Merge #5577 - script: Implement the width and height attributes for iframes per HTML5 § 4.8.6 (from pcwalton:iframe-size-attributes); r=jdm
Improves Amazon and Ars Technica.

r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: ee147c164a8a13743dec2def60b13997145e7a55
2015-05-20 13:51:05 -05:00
Paul Faria
b5a2222e90 servo: Merge #6094 - Fixed definition of Close and Send in WebSocket.webidl and updated im… (from Nashenas88:websockets-USVString); r=Ms2ger
Fix #6063
Fix #6062
Fixed definition of Close and Send in WebSocket.webidl and updated implementation in websocket.rs.

Source-Repo: https://github.com/servo/servo
Source-Revision: fe8760cce206ede76b71ccf3cc94fa37addddfc9
2015-05-20 00:20:06 -05:00
Patrick Walton
36e1de85b6 servo: Merge #5989 - script: Implement the color attribute of the <font> element (from pcwalton:font-color); r=jdm
Improves Hacker News.

r? @Ms2ger

Source-Repo: https://github.com/servo/servo
Source-Revision: ba340ec71bcfca8ab7b8ae04a22005e4fb860a23
2015-05-19 18:33:03 -05:00
Jinwoo Song
0482f48b98 servo: Merge #6067 - Implement 'background-clip' property in CSS3 Background (from Jinwoo-Song:backgroundclip); r=pcwalton
This property determines the background painting area, which determines the area
within which the background is painted.

Spec: http://dev.w3.org/csswg/css-backgrounds-3/#background-clip

Fixes #6066.

r? @pcwalton
cc @yichoi

Source-Repo: https://github.com/servo/servo
Source-Revision: 9f2079f6baafd5f111fbe7b6542f98c2672fa317
2015-05-15 22:05:05 -05:00
Jinwoo Song
4b52eb822a servo: Merge #6046 - Implement 'background-origin' property in CSS3 Background (from Jinwoo-Song:background_origin); r=pcwalton
This property determines the background positioning area, that is the position of
the origin of an image specified using the 'background-image' CSS property.

'background-origin' is ignored when background-attachment is fixed.

Spec: http://dev.w3.org/csswg/css-backgrounds-3/#background-origin

Fixes #6045.

r? @pcwalton
cc @yichoi

Source-Repo: https://github.com/servo/servo
Source-Revision: 8c402728247c73268df9389948ee9a9d9e4063b2
2015-05-14 20:53:02 -05:00
Anthony Ramine
3cf876ddbb servo: Merge #5921 - Partially implement getter of Document (from nox:document-getter); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: a635a8f9531f781895a00b96bfbdc3a26b961eca
2015-05-14 12:09:18 -05:00
James Graham
771e23db73 servo: Merge #6022 - Add enough execute_async_script support to webdriver that we can run web-platform-tests (from jgraham:webdriver_execute_async_script); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: b05c3fc0c063e32168a9630dc2a0e8adc9285dae
2015-05-14 05:02:27 -05:00
Jinwoo Song
5d3fed803c servo: Merge #6018 - Implement HTMLSelectElement.{multiple, name, size} (fixes #6017) (from Jinwoo-Song:select_attributes); r=Ms2ger
r? @jdm
cc @yichoi

Source-Repo: https://github.com/servo/servo
Source-Revision: f4381a6f1e4d42b316d67337a4c69913df2f51d2
2015-05-12 06:15:56 -05:00
Jinwoo Song
55e3d6fc68 servo: Merge #6005 - Implement name and value attributes of HTMLButtonElement (fixes #6003) (from Jinwoo-Song:button_name_value); r=jdm
Implemented getter and setter of the attributes.

r? @jdm
cc @yichoi

Source-Repo: https://github.com/servo/servo
Source-Revision: 10d8200a54c833a52a757c3c591f69ad0e824f86
2015-05-11 21:27:10 -05:00
Anthony Ramine
d2eeb39e63 servo: Merge #5894 - Implement WebIDL attribute PutForwards (from nox:putforwards); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 29a43a00b39e544596e3bcce9bdfca2159313ba5
2015-05-07 09:07:12 -05:00
Mátyás Mustoha
94ebf895cc servo: Merge #5946 - Canvas: implement transformation matrix reset (from mmatyas:canvas_mxreset); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: d9cc36ac225a989c07301e85e40b488723bd1980
2015-05-06 16:51:02 -05:00
Anthony Ramine
08cbd0eb18 servo: Merge #5923 - Improve support of limited unsigned long attributes (from nox:limited-unsigned-long); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 19744984da58feeeab64a98839ec2936fb8fb5a0
2015-05-06 14:22:45 -05:00
Ms2ger
e65e6686cd servo: Merge #5961 - Cleanup CloseEvent (from Ms2ger:closeevent); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 9aa801f140d96b33fbbe564ca614dec00bc0cf9d
2015-05-06 09:51:31 -05:00
Mátyás Mustoha
806d415a72 servo: Merge #5945 - Canvas: implement transformation matrix rotation (from mmatyas:canvas_mxrotate); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 3327fe301393f3ec5213a5b2b14d022bbac5976e
2015-05-06 08:53:56 -05:00
Guro Bokum
8800f4e7e5 servo: Merge #5753 - Start using on_refresh_driver_tick #5681 (from JIoJIaJIu:timeline); r=jdm
RequestAnimationFrame
[Task](https://github.com/servo/servo/issues/5681)

Source-Repo: https://github.com/servo/servo
Source-Revision: 5e59e77c416dbe35e8c30ca1c21c9088ed17a079
2015-05-06 00:50:13 -05:00
William Galliher
0950eced4b servo: Merge #5939 - Implement incomplete opening, sending, and closing behaviour for WebSock (from jdm:websocket); r=jdm
...ets using rust-websocket.

Authors:
Shivaji Vidhale <savidhal@ncsu.edu>
William Galliher <wpgallih@ncsu.edu>
Allen Chen <achen4@ncsu.edu>
Rucha Jogaikar <rsjogaik@ncsu.edu>

Source-Repo: https://github.com/servo/servo
Source-Revision: 6d2f70a4fd275510ca90c5da27bb841dd25d39bd
2015-05-05 12:57:48 -05:00
Diego Marcos
e7427500b0 servo: Merge #5820 - Implements enough WebGL spec to draw a triangle (from dmarcos:firstTriangle); r=jdm
This is WIP. still have to clean up the code a little bit but I wanted to show the progress. I got really excited when I saw my first triangle on screen ```./mach run tests/ref/webgl-context/triangle.html```

![firsttriangle](https://cloud.githubusercontent.com/assets/39342/7313736/e3fdb41e-ea11-11e4-8c63-78523cd9dcc7.png)

Source-Repo: https://github.com/servo/servo
Source-Revision: b43a2ed80714131db4c92a51c0046245aa43da11
2015-05-02 21:22:28 -05:00
Anthony Ramine
508e8d07f1 servo: Merge #5839 - Implement base machinery of Range (from nox:range); r=Manishearth
The actual boundary points are behind a Rc<_> value to let nodes be able to store weak references to them in the future.

Source-Repo: https://github.com/servo/servo
Source-Revision: 15c4372a8be9c2b73d9e09bd7684484e48d220e8
2015-04-30 05:59:55 -05:00
Anthony Ramine
7a2bf39679 servo: Merge #5896 - Properly generate proxy stringifiers (from nox:stringifier-proxy); r=jdm
The proxy stringifiers called through {}.toString.call() (obj_toString) shouldn't use the stringifier.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2c177794408bfbb5f8d6042f38639a5cba5eb2e5
2015-04-30 04:33:32 -05:00
Simon Sapin
18ebfd9b8c servo: Merge #5480 - Preliminary steps for CSS Multi-column Layout (from SimonSapin:multicol); r=pcwalton
This add some properties to the style system and a new flow type, but the larger issues of dealing with fragmentation in the flow tree is still an open question.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1e150140bd12624ad357e3168fb496079fb8ec7c
2015-04-28 19:48:45 -05:00
Dave Hodder
290fb4e1bb servo: Merge #5883 - Add attributes to the HTMLDialogElement interface (from servo:dialog); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: ae98f76048559282421bd642c26d9ff4369a38bd
2015-04-28 10:56:06 -05:00
Anthony Ramine
b9d4e653fc servo: Merge #5874 - Fix DOMImplementation.hasFeature() (from nox:hasfeature); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: cac6ef80777d2b64b800366831f460f01462e0ce
2015-04-28 01:30:51 -05:00
Anthony Ramine
1704abb708 servo: Merge #5872 - Fix CanvasGradient.addColorStop() (from nox:canvasgradient); r=saneyuki
The argument should be a double.

Source-Repo: https://github.com/servo/servo
Source-Revision: eefa3eba256d48bc24189417c3bb8d3a9a77d979
2015-04-27 13:45:17 -05:00
Anthony Ramine
5eb08ed159 servo: Merge #5868 - Implement Body.bgColor and Document.bgColor (from nox:document-legacy); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 9ec2ce0decff852f24280a59c779220f243bcff6
2015-04-27 13:06:29 -05:00
Simon Sapin
e11ff55b59 servo: Merge #5870 - layout: Implement most of border-collapse per CSS 2.1 § 17.6.2 (from SimonSapin:border-collapse); r=SimonSapin
Fixes #5300, which it is a rebase of.

Known issues:

* Collapsed borders do not correctly affect the border-box of the table
  itself.

* The content widths of all cells in a column and the content height of
  all cells in a row is the same in this patch, but not in Gecko and
  WebKit.

* Corners are not painted well. The spec does not say what to do here.

* Column spans are not handled well. The spec does not say what to do
  here either.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8a4555cc53bc1bbb21a08eb6f010cb1215034419
2015-04-27 12:29:15 -05:00
Anthony Ramine
cd1d355ca7 servo: Merge #5850 - Fix generation of nullary callbacks (from nox:nullary-callbacks); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 92359c7b9addfe7ee161760aad20368bafd76c26
2015-04-27 08:42:42 -05:00
ecoal95
eabccfe7ae servo: Merge #5863 - Refactor WebGL implementation (reopens #5769) (from emilio:webgl-refactor); r=jdm
GitHub doesn't allow me to reopen #5769, so I created this.

Sorry about the merge fail, my bad :/

cc/ @jdm @dmarcos

---

This PR uses customized GL context creation code, right now only working under Linux, so I expect the clearcolor test to fail on other platforms.

It addresses some other problems:

* Propagates context creation error to the top, returning null if not found.
* Uses GLContextAttributes, which will allow us to write WebGLContextAttributes easily.
* Doesn't allow a 2d context and a WebGL context coexist.
* Panics when resizing the context to larger dimensions (to be fixed soon, but better than blindly allowing it).
    Removes some unused dependencies

Source-Repo: https://github.com/servo/servo
Source-Revision: 9f2ad9376eaf598898387ea2c26f48c3ceb0330d
2015-04-26 21:28:35 -05:00
Anthony Ramine
80750f3330 servo: Merge #5779 - Implement the CSS interface (from nox:css-escape); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 1f9de5ee2ce4dc039b01e575d60a4fee41a0b8b8
2015-04-25 05:42:41 -05:00
Dhananjay Nakrani
39f210d087 servo: Merge #5823 - Implement HTMLMetaElement.{name,content} (fixes #5663) (from servo:meta); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 88d9c1b257d7519e43d36bcaef67588b9fa54c7e
2015-04-24 08:28:47 -05:00
Anthony Ramine
294e101ec0 servo: Merge #5806 - Implement Text.splitText() (from nox:splittext); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 1b08211a5e9ec00eeaf241b916d51dc665289825
2015-04-23 09:38:48 -05:00
Anthony Ramine
777bcadb1c servo: Merge #5768 - Implement SVG support for Document.title (from nox:document-title); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: d037187213234d6c0deb5f2c6439647b5dd1b8a4
2015-04-23 05:20:45 -05:00
Glenn Watson
1511f427f8 servo: Merge #5767 - Refactored image cache task - details below (from glennw:image-cache); r=larsbergstrom,jdm
* 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.

Source-Repo: https://github.com/servo/servo
Source-Revision: ac0645c2363b5a6ea3930b0857b3a27f1b6d033f
2015-04-22 19:16:46 -05:00
Mátyás Mustoha
3ceb9c7bf4 servo: Merge #5757 - Canvas: implement global composition and blending (from mmatyas:canvas_globalcomposite); r=jdm
Implements https://html.spec.whatwg.org/multipage/scripting.html#dom-context-2d-globalcompositeoperation.

Source-Repo: https://github.com/servo/servo
Source-Revision: e278e5b9a27738bdca7a151b4295628e1f179e29
2015-04-22 14:15:28 -05:00
Mátyás Mustoha
8953c2461c servo: Merge #5773 - Canvas: add clipping path support (from mmatyas:canvas_clip); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: c4b7979450a3b884ed727e0c1d306897d255aef9
2015-04-22 10:40:10 -05:00
Anthony Ramine
c721dcf26a servo: Merge #5775 - Implement CSSStyleDeclaration.float (fixes #5101) (from nox:cssstyledeclaration-float); r=jdm
It just needs to be prefixed by an underscore.

Source-Repo: https://github.com/servo/servo
Source-Revision: 7fa1a6a42621a8bd46137b3417a7623a6b3ed2d1
2015-04-21 13:33:03 -05:00
Mátyás Mustoha
5201431aa6 servo: Merge #5770 - Canvas: implement rectangle drawing (from mmatyas:canvas_rect); r=jdm
A simple little patch.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1d66b090a2b25203f751455d9f0f4985a77ccd64
2015-04-21 08:43:47 -05:00
Diego Marcos
00f99e2944 servo: Merge #5652 - Kicking off a WebGL implementation (from 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!

Source-Repo: https://github.com/servo/servo
Source-Revision: e4b620ea54c94e03095e4108bce94ec750416bba
2015-04-20 19:29:02 -05:00
Mátyás Mustoha
958c5b446c servo: Merge #5731 - Canvas: implement context state save/restore (from mmatyas:canvas_saverestore); r=jdm
This patch enables the use of `save()` and `restore()` for the canvas context, which is used by *a lot* of sites and scripts.

Depends on servo/rust-azure#153.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9c7c289acae3ea012338a5b25bc50a10e7f7074d
2015-04-19 17:40:33 -05:00
Corey Farwell
7a0c4a962f servo: Merge #5729 - Don't link to specific WHATWG multipage page (from frewsxcv:whatwg-multipage-redirects); r=Manishearth
"Links to the multipage version of the specification are unfortunately
likely to break over time."
-- https://html.spec.whatwg.org/multipage/asefij.html

This commit removes all references to the specific pages when viewing
WHATWG using multipage mode. I went through all these links and they
redirect fine.

Regex used to generate this commit:

`s_whatwg.org/multipage/.*#_whatwg.org/multipage/#_g`

Source-Repo: https://github.com/servo/servo
Source-Revision: d90fe2b0889dee4eb27693aca7670969d5253424
2015-04-17 08:57:33 -05:00
Anthony Ramine
9dc8518d21 servo: Merge #5721 - Finish implementation of ChildNode and ParentNode (from nox:nodeorstring); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 4fd4370a9680f4845f05efd43ce9cb26c7433f05
2015-04-16 14:47:32 -05:00
Mátyás Mustoha
bccbfe6a0d servo: Merge #5635 - Canvas: added lineCap and lineJoin support (from mmatyas:canvas_linecapjoin); r=jdm
This patch adds support for setting the line cap and join. However, it seems there's a problem on the azure-side, as the line cap setting doesn't work. Changing either the default values or using the new function has no effect. Line join works fine though.

Source-Repo: https://github.com/servo/servo
Source-Revision: fe81ce942a36b08ece8ef6d58de72624a961eeaa
2015-04-14 12:57:48 -05:00
Corey Farwell
a0f726ff70 servo: Merge #5677 - Update WHATWG links to use HTTPS (from frewsxcv:https); r=Ms2ger
Extracted this out of #5649

This commit was created with the following commands:

```
find . -iname "*.webidl" -type f -print0 | xargs -0 sed -i '' 's/http:\(.*\)whatwg.org/https:\1whatwg.org/g'
```

```
find . -iname "*.rs" -type f -print0 | xargs -0 sed -i '' 's/http:\(.*\)whatwg.org/https:\1whatwg.org/g'
```

Source-Repo: https://github.com/servo/servo
Source-Revision: 4997d3a112354a407365fede1ab1944834a2e13c
2015-04-14 02:57:41 -05:00
Chris Paris
02a799ffa4 servo: Merge #5672 - Uncomment NodeFilter constants (from ChrisParis:nodefilter); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: b9b4389628951b51e7e88fdd062220014c6c3595
2015-04-13 17:18:40 -05:00
Chris Paris
81283618a7 servo: Merge #5644 - Fix typo in NodeFilter.webidl (from ChrisParis:nodefilter-typo); r=saneyuki
Source-Repo: https://github.com/servo/servo
Source-Revision: f90959d8285ee523cc60f35f22e0df088afd40dd
2015-04-11 06:22:25 -05:00
Anthony Ramine
4daace7eb9 servo: Merge #5617 - Implement Text::wholeText (from nox:wholetext); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 7d3ba8c7e22b1be3d042594958a102f7a6ef3bb6
2015-04-10 05:13:53 -05:00
Anthony Ramine
a2b4701232 servo: Merge #5611 - Cleanup CharacterData (from nox:cleanup-characterdata); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 51dd6984f7cc292d77b2330d404ffcff34981214
2015-04-09 10:10:20 -05:00
Mátyás Mustoha
f08601be8b servo: Merge #5613 - Canvas: added miterLimit support (from 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.

Source-Repo: https://github.com/servo/servo
Source-Revision: 325899bfad2f87e2c46b96bc542110d8f0cada48
2015-04-09 09:37:44 -05:00
Anthony Ramine
00c6ccd6a4 servo: Merge #5609 - Implement NonDocumentTypeChildNode::*ElementSibling() (from nox:nondocumenttypechildnode); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: bbe1403b2724e3820bd29b163fd9b81ca31a3bad
2015-04-09 09:06:57 -05:00
Keith Yeung
6ec8d8b7c4 servo: Merge #5599 - Implement TextDecoder (from servo:textdecoder); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 254f2a3b5fb0ef59eff4b24cbf0f5c6ca90c4317
2015-04-08 20:00:40 -05:00