Commit graph

70 commits

Author SHA1 Message Date
Josh Matthews
cde449925a servo: Merge #12819 - Support pair and value iterable WebIDL bindings (from jdm:iterable2); r=nox
The actual iterator implementation and JSAPI calls related to setting up the interface are ported directly from Gecko's Codegen.py, IterableIterator.h, and IterableIterator.webidl. The changes to support multiple interfaces in one file are required because the internal iterator interface the parser generates gets associated with the original interface's WebIDL file. It seemed like a good time to address #571 in that case.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #12628 and fix #571.
- [X] There are tests for these changes

Source-Repo: https://github.com/servo/servo
Source-Revision: 1370fa5e3b38f3000c0b1439177cc7b7b81d380e
2016-08-24 12:47:53 -05:00
Vladimir Vukicevic
1f90e0074c servo: Merge #11756 - MSVC support for Servo, and CMake builds for native code (from vvuk:servo-msvc); r=larsbergstrom
This is the base PR for MSVC builds of servo and dependent crates.  It's got replacements in the Cargo.toml to pull in the right versions, to make sure that crates were properly converted to CMake for all other platforms, not just Windows.  (Servo builds with MSVC 2015 with this PR; also with 2013, though a manual change in rust-mozjs to select a different set of bindings is needed.)

This PR isn't quite ready yet, but I want bors-servo to do builds.

Source-Repo: https://github.com/servo/servo
Source-Revision: ec53136863f20b80caf165d2f15e8a77d614536e
2016-08-17 13:22:52 -05:00
Jeena Lee
a22bae5df1 servo: Merge #12700 - Implement the Request API (from jeenalee:jeena-requestAPI); r=jdm
Implement the Request API

<!-- Please describe your changes on the following line: -->
This PR implements the [Request API](https://fetch.spec.whatwg.org/#request-class) for the Fetch API, including its attributes and constructor, and introduces changes in relevant files.

This Request integrates `net_traits::request::Request` and `dom::headers`.

There are few related TODOs and comments:
1. `net_traits::request::Request`'s `headers` field does not point to `dom::request::Request`'s `headers_reflector`.
2. Every Constructor step that involves `Readable Stream` object is not implemented.
3. Every Constructor step that involves `entry settings object` or `environment settings object` is not implemented.
4. `./mach build -d` does not report any error, but prints a few warnings about unused variables related to (1) and (2).
5. Enum `ReferrerPolicy` generated by `RequestBinding` does not match `net_traits::request::Request`'s implementation.
6. `Promise`s in Body webidl are commented out.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #11895 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests  because tests for the Request API already exists, but this commit does not implement the interface fully.

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 78160bf3f967ad34c671fe953de578bfa0b9542b
2016-08-12 23:54:49 -05:00
Zhen Zhang
97c27483c4 servo: Merge #12663 - Add FileReaderSync skeleton (from izgzhen:file-reader-sync); r=Manishearth
Add a FileReaderSync interface skeleton, no concrete implementation yet.

<!-- Please describe your changes on the following line: -->

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] There are tests for these changes OR

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 5dac1f64c14f6b4f1457c7387b2931cbc2b8ef33
2016-07-31 03:50:37 -05:00
Connor Brewster
c8b6c5e21e servo: Merge #12552 - History interface Go, Back, and Forward (from cbrewster:history_interface); r=asajeffrey
<!-- Please describe your changes on the following line: -->
r? @asajeffrey

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #5670 (github issue number if applicable).

<!-- Either: -->
- [X] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

implement go, forward, back

Source-Repo: https://github.com/servo/servo
Source-Revision: 0e887ca8d3327b63db43cc329dd83bf4c02e2a1c
2016-07-22 15:34:14 -05:00
Malisa Smith
af73ec148a servo: Merge #12467 - Add the append method for the Headers API (from jeenalee:jeena-headersAPI); r=jdm
<!-- Please describe your changes on the following line: -->
This commit adds the append method for the Headers API. @malisas and I are both contributors.

There are a few TODOs related:
- The script needs to parse the header value for certain header names to decide the header group it belongs
- There are possible spec bugs that could change what a valid header value looks like (related: [issue page](https://github.com/whatwg/fetch/issues/332))

There are WPT tests already written for the Headers API, but they will fail as the Headers API is not fully implemented.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because tests for the Headers API already exists, but this commit does not implement the interface fully. The tests will fail.

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 03fa7f0ba533acc44100639ad85625810618df3a
2016-07-20 16:24:48 -05:00
Emilio Cobos Álvarez
3100c8274d servo: Merge #11724 - webgl: Refactor texture validations to take advantage of rust type system (from emilio:webgl-refactor); r=jdm
<!-- Please describe your changes on the following line: -->

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors

<!-- Either: -->
- [x] These changes do not require tests because refactoring.

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

This commit introduces the `WebGLValidator` trait, and uses it for multiple
validations in the texture-related WebGL code, to move that logic out of the
already bloated `webglrenderingcontext.rs` file.

It also creates a type-safe wrapper for some WebGL types, removing all the
`unreachable!`s there, and introduces a macro for generating them conveniently.

This partially addresses #10693, pending refactor more code to use this
infrastructure, and (possibly?) introducing an `AsGLError` trait for the errors
to make the error handling happen in `WebGLContext`.

r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: 80680764562bd4a46bd72a426b8157d59f6a6fd0
2016-06-25 15:16:48 -05:00
Rahul Sharma
d38a9a1c80 servo: Merge #11114 - implement related service worker interface and register method (from creativcoder:nav-sw); r=jdm
Fixes  #11091

Source-Repo: https://github.com/servo/servo
Source-Revision: cc017fc0b8619726f0c82649f41fdcf5595b19e4
2016-06-02 06:18:59 -05:00
Anthony Ramine
c4452e295e servo: Merge #11317 - Fix the doc on inheritance and casting (from nox:castable); r=mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: f1efeb00af4cbc2a63e09d7c50b603dd1fee2df5
2016-05-21 09:29:58 -07:00
Piotr Stankiewicz
1c26a3157a servo: Merge #11255 - 11158 - add event handlers (from s-baldrick:11158); r=ConnorGBrewster
Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data:
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy --faster` does not report any errors
- [X] These changes fix #11158 (github issue number if applicable).

Either:
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because ____

Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process.

Source-Repo: https://github.com/servo/servo
Source-Revision: 5fc511a40e4f5710783cd76875fd119997307ad8
2016-05-20 21:26:41 -07:00
Connor Brewster
a9a47b0470 servo: Merge #11006 - Implement navigation events (from cbrewster:history_events); r=asajeffrey
fixes #11005

Events:
 * `PopStateEvent`
 * `HashChangeEvent`
 * `PageTransitionEvent`

Source-Repo: https://github.com/servo/servo
Source-Revision: bca625bd8e60685b92a56d42eab3599a056280f6
2016-05-12 07:27:12 -07:00
Josh Matthews
1379121bd9 servo: Merge #8454 - Implement basic <media> infrastructure (from jdm:media); r=KiChjang
This gets us to the point where we can start playing with actually integrating rust-media to process the data received by the network request, as currently it's just ignored.

Source-Repo: https://github.com/servo/servo
Source-Revision: f9d9cd3aaed3326e8935f710f800288a50156c71
2016-05-03 16:42:46 -07:00
Zhen Zhang
a3480f84e5 servo: Merge #10958 - Minor fixes to documentation (from izgzhen:fixes); r=nox
1. Looks like getters and setters are specified here already. 0385f60310/components/script/dom/bindings/mod.rs (L62)
2. The `MutNullableJS` and `Unrooted` looks obsolete

Source-Repo: https://github.com/servo/servo
Source-Revision: 5358df5a16d514d2d93a5959787af47e2f5f8452
2016-05-02 00:59:37 -07:00
Connor Brewster
364b00870a servo: Merge #10485 - Implement stub for NavigatorPlugins (from cbrewster:navigator_plugins); r=Ms2ger
This PR implements stub for NavigatorPlugins as outlined in #9991.

r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: 3b7e426d33e539303f46a0a153752683838186fc
2016-04-11 20:48:16 +05:01
Paul Rouget
e3fd7bc0f2 servo: Merge #9811 - forcetouch events (from paulrouget:forceTouch); r=mbrubeck
https://developer.apple.com/library/mac/documentation/AppleApplications/Conceptual/SafariJSProgTopics/RespondingtoForceTouchEventsfromJavaScript.html

Not sure how we want to land that yet. Maybe reproduce the webkit events (as in this PR), or as touch/mousemouse events.

Source-Repo: https://github.com/servo/servo
Source-Revision: 0ff8adb09778402e88fe0d0ad92f4b399ca8ca01
2016-04-05 20:38:05 +05:01
Mohamed Albashir
8446a0072d servo: Merge #10292 - Initial steps for CSSOM (from jdm:cssom); r=jdm
Squashed and rebased #10133.

Source-Repo: https://github.com/servo/servo
Source-Revision: f335586ff538004c708d836876b359704ebed86a
2016-04-01 04:00:08 +05:01
Sagar Muchhal
135f6ff4b2 servo: Merge #10169 - Implement initial pieces of form validation (from jdm:formvalidation); r=jdm
Rebase of #10108.

Source-Repo: https://github.com/servo/servo
Source-Revision: f56062b0698addf17d8077f11e3c12a7e3a3cb8b

--HG--
rename : servo/resources/shaders/clear.fs.glsl => servo/components/script/dom/validation.rs
2016-03-24 18:44:02 +05:01
Attila Dusnoki
a8c186678e servo: Merge #9838 - WebBluetooth API classes (from szeged:webbluetooth); r=jdm
Basic implementation of WebBluetooth API
API spec.: https://webbluetoothcg.github.io/web-bluetooth/

Source-Repo: https://github.com/servo/servo
Source-Revision: 37574065e0a1a22493bdbf1ce8dd0480aa88c758
2016-03-16 20:32:18 +05:01
Josh Matthews
926ee139a9 servo: Merge #9784 - Fix some errors in the DOM documentation (from servo:jdm-patch-1); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 5b8041147d81f56c908080c6da36d206bdc3debe
2016-02-28 01:13:47 +05:01
Paul Rouget
9bfde7b59b servo: Merge #9529 - Implement focus, blur, focusin and focusout events (from paulrouget:focusEvents); r=asajeffrey
Based on https://github.com/servo/servo/pull/7985

Fixes https://github.com/servo/servo/issues/7981

Source-Repo: https://github.com/servo/servo
Source-Revision: d8ffa3d0b85815a5ff62491f9f3bc7445834fc0e
2016-02-18 08:34:42 +05:01
Keith Yeung
53e2b5337d servo: Merge #9407 - Implement RadioNodeList (from KiChjang:radio-node-list); r=nox
I also had to implement the NamedGetter for HTMLFormControlsCollection as well, since that's the only consumer of RadioNodeList and I wanted to see which wpt test passes.

Source-Repo: https://github.com/servo/servo
Source-Revision: 0c5591a8ec3daf5fb6e415d7225c523466fdf1f0
2016-01-29 13:35:16 +05:01
Lanza
0836f58dcb servo: Merge #9381 - Implement HTMLDetailsElement. Fixes #9216 (from MonsieurLanza:htmldetails); r=KiChjang
Implement the interface HTMLDetailsElement ( // https://html.spec.whatwg.org/multipage/#htmldetailselement )

All tests pass in
tests/wpt/web-platform-tests/html/semantics/interactive-elements/the-details-element/details.html
&
tests/wpt/web-platform-tests/html/semantics/interactive-elements/the-details-element/toggleEvent.html

Anyway, no change is made on layout and attribute open currently has no effect, it just fires a toggle event.

Source-Repo: https://github.com/servo/servo
Source-Revision: 5b2d2c0ed88e8b635f91c3421b472c804dd1afe4
2016-01-20 20:29:36 +05:01
Keith Yeung
b9b11b9e68 servo: Merge #9297 - Add instructions to update create.rs when adding new DOM interfaces (from KiChjang:document-new-elements); r=ecoal95
Source-Repo: https://github.com/servo/servo
Source-Revision: 396d411ac834722430e63007d419eef0e29186a9
2016-01-14 10:41:10 +05:01
Corey Farwell
5fe7a9ed43 servo: Merge #9237 - Implement HTMLFormElement::Elements (from frewsxcv:htmlformelement-elements); r=KiChjang
Fixes #8566

Source-Repo: https://github.com/servo/servo
Source-Revision: 99d01422931cee3ee0b51d7546796de6d09fb7a0
2016-01-10 22:26:15 +05:01
rohan.prinja
d440ee6a41 servo: Merge #9201 - task -> thread (from ajnirp:8512-task-thread); r=jdm
for #8512

Source-Repo: https://github.com/servo/servo
Source-Revision: d3e2f94f2024f4735f836588ed11303a0abafdf8

--HG--
rename : servo/components/canvas/canvas_paint_task.rs => servo/components/canvas/canvas_paint_thread.rs
rename : servo/components/canvas/webgl_paint_task.rs => servo/components/canvas/webgl_paint_thread.rs
rename : servo/components/compositing/compositor_task.rs => servo/components/compositing/compositor_thread.rs
rename : servo/components/gfx/font_cache_task.rs => servo/components/gfx/font_cache_thread.rs
rename : servo/components/gfx/paint_task.rs => servo/components/gfx/paint_thread.rs
rename : servo/components/layout/layout_task.rs => servo/components/layout/layout_thread.rs
rename : servo/components/net/image_cache_task.rs => servo/components/net/image_cache_thread.rs
rename : servo/components/net/resource_task.rs => servo/components/net/resource_thread.rs
rename : servo/components/net/storage_task.rs => servo/components/net/storage_thread.rs
rename : servo/components/net_traits/image_cache_task.rs => servo/components/net_traits/image_cache_thread.rs
rename : servo/components/net_traits/storage_task.rs => servo/components/net_traits/storage_thread.rs
rename : servo/components/script/script_task.rs => servo/components/script/script_thread.rs
rename : servo/components/util/task.rs => servo/components/util/thread.rs
rename : servo/tests/unit/gfx/font_cache_task.rs => servo/tests/unit/gfx/font_cache_thread.rs
rename : servo/tests/unit/net/resource_task.rs => servo/tests/unit/net/resource_thread.rs
rename : servo/tests/unit/util/task.rs => servo/tests/unit/util/thread.rs
2016-01-10 15:20:04 +05:01
Keith Yeung
fb4077de2b servo: Merge #9029 - Implement EventSource and update test expectations (from KiChjang:event-source); r=jdm
Partial #8925.

Most of the processing model for `EventSource` are unimplemented because we currently don't have a fetch implementation.

Source-Repo: https://github.com/servo/servo
Source-Revision: 238a8786de66344d2dd6855dca25a4d4be6fa949
2016-01-07 00:09:25 +05:01
Guillaume Gomez
382da4be29 servo: Merge #8882 - Add DOMQuad element (from GuillaumeGomez:dom_quad); r=nox
cc  @nox

Part of #8821

Source-Repo: https://github.com/servo/servo
Source-Revision: 6ba4ef22fa00616dc530f6b84e05416fb6d3477e
2015-12-18 23:08:12 +05:01
Ms2ger
1e2a317f1b servo: Merge #8942 - Rename the browsercontext module (from Ms2ger:rename-bc); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: f4783a0ec30c74f93c161372de806309900172ca

--HG--
rename : servo/components/script/dom/browsercontext.rs => servo/components/script/dom/browsingcontext.rs
2015-12-12 13:49:25 +05:01
Guillaume Gomez
e2ebe34e9f servo: Merge #8675 - Add XMLDocument object (from GuillaumeGomez:master); r=nox
Fixes #8000

(Still working on it)

Source-Repo: https://github.com/servo/servo
Source-Revision: 99223656fbf6cade8c41d161a9e61a39f58ec796
2015-11-27 19:00:04 +05:01
jsharda
a3a32430d4 servo: Merge #8278 - M1503: Integrate XML5 parser (from Ronak6892:master); r=eefriedman
Hi,

This is for NCSU fall 15 project for Mozilla.

We have included changes for initial steps in this pull request.
https://github.com/servo/servo/wiki/Integrate-xml5ever

Kindly review !

Source-Repo: https://github.com/servo/servo
Source-Revision: 65a1a28860ac8858a02be6d26b262a61d040beb1

--HG--
rename : servo/components/script/dom/webidls/ServoHTMLParser.webidl => servo/components/script/dom/webidls/ServoXMLParser.webidl
2015-11-05 08:43:44 +05:01
rohan.prinja
e8b504412b servo: Merge #8221 - move modules around (from ajnirp:8130-reorganise); r=jdm
for #8130

Source-Repo: https://github.com/servo/servo
Source-Revision: daad09d44245228fba9118316937add71bec7c58
2015-11-04 02:27:02 +05:01
Matt Brubeck
a4f7ce3218 servo: Merge #7204 - Very basic touch events and touch scrolling (from mbrubeck:touchevent); r=jdm
This implements just enough of [Touch Events](http://w3c.github.io/touch-events/) to enable scrolling on Android without regressing basic single-touch interaction like clicking on links.

Dragging a page will scroll it, unless the page calls `preventDefault` on the "touchstart" event.

Does **not** yet support pinch zooming or other multi-touch gestures or events.

Includes a `-Z convert-mouse-to-touch` command line flag for testing on non-touch platforms.  This is also enabled by default on Android because Glutin currently translates touch input to mouse events on Android.

Source-Repo: https://github.com/servo/servo
Source-Revision: dcd207f9bf15c9ecf5d043385ba93277e69201f6
2015-10-22 15:54:01 -06:00
Anthony Ramine
bb8125a3da servo: Merge #8041 - Introduce trait Castable (from nox:castable); r=jdm
Removes all those messy FooCast structures in InheritTypes.rs.

Source-Repo: https://github.com/servo/servo
Source-Revision: 674589c370d978f543e71f995d58c5b28e6e9842
2015-10-21 07:57:32 -06:00
Till Schneidereit
35d5d9d31f servo: Merge #7415 - Improve implementation of DOMRect and implement DOMRectReadOnly (from tschneidereit:dom-rect); r=nox
Passes most tests from test-css. The remaining ones should pass once we have https://github.com/w3c/csswg-test/pull/834.

r? @Ms2ger

Source-Repo: https://github.com/servo/servo
Source-Revision: 810d28a2574cd288ddfa5737ade417ea53a4b690
2015-10-17 15:17:27 -06:00
Dongie Agnir
a1c7fb0be8 servo: Merge #7990 - Add newline so code sample is parsed correctly (from dagnir:formatting-fix); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: efdaf5e7e5923d1078ed7b12b96325e2411cc3d2
2015-10-13 02:12:28 -06:00
Corey Farwell
41ad1c9129 servo: Merge #7958 - Consolidate magic number representing max unsigned long (from frewsxcv:consolidate-magic-number); r=mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: 02d889494580d2b387a42d3a94360e40dce96282
2015-10-10 15:00:39 -06:00
Emilio Cobos Álvarez
8ff28f34dd servo: Merge #7843 - webgl: Implement WebGLContextEvent and use it on context creation error (from emilio:webgl-context-event); r=jdm
spec: https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.15
Source-Repo: https://github.com/servo/servo
Source-Revision: 0b6cb92d786a438cf7d9b2ca5b199172052e29bd
2015-10-07 17:04:10 -06:00
Ravi Shankar
7d512d50d1 servo: Merge #7698 - sorted the declarations in various files (from Wafflespeanut:sorting); r=frewsxcv
This is a direct extract from my abandoned PR for a lint (#7546), along with some rather clumsy modifications (only on `components/script/dom/mod.rs` and `components/style/lib.rs`), because I had to sort some of the files again to make peace with tidy, which hasn't been educated about sorting yet!

Source-Repo: https://github.com/servo/servo
Source-Revision: a7208869f2903e36f9b2f540b55b50283d7df466
2015-09-23 15:02:56 -06:00
Hugo Thiessard
357588437d servo: Merge #7680 - fixes #7390 : tidy now check the order of mod declarations even whith attribute (from Mylainos:Issue-#7390); r=metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: d1b85de762c0193276010a019f931526c34c04ce
2015-09-18 14:44:48 -06:00
wilmoz
b05007f610 servo: Merge #7337 - Documentation of inheritance in type ids (from wilcus:InheritanceDocumentation); r=mbrubeck
Aditional documentation about this issue https://github.com/servo/servo/issues/7205

Source-Repo: https://github.com/servo/servo
Source-Revision: da0b9d7c0185f0898fd47f5326e8e084d08a2fc0
2015-09-04 21:18:52 -06:00
Anthony Ramine
d2ee701ee9 servo: Merge #7401 - Remove helper traits (from nox:rm-helpers); r=Manishearth
Now that `JSRef<T>` is gone, there is no need to have helper traits.

Source-Repo: https://github.com/servo/servo
Source-Revision: 909429702972d53bf02dfe9a4aa93ea0cb588cf4
2015-08-27 09:38:48 -06:00
Bogdan Cuza
fa993d4367 servo: Merge #6714 - Implement a FileList (from boghison:filelist); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: b7261a2073dcb66473907dbb25282f05f9bfe3d3
2015-08-01 20:16:14 -06:00
farodin91
f8348d597e 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
5e560077e5 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
Tim Taubert
0cceca72b1 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
Anthony Ramine
7a203febfd 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
Michael Wu
7512d04e93 servo: Merge #6150 - Upgrade to Spidermonkey 39 (from servo:smupgrade3); r=mbrubeck
> Here it is.
>
> ~~There's two major things that are unfinished here:~~
> - ~~Dealing with the unroot_must_root lint. I'm not sure about the value of this lint with the new rooting API.~~ Done.
> - ~~Updating the Cargo.locks to point to the new SM and SM binding.~~ Done.
>
> I also included my fixes for the rust update, but these will disappear in a rebase. A rust update is necessary to support calling `Drop` on `Heap<T>` correctly when `Heap<T>` is inside a `Rc<T>`. Otherwise `&self` points to the wrong location.
>
> Incremental GC is disabled here. I'm not sure how to deal with the incremental barriers so that's left for later.
>
> Generational GC works. SM doesn't work without it.
>
> The biggest change here is to the rooting API. `Root` was made movable, and `Temporary` and `JSRef` was removed. Movable `Root`s means there's no need for `Temporary`, and `JSRef`s aren't needed generally since it can be assumed that being able to obtain a reference to a dom object means it's already rooted. References have their lifetime bound to the Roots that provided them. DOM objects that haven't passed through `reflect_dom_object` don't need to be rooted, and DOM objects that have passed through `reflect_dom_object` can't be obtained without being rooted through `native_from_reflector_jsmanaged` or `JS::<T>::root()`.
>
> Support for `Heap<T>` ended up messier than I expected. It's split into two commits, but only because it's a bit difficult to fold them together. Supporting `Heap<T>` properly requires that that `Heap::<T>::set()` be called on something that won't move. I removed the Copy and Clone trait from `Heap<T>` so `Cell` can't hold `Heap<T>` - only `UnsafeCell` can hold it.
>
> `CallbackObject` is a bit tricky - I moved all callbacks into `Rc<T>` in order to make sure that the pointer inside to a `*mut JSObject` doesn't move. This is necessary for supporting `Heap<T>`.
>
> `RootedCollectionSet` is very general purpose now. Anything with `JSTraceable` can be rooted by `RootedCollectionSet`/`RootedTraceable`. Right now, `RootedTraceable` is only used to hold down dom objects before they're fully attached to their reflector. I had to make a custom mechanism to dispatch the trace call - couldn't figure out how to get trait objects working for this case.
>
> This has been tested with the following zeal settings:
>
> GC after every allocation
> JS_GC_ZEAL=2,1
>
> GC after every 100 allocations (important for catching use-after-free bugs)
> JS_GC_ZEAL=2,100
>
> Verify pre barriers
> JS_GC_ZEAL=4,1
>
> Verify post barriers
> JS_GC_ZEAL=11,1

Source-Repo: https://github.com/servo/servo
Source-Revision: e7808c526c348fea5e3b48af70b7f1a066652097
2015-06-19 16:46:55 -06:00
Jack Moffitt
85fd686b68 servo: Merge #6408 - Generate code into OUT_DIR (from metajack:script-outdir); r=SimonSapin
This is necessary to ensure Cargo knows when to rebuild. Normally
.gitignore would be enough to exclude these from Cargo's freshness
calculation, but https://github.com/rust-lang/cargo/issues/1729 prevents
this currently. This is the new, correct way to do these thigns, just
like the style crate does.

Source-Repo: https://github.com/servo/servo
Source-Revision: ff59e1b8de67f1988522d6b6e6c4adda957fad5b
2015-06-17 16:36:05 -06:00
ecoal95
126dc71f5c 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
Ms2ger
1bb7c4d069 servo: Merge #6323 - Fix a typo in the DOM documentation (from Ms2ger:typo); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: c86e461555902ad88d25163724798b333d21c0ef
2015-06-10 07:30:09 -06:00