Commit Graph

52 Commits

Author SHA1 Message Date
Simon Sapin
b72bb5e7d5 servo: Merge #5935 - Upgrade Rust (from servo:rustup_2015-04-25); r=Ms2ger
r? everybody

Source-Repo: https://github.com/servo/servo
Source-Revision: 49aed6555dbc008c1a378c5cbb303f5467232b6b
2015-05-05 09:11:30 -05:00
Anthony Ramine
17374ab21b servo: Merge #5871 - Cleanup JS traits and methods (from nox:rootable); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: b8ae33e510ea30e3200834fc2f7fbc426b86701e
2015-04-28 04:23:05 -05:00
Ms2ger
c7955e722b servo: Merge #5847 - Avoid as_slice() / at_mut_slice() (from Ms2ger:slice); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 1389be37823fccf4108f4e79d0a3a793f0bbe93e
2015-04-26 05:30:28 -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
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
Mátyás Mustoha
4c0d815c42 servo: Merge #5701 - Add specification links to canvas line cap and line join (from mmatyas:canvas_linecapjoin_url); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 045831748e08f0b82ca84bd7d93844cb1c7eab60
2015-04-15 10:44:42 -05:00
Corey Farwell
1d84128a7b servo: Merge #5693 - Add/update comments with links to spec (from frewsxcv:spec-links); r=jdm
Extracted out of #5649

* add more hyperlinks to associated specification for structs/methods
* follow redirects and update links
* replace broken links
* removal of WHATWG multipage page name since the page name is not
  guaranteed to be stable

Source-Repo: https://github.com/servo/servo
Source-Revision: 3dc25af9e121db010e4385efb3863ba45b0e0bcf
2015-04-14 17:16:55 -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
Aneesh Agrawal
e995123d66 servo: Merge #5642 - Switch Arc<Box<Image>> to Arc<Image> for perf boost (from aneeshusa:arc-box-image-to-arc-image); r=Ms2ger
Image used to be a trait, but no longer is, so boxing it is no longer
necessary. Fixes #5639.

Source-Repo: https://github.com/servo/servo
Source-Revision: b7f59a36461e6c9eb08b8e48760168d3cb26a400
2015-04-14 01:57:07 -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
Mátyás Mustoha
c670bf88fb servo: Merge #5612 - Canvas: moved Rect validation to a common function (from mmatyas:canvas_rectvalidation); r=jdm
These functions have the same input validation, and they also missed the width/height check.

Source-Repo: https://github.com/servo/servo
Source-Revision: 34251902225cd9538695f850e1e946aba712bc9b
2015-04-09 08:36:45 -05:00
Mátyás Mustoha
52704f349c servo: Merge #5563 - Canvas: added support for the globalAlpha attribute (from mmatyas:canvas_globalalpha); r=jdm
A patch somewhat similar to #5562

Source-Repo: https://github.com/servo/servo
Source-Revision: ee7d76221345362c069a6946e01b9ec7d4b42ce3
2015-04-08 11:58:04 -05:00
Mátyás Mustoha
29bba355f3 servo: Merge #5562 - Canvas: added lineWidth support (from mmatyas:canvas_linewidth); r=jdm
Rebase of #5488

Source-Repo: https://github.com/servo/servo
Source-Revision: f57b487e4d53c60d8afe704ab0fd92f6158d63da
2015-04-08 00:56:37 -05:00
Diego Marcos
a288345776 servo: Merge #5433 - Implements drawImage for html image as ImageSource (from dmarcos:issue5290); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 58637a1174f94cb1ebbb394d3ba3c8c8f2d70639
2015-04-07 18:38:34 -05:00
Eric Hegnes
8dfb8a9af5 servo: Merge #5529 - Consistently name enum members in dom::bindings::error::Error (from ehegnes:issue-5521); r=jdm
Fixes #5521

Source-Repo: https://github.com/servo/servo
Source-Revision: 3c5c2f416b6a0584758ac98c3d984288cad80aba
2015-04-06 15:16:39 -05:00
Mátyás Mustoha
b81c3ff0b9 servo: Merge #5414 - Canvas: added arcTo() support (from mmatyas:canvas_arcto); r=jdm
Based on the implementation in Firefox.

After comparing how `arcTo` works in different browsers, I've found the code in Firefox the cleanest implentation. It also performed better on some test, for example the one on [this site](http://flashcanvas.net/examples/dl.dropbox.com/u/1865210/mindcat/arcto.html). In (Linux) Firefox 36, it looks like [this](http://i59.tinypic.com/2ch5b2d.png), while in Chromium 41, [some features are missing](http://i58.tinypic.com/30u5w8z.png).

Source-Repo: https://github.com/servo/servo
Source-Revision: ae31d9d9e86eb90a1fe2858f10ca5e6e2e722c67
2015-04-01 15:00:43 -06:00
Mátyás Mustoha
315e4311b8 servo: Merge #5455 - Canvas: arc throws IndexSizeError on negative radius (from mmatyas:canvas_arc_negativeradius); r=Ms2ger
"Negative values for radius must cause the implementation to throw an IndexSizeError exception."

Source-Repo: https://github.com/servo/servo
Source-Revision: 1bd8e18d92c291418ce6a5712f7b4503d9b5104c
2015-03-30 04:16:04 -06:00
Corey Farwell
76d037253b servo: Merge #5447 - Remove some unnecessary uses of as_slice (from frewsxcv:as-slice); r=jdm
For the majority of these cases, `as_slice` can be removed due to
`Deref`. In particular, `Deref` for:

* `String` -> `str`
* `Atom` -> `str`

The latter of those two requires, a bump of the locked `string-cache`
library

Source-Repo: https://github.com/servo/servo
Source-Revision: 0fd41847a39be387c03bd5d8b6f2aec2b1bb6f66
2015-03-29 14:52:02 -06:00
Mátyás Mustoha
73453b6e86 servo: Merge #5302 - Canvas: Added stroke support (from mmatyas:canvas_stroke); r=jdm
This is the servo side patch of servo/rust-azure#149.

Source-Repo: https://github.com/servo/servo
Source-Revision: f29ea4e4ef633c023a43f47f7fc8c6b46e51b8df
2015-03-25 07:54:50 -06:00
Tetsuharu OHZEKI
4aeeaa02d7 servo: Merge #5346 - Add bindings support for unrestricted float values (from saneyuki:binding); r=jdm
- Fix #707
- Take over from #5106

Source-Repo: https://github.com/servo/servo
Source-Revision: e77c4e2d76104855c42d1eee09caf36b61acccad
2015-03-25 01:09:47 -06:00
Diego Marcos
70420c0960 servo: Merge #5231 - Implementing canvas drawImage API for HTML Canvas elements as image sour (from dmarcos:issue4784); r=jdm
...ce

Source-Repo: https://github.com/servo/servo
Source-Revision: 2ab1ece765a50e26c2908bcbe5463ff1fda0b085
2015-03-24 14:01:06 -06:00
Manish Goregaokar
5e87044185 servo: Merge #5296 - Replace unsafe_blocks by unsafe_code (from servo:unsafe_code); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 29a36adbe7d87fb38ba9bef3a718c6c823fb5977
2015-03-21 05:12:45 -06:00
Mátyás Mustoha
2acb95ac2e servo: Merge #5251 - Canvas: implement quadraticCurveTo() (from mmatyas:canvas_quadratic); r=jdm
Yet another small canvas patch.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2c85c1d312405c586f05244c221b65750cf09981
2015-03-20 04:27:47 -06:00
Mátyás Mustoha
beac897eb1 servo: Merge #4891 - Implement canvas gradient (from mmatyas:canvas_gradient); r=jdm
Based on [ebalint](https://github.com/ebalint)'s original patch, this commit implements the linear and radial gradients for the canvas. The PR also includes test cases.
Depends on #4623 and servo/rust-azure#136.

Source-Repo: https://github.com/servo/servo
Source-Revision: dea36f981650f027902b4f71f0cdabd2da69fe21
2015-03-20 03:12:47 -06:00
Mátyás Mustoha
4f3961c85c servo: Merge #5185 - Canvas: added arc() support (from mmatyas:canvas_arc); r=pcwalton
This patch enables the use of `arc()` on the canvas.
I couldn't add reftest this time, as it involves some antialiasing issues, and so the reference doesn't match.

Source-Repo: https://github.com/servo/servo
Source-Revision: e8f1a046c6c704915419cb75181f6e0bc402ef98
2015-03-10 09:45:49 -06:00
Adenilson Cavalcanti
2bbfffa4ca servo: Merge #5124 - Cleanup compilation warning (from Adenilson:cleanupWarning01); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 621150db1ca2d6ac9d4ba5d2709726dbc4139883
2015-03-03 13:51:48 -07:00
Mátyás Mustoha
0e7b910b7a servo: Merge #5089 - Canvas: added lineTo support (from mmatyas:canvas_lineto); r=jdm
This patch enables the use of `lineTo()` on the canvas.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9eaa48b793de78b713e6c3a3c79c4060084d5fbe
2015-03-02 13:33:55 -07:00
Patrick Walton
caba5137e0 servo: Merge #5016 - script: Implement enough 2D canvas support to render basic SVGs such as (from jdm:canvas-for-svg); r=jdm
the tiger.

Rebased from #4623.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2e1adb3fa670504fb0fedaa517f312ba233bf67b
2015-02-22 20:33:45 -07:00
Edit Balint
652d187f26 servo: Merge #5020 - Implement Canvas pixel manipulation (from jdm:canvas); r=jdm
Rebase of #4639.

Source-Repo: https://github.com/servo/servo
Source-Revision: 287f390c4a56dd8c5960df699d45653227b25d6f
2015-02-22 11:48:46 -07:00
Alexandru Cojocaru
0cbc5adfcf servo: Merge #4820 - add unwrap to send/recv calls (from servo:send-recv); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 8e6dcc7c26d88bb0452226ff8c34539e368e03d9
2015-02-03 11:24:53 -07:00
Tetsuharu OHZEKI
4554fb52da servo: Merge #4613 - Stop using JS<T> in layout (from saneyuki:layoutjs); r=jdm
#4571

Source-Repo: https://github.com/servo/servo
Source-Revision: 462940fc2a2ba76794f37d9a6ac5af8da454aa66
2015-01-31 16:24:48 -07:00
Josh Matthews
b11f7d94dc servo: Merge #4719 - Update rustc to 00b112c45a604fa6f4b59af2a40c9deeadfdb7c6/rustc-1.0.0-dev (from servo:rustup_20150109); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 3f9012864a2cd927cf17a8e11dfa6922add1b7df
2015-01-27 18:15:50 -07:00
Edit Balint
43cd366dda servo: Merge #4137 - CanvasRenderTask connected to Layout (from ebalint:canvas); r=jdm
Content of the canvas is drawn, tests/html/test_canvas.html now works.

Source-Repo: https://github.com/servo/servo
Source-Revision: da400a7a453eacf6f3089cc07e5dc61f385a0909
2015-01-09 12:06:47 -07:00
Matt McCoy
4ee5b0a4cb servo: Merge #4566 - Fixes #4164 Make Constructor and new functions take GlobalRef by value (from mattnenterprise:globalref-by-value); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 7800d98728bfa1375ad8b6a2dac7f2f35603b6d1
2015-01-08 13:12:55 -07:00
Ms2ger
2979891740 servo: Merge #4542 - Prepare for the rust upgrade (from servo:pre-rustup_20141221); r=saneyuki
In particular, this contains changes to qualify enums where rust will require it, and to stop using some features that will be removed.

Source-Repo: https://github.com/servo/servo
Source-Revision: ba8cf6b0e6145265f9472d4855f078d8b5943fe7
2015-01-04 12:39:47 -07:00
Manish Goregaokar
2f9e35cd21 servo: Merge #4173 - plugins: Autogeneration of Reflectable; Inheritance lint (from Manishearth:a-more-dom-struct); r=kmcallister
Now `#[dom_struct]` also generates Reflectable impls, and there's another lint to ensure that a DOM struct only contains one bare DOM field (as the first field) or a Reflector.

A lot of this was generated by sed -- each autogenerated change has its own commit for easy review; these will be squashed later.

Source-Repo: https://github.com/servo/servo
Source-Revision: 56d1b16d1b3a18d5ffa1d9c32562d3b209851711
2014-12-27 22:12:45 -07:00
Tetsuharu OHZEKI
91421a9ceb servo: Merge #4279 - Rename "render"/"rendering" to "paint"/"painting" (from saneyuki:rename); r=jdm
#4275

* This changeset rename "render"/"rendering" to "paint"/"painting" under `components/`.
* This does not rename words which are used as general browser's working.
  * So this doesn't change `reftest.rs`.

Source-Repo: https://github.com/servo/servo
Source-Revision: 0b486b12109ab765ecee4cbcc684e5d99e8ad5ad
2014-12-08 10:28:10 -07:00
Michael Booth
fec3728296 servo: Merge #4156 - Updated reflect_dom_object to be passed by value fixes #4122 (from Michael03:master); r=Ms2ger
This fixes issue #4122

Source-Repo: https://github.com/servo/servo
Source-Revision: ed45aa9efd6cf238a83fcae6a772886df61771f7
2014-12-02 05:24:49 -07:00
Manish Goregaokar
3bb2ca07b8 servo: Merge #3684 - Add #[dom_struct], inline autogenerated trace() methods (from Manishearth:dom_struct); r=jdm
This attribute implies #[jstraceable], #[privatize], and #[must_root].

Source-Repo: https://github.com/servo/servo
Source-Revision: 9af090006017747809f5f72a8870bd516b20f483
2014-10-15 23:24:20 -06:00
Tim Taubert
e87471af27 servo: Merge #3666 - Privatize DOM (fixes #3644) (from ttaubert:issue/3644-privatize-dom); r=Manishearth
This PR removes public fields from all (hope I didn't miss any) DOM structs. Should |Page| be privatized as well? This PR additionally introduces a #[privatize] lint to ensure nobody accidentally re-introduces a public field.

All changesets compile separately if applied in the same order. Hope that helps reviewing but I can of course squash them before merging.

Source-Repo: https://github.com/servo/servo
Source-Revision: f350879574194bb612eac88e21d0920e9827afa7
2014-10-13 22:00:37 -06:00
Manish Goregaokar
052cbff92f servo: Merge #3518 - Purge Traceable and Untraceable from Servo (from Manishearth:trace-cleanup); r=jdm
Now that we use `JSTraceable` (defined in `script`), we can create arbitrary implementations on non-`script` types (eg `Url` or `RequestHeaderCollection`) where in the past we had to rely on `Traceable` and `Untraceable` to achieve cross-crate impls of `Encodable`.

This removes the two completely. They can be reintroduced if required, though the `untraceable!` macro should suffice.

Fixes #3469

Source-Repo: https://github.com/servo/servo
Source-Revision: b34df7c343579f200d2e67e21fc566842a4e4a91
2014-10-06 10:15:33 -06:00
ProgramFOX
4860dbe4ab servo: Merge #3489 - Made some DOM fields private (from ProgramFOX:issue2242-2)
Reviewed-by: jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 39b6bd9b9586d101943055202a7e06eb8d349dd8
2014-09-26 19:30:33 -06:00
Manish Goregaokar
f9ff33e0ec servo: Merge #3468 - Replace our usage our Encodable with JSTraceable; r=jdm (from Manishearth:jstraceable)
Source-Repo: https://github.com/servo/servo
Source-Revision: 95a4731c0eec0cfb2fb70af534757bc7ca63e407
2014-09-24 20:55:41 +05:00
Cameron Zwarich
60b0bd5f8d servo: Merge #3433 - More progress in the &JSRef -> JSRef conversion (from zwarich:jsref-self-helpers)
Source-Repo: https://github.com/servo/servo
Source-Revision: d6ba37c68c34a3748a789caeca225083275757e5
2014-09-20 12:55:21 -07:00
Tetsuharu OHZEKI
582d2f0c2b servo: Merge #3418 - Replace manual Encodable implementation for LayoutDataRef with Untraceable (from saneyuki:untrace)
Source-Repo: https://github.com/servo/servo
Source-Revision: de67710934ac89de0cf21911dc57dcda7cb0fae1
2014-09-20 16:40:06 +09:00
Cameron Zwarich
d6fa87d24b servo: Merge #3422 - First steps of &JSRef -> JSRef conversion (from zwarich:jsref)
Source-Repo: https://github.com/servo/servo
Source-Revision: e9ad87e27eb30cfacd66b575e104ee2784f95591
2014-09-19 19:28:32 -07:00