Commit Graph

188 Commits

Author SHA1 Message Date
David Zbarsky
a9e70c7bbb servo: Merge #6773 - Fix MouseEvent.which to not throw (from dzbarsky:which); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 5b90cfd57d2d4595596c37b7f441d3422391eb8d
2015-07-27 05:57:09 -06:00
Corey Farwell
2eb4f27674 servo: Merge #6777 - Cleanup lint special cases, refactor flake8 linting (from frewsxcv:refactor-tidy); r=jdm
Currently, there are a few linting functions that only run on certain
filetypes (determined by the file extension). Prior to this commit, the
special cases were handled in a parent function with a conditional. This
commit changes the system so each linting function gets passed a
filename so the function can determine whether it should run or not
based on the file extension.

I also refactored flake8 linting slightly. From what I've read so far of
the code, flake8 itself will only print the results directly to stdout
(though the linter would report the quantity of errors detected).
Prior to this commit, we would let flake8 print directly to stdout and
just determine if there were >0 errors reported. This commit (sort of
hackily) temporarily captures stdout when we call flake8 so we can do
what we want with the output, allowing us to `yield` the line number
and message like we do with the other linting functions.

In my opinion, both of these changes isolate specific behaviors/checks
into their respective linting functions instead of having them handled
at a more global level.

In addition to the changes above:

* The whitespace linter now runs on WebIDL and TOML files
* The license header linter now runs on WebIDL files

Source-Repo: https://github.com/servo/servo
Source-Revision: 7c8922c0c39616559b580b4a363ebe2a8c6b3ba8
2015-07-27 04:39:04 -06:00
farodin91
1bcc16dc72 servo: Merge #6716 - Implement FileReader.{readAsText,readAsDataUrl}. Fixes #6172 (from farodin91:filereader); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: e32068d17bdf6a87a63bea97b6364caa22b37e79
2015-07-23 14:37:00 -06:00
Till Schneidereit
050505743e servo: Merge #6683 - Implement DOMPoint and DOMPointReadOnly (from tschneidereit:dompoint); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 658c3d05ae72b52e543342c7a33d37a345eb4374
2015-07-23 11:38:14 -06:00
Glenn Watson
8c4ee2c2ea servo: Merge #6691 - Implement mouseevent.which (needed for enyojs sampler) (from glennw:mouse-which); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: ff86e0094cc4d65c5690a9df8e6996c49f9f076f
2015-07-22 21:53:00 -06:00
Michael Howell
32dbe8196b servo: Merge #6693 - Tidy finds WebIDLs with no spec (from notriddle:tidy-webidl); r=jdm
Closes #6689

Source-Repo: https://github.com/servo/servo
Source-Revision: 11a3423c29369e712ca1ce38417b9f9cf6845fd7
2015-07-22 13:44:12 -06:00
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