Commit Graph

182 Commits

Author SHA1 Message Date
snf
1fb5736c49 servo: Merge #6582 - Add Clamp and EnforceRange support for webidl arguments (from servo:clamp-enforce-range); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 36d732a60a39140806b4113d58a6b00e6b1931da
2015-07-22 11:03:05 -06:00
Josh Matthews
2af9c6d1ac servo: Merge #6694 - Reject websocket protocol requests that don't match https://tools.iet… (from jdm:websocketprotocol); r=Ms2ger
…f.org/html/rfc6455#section-4.1 .

Source-Repo: https://github.com/servo/servo
Source-Revision: 6b4f1a42f08f66519af310b7c7777d77cc3d0834
2015-07-22 09:44:34 -06:00
Tetsuharu OHZEKI
dffb7982d9 servo: Merge #6675 - Implement Window.trap() to trigger a breakpoint trap (from saneyuki:trap); r=Ms2ger
Fix #6673

Source-Repo: https://github.com/servo/servo
Source-Revision: 20d8c275d747d6d8e3ce6f65c3ea592e2015d2ea
2015-07-20 10:20:57 -06:00
David Zbarsky
df84d280ad servo: Merge #6625 - Implement Range#cloneContents (from dzbarsky:range-clonecontents); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: a0cf597946446c427c54da363fe989ff68db4270
2015-07-18 02:42:29 -06:00
David Zbarsky
5b4b4b5e06 servo: Merge #6568 - Implement Range#insertNode (from dzbarsky:delete_range); r=jdm
Gecko doesn't really follow the spec but it seems to throw a HierarchyRequest error when parent is null.
Any ideas who I should talk to about fixing the spec to account for the null checks?

Source-Repo: https://github.com/servo/servo
Source-Revision: acf47a02cf38b5c82e7c78cc1f6660a7daa9969a
2015-07-16 10:56:17 -06:00
Ms2ger
2678b915b9 servo: Merge #6600 - Implement Window#top (from Ms2ger:top); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: bd3380e0b611034c3159129ad5834ae9e9db6d22
2015-07-11 04:01:33 -06:00
Kevin Ball
8374151732 servo: Merge #6559 - Implement Node.baseURI (from kball:IS1824-implement-Node.baseURI); r=Ms2ger
Addresses Issue #1824.  Implements Node.baseURI based on https://www.w3.org/Bugs/Public/show_bug.cgi?id=20976#c32

Source-Repo: https://github.com/servo/servo
Source-Revision: 1e1604784675bf378cf0feea48bd22a668285f84
2015-07-06 11:04:45 -06:00
ecoal95
2ba7c1afed servo: Merge #6380 - Refactor WebGL implementation to move logic inside the DOM interfaces (from emilio:webgl-refactoring); r=jdm
This improves the encapsulation and consistency in our WebGL
implementation.

Also allows to implement new methods such as `getShaderSource()`.

It will also allow us to use `delete()` in the destructors of them (note
that we will probably want to keep track of them from the context before).

Some concerns:

**Trait method repetition**:
I'm aware that the traits `WebGL{Buffer,Renderbuffer,Framebuffer,Texture}Helpers` are basically the same, but `delete()` and `id()` methods are everywhere. I've thought something like:

```rust
pub trait WebGLIdentifiable {
    type WebGLId; // id is sometimes i32 (see WebGLUniformLocation)
    fn id(&self) -> Self::WebGLId;
}

pub trait WebGLBindable {
    fn bind(&self);
}

pub trait WebGLDeletable {
    fn delete(&self);
}
```

But I'd want to know your opinion first.

**`renderer` repetition**:
Thought of moving the field: `renderer: Sender<CanvasMsg>` to `WebGLObject`, but I think it makes it way more complicated to read, and also a bit unnecessary, at least IMO (`WebGLObject` will never interact with the field directly). It would also mean that all `WebGLObject`s should have one, which is true at this moment, but maybe not with WebGL 2, for example.

Source-Repo: https://github.com/servo/servo
Source-Revision: 0f8095b950dd144497919cfea65a1f154ed3ae9a
2015-07-06 09:12:59 -06:00
Tim Taubert
6137025816 servo: Merge #6505 - Implement crypto.getRandomValues() (from ttaubert:issue/4666-crypto-getRandomValues); r=Ms2ger
Didn't touch mozjs or rust-mozjs because implementing that in the code generator didn't seem too easy. I'm using the same workaround that the TextDecoder does.

Using the OsRng should be the right choice here? As the OS keeps state for us we wouldn't need to have a global rng instance to keep around.

Fixes #4666.

Source-Repo: https://github.com/servo/servo
Source-Revision: c0222628264423a67bf98775be83dcf2f85211ab
2015-07-05 22:16:19 -06:00
Corey Farwell
2035aa40c6 servo: Merge #6512 - Prefer HTTPS when linking to GitHub Pages (from frewsxcv:https-github-pages); r=SimonSapin
This commit was generated using the following commands:

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

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 342ea7a44b26f9cc701b2a10757c4ac0aec93aeb
2015-06-29 00:41:00 -06:00
Joel Teichroeb
d61c9a2ce4 servo: Merge #6110 - Implement Named constructors and the Image constructor for HTMLImageElement (from klusark:NamedConstructor); r=Ms2ger
I'm not sure if I like how I mostly just duplicated the code in CodegenRust.py, so that might need to be refactored.

Instead of just calling it Image, we might want to call it ConstructorImage, to make it clear that it's a constructor. Anyone have an opinion on that?

There seems to be a bug in the HTMLImageElement getter/setter as the value is 0 regardless of what I do. This seems to be unrelated to my commits, so I'll investigate that separately.

Source-Repo: https://github.com/servo/servo
Source-Revision: 57cc84b2935c429c92774649275625a7fd63973c
2015-06-25 02:18:06 -06:00
Glenn Watson
d905323231 servo: Merge #6425 - Implement enough of 3d transforms spec to run the CSS FPS demo (from glennw:3d-transforms); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: dcb1237bb5deb84cdf921bf7b145b07eb2bd1430
2015-06-23 12:13:25 -06:00
Anthony Ramine
953ec79e3a servo: Merge #6371 - Implement URL and trivially missing URLUtils members (from nox:url); r=Ms2ger
Fixes #6322.

Still no mutation whatsoever in URLUtils.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8c784ceeea39014cdc79bb4c7f614948cc8beda1
2015-06-21 10:22:06 -06:00
ecoal95
b22942fcaa servo: Merge #6357 - Add missing WebGL interfaces, and a few gl calls (from emilio:more-webgl); r=pcwalton
See the commit descriptions for more details.

Blocked on https://github.com/servo/gleam/pull/24

Source-Repo: https://github.com/servo/servo
Source-Revision: ceaca2e2885be89d47553090a45cf9048812e3b4
2015-06-13 15:05:08 -06:00
Hyowon Kim
8d57bfce14 servo: Merge #6157 - Implement pattern fill style for canvas (from hyowon:canvas_pattern_fill); r=nox
Issue #6056
Depends on servo/rust-azure#160

Source-Repo: https://github.com/servo/servo
Source-Revision: 9474e62d38f61f2b3a385ca32d64cab975b014ce
2015-06-13 01:49:50 -06:00
Hyowon Kim
e973844b89 servo: Merge #6337 - Add attributes for canvas shadows (from hyowon:shadow_attrs); r=nox
The first step of the implementation for shadows in canvas.
r? @nox @jdm
cc @yichoi

Source-Repo: https://github.com/servo/servo
Source-Revision: f163f2bf0d32861ea20470d405bb517ed5b09e84
2015-06-12 03:27:07 -06:00
Francesc Bautista
02b218ce64 servo: Merge #6284 - Fix #6242 testbinding add specialoperations (from fbau123:6242-testbinding-add-specialoperations); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 44a4b7886d05b6e219f71f958d913657b08eea7d
2015-06-09 17:12:43 -06:00
ecoal95
7340c8c14f servo: Merge #6293 - Implement new WebGL interfaces and methods (from emilio:webgl-objects); r=nox
This commit implements:
* WebGLFramebuffer
* WebGLRenderbuffer
* WebGLTexture

And adds the following methods to `WebGLRenderingContext`:
* create{Texture,Framebuffer,Renderbuffer}
* bind{Texture,Framebuffer,Renderbuffer}
* destroy{Buffer,Texture,Framebuffer,Renderbuffer}

Fixes:
* WebGLUniform location shouldn't inherit from WebGLObject.

Known Issues:
* WebGL objects have to be destroyed on drop, we may want to keep a reference to the context, or maybe a clone of the renderer to achieve this

Also refactors a huge part of the current implementation, to allow
failing on creation of different WebGL objects.

Blocked on https://github.com/servo/gleam/pull/22

A reftest for most of the added functionality is not doable right now,
we need a few more functions in order to upload a texture, for example.

Source-Repo: https://github.com/servo/servo
Source-Revision: e09c555a41b0803388e54013ac8885fb789a0fa6
2015-06-09 10:06:37 -05:00
ecoal95
90d4952450 servo: Merge #6240 - WebGLRenderingContext getters and getParameter (from emilio:webgl-context-enhancements); r=nox
This implements the `canvas`, `drawingBufferHeight` and `drawingBufferWidth` getters to `WebGLRenderingContext`, and an initial version of `getParameter`.

r? @jdm or @nox?

Source-Repo: https://github.com/servo/servo
Source-Revision: 042737793b1995ad93dc093ea12ec986b99e64b8
2015-06-01 10:20:14 -05:00
ecoal95
c3cd10fde7 servo: Merge #6183 - Add WebGLContextAttributes support (from emilio:webglcontextattributes); r=nox
r? @jdm

I couldn't add the `getContextAttributes` method since `CodegenRust`
doesn't know how to return a dictionary value, I'll take a look at it ASAP.

I think the helper functions can return directly the renderer, since they're used just for that, but I wanted to hear your opinions about this.

By the way I'm interested in adding more serious tests for WebGL, and I think the [khronos conformance suit](https://github.com/KhronosGroup/WebGL/tree/master/conformance-suites/1.0.3) should be the best option.

Should I try to integrate it in wpt, or making a `tests/webgl` directory (or similar) inside the servo tree? (Maybe this question should be for @Ms2ger)

Source-Repo: https://github.com/servo/servo
Source-Revision: 0de09b936e5e37c15b7865157a98ad78b1077659
2015-06-01 08:37:48 -05:00
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