Commit Graph

2652 Commits

Author SHA1 Message Date
Anthony Ramine
df113c71e3 servo: Merge #18480 - Store microtask queues directly in GlobalScope (from servo:rc-microtask-queue); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 2c576e5613b16ba9353461498086b279c283e018
2017-09-13 09:18:41 -05:00
Matt Brubeck
4ac4e44aa7 servo: Merge #18431 - Use SmallBitVec to optimize size of PropertyDeclarationBlock (from mbrubeck:pdb-size); r=SimonSapin
https://bugzilla.mozilla.org/show_bug.cgi?id=1398322

Source-Repo: https://github.com/servo/servo
Source-Revision: e7f45028dcd4d7015b4eed2ecc193e176b1fbd1c
2017-09-11 08:57:07 -05:00
tigercosmos
70e7d1a621 servo: Merge #18372 - TEST: fix and add case of po-observe.any.js (from tigercosmos:userTimingApi); r=ferjm
<!-- Please describe your changes on the following line: -->
1. implementing step 3 from the [`PerformanceObserver.observe()`](https://w3c.github.io/performance-timeline/#dom-performanceobserver-observe()) method spec properly.
2. also add cases about step 1 & 2

work on the top of #18283

 r? @ferjm
---
<!-- 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 #18285 (github issue number if applicable).

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

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- 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: 6a09b1d21abd66d6954d8107f4439c33054ee264
2017-09-11 05:26:46 -05:00
Daniel Johnson
590a2800a6 servo: Merge #17083 - "javascript:" urls: execute in correct global scope (from danielj41:javascript-url-global-3); r=jdm
<!-- Please describe your changes on the following line: -->

#### Summary

This pull request makes `javascript:` urls execute in the correct global scope.

#### Example

```html
<script> var x = 4; </script>

<!-- this branch: logs "4" -->
<!-- master: undefined variable error -->
<a href="javascript:console.log(x)">link</a>
```

#### Questions

I'm new to servo and rust, so I'm unsure about these changes. In particular:
  * What's the appropriate place to evaluate the js?
    * I moved it to `handle_navigate`, but I'm not sure if this will catch all occurrences of `javascript:` urls. I also don't know if this will execute in the correct thread and the correct window.
  * What should I do with the result of the js evaluation?
    * I just ignored it. The previous behavior displayed it as the content of a new page load.

---
<!-- 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 #15147, #16718

<!-- Either: -->
- [x] There are tests for these changes

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- 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: 40c8a6389afdad8fdffdf4a5616627f9a51b1822
2017-09-09 04:39:43 -05:00
P. Albrecht
3486a15d03 servo: Merge #18370 - An observer disconnected after a mark must receive the mark (from pylbrecht:observer); r=ferjm
<!-- Please describe your changes on the following line: -->
I worked on top of #18283 as suggested [here](https://github.com/servo/servo/issues/18284#issuecomment-326043873).

r? @ferjm

<!-- 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 #18284 (github issue number if applicable).

<!-- Either: -->
- [X] There are tests for these changes

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- 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: 867d542261336d918177f8780ef915b7ec84e3ba
2017-09-08 13:04:26 -05:00
Fernando Jiménez Moreno
14a5e1b43d servo: Merge #18341 - stylo: Error reporting for unknown media features (from ferjm:bug1384225.media.errors); r=jdm
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix [bug 1384225](https://bugzilla.mozilla.org/show_bug.cgi?id=1384225)

Source-Repo: https://github.com/servo/servo
Source-Revision: fef2cfde8cc6688c63cde1966b081a4698a5d977
2017-09-08 11:14:51 -05:00
Anthony Ramine
29a9e3817e servo: Merge #18411 - Rename VirtualMethods::attribute_is_mapped (from servo:rename-preshint-method); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: e9336b39a6c24037f8dce1bbc85f437af5f439d7
2017-09-07 15:56:01 -05:00
Fernando Jiménez Moreno
5a57c9e3c7 servo: Merge #18283 - User Timing API (from ferjm:user.timing.api); r=jdm
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #18109
- [X] There are tests for these changes. I enabled the peformance-timeline API WPTs but some of them are still failing because of implementation bugs or missing APIs (Resource Timing, for instance) the tests are dependent of. I'll file issues to fix them.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1e93749941d2e3569c7c907832658c57ffb18c72
2017-09-07 12:45:46 -05:00
Anthony Ramine
6b5df92d6e servo: Merge #18406 - Start cleaning up HTMLMediaElement a bit (from servo:cleanup-media); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 3a7539a442a1672cd370c3188faf7f7803005222
2017-09-07 11:41:12 -05:00
P. Albrecht
74332f8fab servo: Merge #18405 - Handle dynamic font color change (from pylbrecht:dynamic.attribute.change); r=emilio
<!-- 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] These changes fix #18371.

<!-- Either: -->
- [X] There are tests for these changes

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 85167c8b7d2fb0e0e90283db750b601d789cd6ea
2017-09-07 10:24:16 -05:00
Josh Matthews
d282d094b6 servo: Merge #18382 - Add CEReactions to element creation APIs (from servo:jdm-patch-1); r=cbrewster
This addresses https://github.com/whatwg/dom/pull/506.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes do not require tests because they will exist upstream in the future.

Source-Repo: https://github.com/servo/servo
Source-Revision: 4ada03febf2ecdae8220f174a80d22a49a232c5f
2017-09-06 09:38:58 -05:00
Imanol Fernandez
49bb755c23 servo: Merge #18383 - Fix WebGL texture_float and texture_half_float detection on some GPUs (from MortimerGoro:float_textures); r=emilio
<!-- Please describe your changes on the following line: -->

Fix WebGL texture_float and texture_half_float detection on some GPUs. Some of them use different extension names.

---
<!-- 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: -->
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- 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: c6e774e69a243365074daae7998dec1b2ec6bee3
2017-09-05 20:23:52 -05:00
Fernando Jiménez Moreno
f4e6c31a8a servo: Merge #18324 - Make Performance Timeline API work in Workers (from ferjm:performance.workers); r=jdm
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #18286 and #18308

This patch makes the Performance Timeline API work in workers, removes the exposure of `Performance.timing` in workers and sets the appropriate value of `Performance.now()` in workers.

Source-Repo: https://github.com/servo/servo
Source-Revision: 42de8e3d3fe8927b4730a7a42880eb46f743384a
2017-09-05 17:00:26 -05:00
Anthony Ramine
8a86526a62 servo: Merge #18368 - Do not NIH queueing a task to fire an event in htmlmediaelement (from servo:media-event-cleanup); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 293ffa06daa5cd2c3588833af3ed211ed3935d36
2017-09-04 09:20:53 -05:00
toidiu
0a094a4dea servo: Merge #18361 - change function signature to get type name via intrinsics (from toidiu:ak-18354); r=emilio
<!-- Please describe your changes on the following line: -->
change function signature to get type name via intrinsics

---
<!-- 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 #18354 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because stated in the PR that it was not required

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- 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: 887b011288f832634eed634769b5d2ec48f0e24d
2017-09-03 16:28:25 -05:00
Anthony Ramine
bca6a0cd81 servo: Merge #18358 - Properly change the kind of the given attribute in SetAttributeNode (from servo:change-attr-kind); r=emilio
Fixes #18357.

Source-Repo: https://github.com/servo/servo
Source-Revision: 096912101b2ea8702a0337aae092241b930d6b5d
2017-09-03 13:05:00 -05:00
Joone Hur
17274fd97b servo: Merge #18242 - Implement Ellipse Canvas 2D API (from joone:ellipse); r=jdm
This patch needs to update rust-azure to 0.21.0.

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #17598

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 3a4b98ad38214495ac0f1f1aa1052f0c583ffe5c
2017-09-01 20:25:57 -05:00
Simon Sapin
7fb0568b4c servo: Merge #18327 - Upgrade to rustc 1.21.0-nightly (7eeac1b81 2017-08-30) (from servo:rustup); r=nox
Fix this error in the new Rust Nightly:

```rust
   Compiling script v0.0.1 (file:///home/simon/servo2/components/script)
error[E0599]: no method named `trace` found for type `&fn(&dom::node::Node) -> u16` in the current scope
   --> /home/simon/servo2/components/script/dom/treewalker.rs:464:10
    |
464 | #[derive(JSTraceable)]
    |          ^^^^^^^^^^^
    |
    = note: JSTraceable is a function, perhaps you wish to call it
    = help: items from traits can only be used if the trait is implemented and in scope
    = note: the following trait defines an item `trace`, perhaps you need to implement it:
            candidate #1: `dom::bindings::trace::JSTraceable`

error: aborting due to previous error

error: Could not compile `script`.
```

~I’ve tried to reproduce it in a minimal test case, but `impl<A, B> SomeTrait for fn(A) -> B` did not apply for `fn(&u32) -> u32` even on Rust 1.19.0 stable. So I don’t know what changed.~ This is very likely https://github.com/servo/servo/pull/18327.

Source-Repo: https://github.com/servo/servo
Source-Revision: fd833d9f18cd9196502b9768ab0ac8c1498b2f68
2017-09-01 13:54:08 -05:00
Anthony Ramine
5c09775188 servo: Merge #18314 - Use absolute paths in the event handlers macros (from servo:macro-imports); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 15c57e8d54f7aae99a42644333060aabaee1c989
2017-09-01 05:51:00 -05:00
Imanol Fernandez
1ef69aaa28 servo: Merge #18332 - Reuse WebGL ImageKeys after a resize (from MortimerGoro:webgl_reuse_image); r=glennw
<!-- Please describe your changes on the following line: -->

WebRender does now support resizing with the same image key

---
<!-- 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: -->
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- 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: 3dceb111587178cdff60041d76a2544f275e6371
2017-09-01 01:22:38 -05:00
Anthony Ramine
78ebf4e2ac servo: Merge #18309 - Update the WebIDL parser (from servo:webidl); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: ed9fb55366845fdcfae9a7418acd73052a0d4757
2017-08-31 04:57:12 -05:00
Emilio Cobos Álvarez
7d0d7a9aa2 servo: Merge #18268 - style: Recascade the document instead of using the dirty_on_viewport_size_change bit (from emilio:dirty-viewport-followup); r=SimonSapin
This allows us to simplify a lot of code.

On top of #18267.

Source-Repo: https://github.com/servo/servo
Source-Revision: 473934c989c94773c38f585b1c4500cd8c811738
2017-08-29 14:18:58 -05:00
Tom Tromey
c7e82e819a servo: Merge #18276 - Use cssparser's new_with_line_number_offset (from tromey:cssparser-line-number-offset); r=SimonSapin
cssparser provides a way to set the initial line number on a
ParserInput.  This patch changes servo to use this facility, rather than
reimplement the same functionality itself.

---

- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #_N/A_ (github issue number if applicable).

- [ ] There are tests for these changes OR
- [x] These changes do not require tests because pre-existing tests cover this change.

Source-Repo: https://github.com/servo/servo
Source-Revision: 4804e211e859c730c0d2a116296560c5cbe867ee
2017-08-28 22:57:13 -05:00
Raphaël Lustin
3d38fe3e30 servo: Merge #18269 - Use Filter buffer by name and type algorithm implementation (from rlustin:filter-buffer-by-name-and-type); r=ferjm
Following #18176, it uses the new implementation and removes the old one.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #18186
- [x] These changes do not require tests because it’s only internal changes in `components/script/dom/performance.rs`

Source-Repo: https://github.com/servo/servo
Source-Revision: c2deac171d2407579b4fd0284b5f3c71be696f2d
2017-08-28 11:18:52 -05:00
Emilio Cobos Álvarez
8e5c3d75d2 servo: Merge #18267 - style: Don't look for viewport units in stylesheets (from emilio:dirty-on-viewport-size-change); r=SimonSapin
Use whether we've computed any viewport unit instead.

This is more accurate (we avoid restyling unnecessarily if we've found anything
ever on the stylesheet, but that hasn't matched).

This has the benefit of also matching Gecko, and simplify some code and
fishyness around, and also hopefully speeding up stylesheet parsing.

Source-Repo: https://github.com/servo/servo
Source-Revision: 96b4e064a1f0b0fc1ee2811d0c1b528f85a718c6
2017-08-28 08:48:47 -05:00
Remi THEBAULT
856d31c53f servo: Merge #18176 - PerformanceObserverInit.buffered (from rtbo:perf_observer_buffered); r=ferjm
Per #18108, add `buffered` flag in the `PerformanceObserverInit` dict.
Per W3C spec, when `buffered` is set, `PerformanceObserver.observe()` method adds the entries buffered in the `Performance` instance into the observer's entry buffer.
One step is the implementation of the [filter by name and type](https://w3c.github.io/performance-timeline/#filter-buffer-by-name-and-type) algorithm. Don't think that the sort operation is useful in this case, but the spec states that this algorithm is to be used.

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #18108
- [X] These changes do not require tests (yet) because the timeline API is not powered.

Source-Repo: https://github.com/servo/servo
Source-Revision: ced303b9cbc193b5ebf221cbf2048ac1e7d0d552
2017-08-28 02:20:29 -05:00
Imanol Fernandez
8fceb357a0 servo: Merge #18221 - Use FnvHashMap in WebGL implementation (from MortimerGoro:webgl_fnv); r=jdm
<!-- Please describe your changes on the following line: -->

Follow up from the WebGL redesign: https://github.com/servo/servo/pull/17891

---
<!-- 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: -->
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- 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: 4598ddb0bcf62aa2ec54d896a67eae20db4588c0
2017-08-24 16:25:53 -05:00
Josh Matthews
ab437a0352 servo: Merge #18209 - Devirtualize CSS error reporting (from jdm:devirtualize); r=mbrubeck
This removes a trait object from the path of reporting a CSS error.

---
- [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

Source-Repo: https://github.com/servo/servo
Source-Revision: d4ddec8d33dbdaa248ae45d7c8ff58cfca7d7a5e
2017-08-24 13:19:25 -05:00
Clément DAVID
a6c6efb7e6 servo: Merge #18179 - Automatically verify that derive() lists are alphabetically ordered #… (from davidcl:master); r=jdm
<!-- Please describe your changes on the following line: -->
Automatically verify that derive() lists are alphabetically ordered #18172

---
<!-- 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 #18172 (github issue number if applicable).

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

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- 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: 474369618965569407d127b1e8c481e757cc59d3
2017-08-23 17:18:31 -05:00
Fernando Jiménez Moreno
a21bd23c41 servo: Merge #18155 - Add paint metrics to Performance Timeline API (from ferjm:pwm.perf.timeline); r=jdm
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #18111
- [X] There are tests for these changes

Source-Repo: https://github.com/servo/servo
Source-Revision: 173079c14498f0ef4810ffbaf8f4c03acf557eed
2017-08-23 15:06:12 -05:00
Bruno Bernardino
2d40146e2c servo: Merge #18020 - Implement CanvasRenderingContext2d.fillText's "unimplemented" message (from BrunoBernardino:feature-canvas-filltext); r=jdm
Basic skeleton for implementing CanvasRenderingContext2d.fillText,  only adding methods and parameters in the right place, and a basic test, with some `println!()`.

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

This is only the beginning. It were my first couple of hours looking at Rust and Servo.

However, I have _no clue_ how to get the text to render now (basically go from the `println!()` to something else).

It's also possible I messed something up with the `DOMString.parse()` but not entirely sure.

I'm doing this PR as a starting point to get help and learn more about this, _or_ at least maybe save someone some time while implementing this, if no one's able to take the time and show me where/how.

Because it's still a work-in-progress, I'm leaving the boxes below unchecked (even though there are no errors).

---
<!-- 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 #11681 and #17963

<!-- Either: -->
- [x] There are tests for these changes

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- 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: acd08c75f7ac87d4a61e214816a5f6d47c4a1310
2017-08-23 14:00:47 -05:00
Jonathan Jayet
54d1926091 servo: Merge #18189 - First step toward iOS Support (from JJayet:ios_support); r=larsbergstrom
This mostly prevents Gaol/sandboxing to be used during compilation.
There are a number of issues with : `expat-sys`, `servo-freetype-sys`, `fontsan`, `heartbeats-simple-sys`, `mozjs_sys`.

Also modified `components/script/dom/navigatorinfo.rs` in order to add iOS.

```rust
#[cfg(target_os = "ios")]
pub fn Platform() -> DOMString {
    DOMString::from("iOS")
}
```

See here for more informations : https://github.com/servo/servo/issues/18154

---

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [ ] These changes partially work on #18154

- [X] These changes do not require tests because it deals with the compile toolchain

Source-Repo: https://github.com/servo/servo
Source-Revision: e61a043a567f2d8766b9bbecb88b3a9bfb7808d8
2017-08-23 10:59:39 -05:00
Imanol Fernandez
a09c779593 servo: Merge #18177 - Implement WebGL OES_standard_derivatives extension (from MortimerGoro:oes_standard_derivatives); r=emilio
<!-- Please describe your changes on the following line: -->

Implement WebGL OES_standard_derivatives extension. Some Three.js 3D models fail to render because of the lack of this extension.

---
<!-- 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: -->
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- 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: 85e6f6f7cc7edc961e246d8ac50b8dc18b0b2617
2017-08-22 17:45:00 -05:00
Pyfisch
bd1354f663 servo: Merge #18093 - Add CompositionEvent bindings (from pyfisch:compositionevent); r=jdm
<!-- Please describe your changes on the following line: -->
Needed for better keyboard input. See also #17578

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

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

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- 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: 111e9951c9e4669302eed0a5109437cfa8a446b6
2017-08-22 16:03:23 -05:00
Emilio Cobos Álvarez
6a55053fa7 servo: Merge #18170 - style: Move the StyleSheetSet into the Stylist (from emilio:stylist-stylesheet-set); r=SimonSapin
This will allow tracking whether there have been only additions to the
stylesheet set, and in that case don't destroy and completely rebuild the
invalidation map.

This is on top of #18143.

Source-Repo: https://github.com/servo/servo
Source-Revision: 019b125963d4db9b18991d3ab06042e475c83f9f
2017-08-22 11:45:42 -05:00
Nikhil Shagrithaya
6b2f7ee0ca servo: Merge #18056 - End TreeBuilder's reliance on DOM (from cynicaldevil:remove-treesink-dep-on-dom); r=nox
<!-- 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: -->

Fixed h5e's TreeBuilder so that it does not use `same_tree` and `has_parent_node` methods: d8c2ea5cb6
<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- 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: 62d0de349debf54c32e865e813eac43fb83df7be
2017-08-18 16:27:05 -05:00
Connor Brewster
18310b0f62 servo: Merge #18146 - Annotate insertAdjacentHTML with CEReactions (from cbrewster:insertadjacenthtml_cereactions); 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
- [ ] These changes fix #__ (github issue number if applicable).

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

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- 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: 4918d3f148b4b020ffda470d0337e695bbf805fc
2017-08-18 14:09:15 -05:00
Emilio Cobos Álvarez
b568732851 servo: Merge #18142 - style: Less messy namespace handling (from emilio:less-mess-ns); r=SimonSapin
This PR accounts for the fact that the namespace table is only needed in
`NestedRuleParser`, and only for style rules, in order to simplify the setup and
be able to fix a few bugs wrt parsing of invalid rules.

Source-Repo: https://github.com/servo/servo
Source-Revision: 941e0dbb5a125861e20484271a1636e8035e5507
2017-08-18 12:58:46 -05:00
Emilio Cobos Álvarez
1a34bdd5ed servo: Merge #18124 - style: Replicate the list of stylesheets on the layout thread (from emilio:stylist-stylesheets); r=SimonSapin
This is a patch that unifies a bit how Gecko and Stylo stylesheets work, in
order to be able to eventually move the stylesheets into the stylist, and be
able to incrementally update the invalidation map.

This is on top of #18113

Source-Repo: https://github.com/servo/servo
Source-Revision: 81a382cb00134450f3723caf682bb5ca8cca317f
2017-08-18 08:33:35 -05:00
Connor Brewster
3b46afee75 servo: Merge #18092 - Only run DOMTokenList update steps if token was found (from cbrewster:ce_domtokenlist); 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
- [ ] These changes fix #__ (github issue number if applicable).

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

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- 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: 90a75d41b787e47fa12e90966cd7398291e5f53a
2017-08-17 21:00:10 -05:00
Imanol Fernandez
e1984148e0 servo: Merge #18127 - Fix bound textures and framebuffers when a WebGL Canvas is resized (from MortimerGoro:webgl_bind_tex2d); r=emilio
<!-- Please describe your changes on the following line: -->

Fix bound textures and framebuffers when a WebGL Canvas is resized. This causes some invisible textures in WebGL based games.

---
<!-- 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: -->
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- 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: e23ae30489886872f5339f0ed38fce88bc6f8ec6
2017-08-17 14:06:10 -05:00
Fernando Jiménez Moreno
f149cfd6f3 servo: Merge #18028 - Performance Timeline API (from ferjm:performance.timeline); r=jdm
[Performance Timeline API](https://www.w3.org/TR/performance-timeline-2/) implementation.

This API is required to allow DOM access to the [Paint Timing API](https://wicg.github.io/paint-timing/#example) metrics implemented in #17256. Unfortunately, I couldn't test it properly, as its usage depends on other APIs like the Paint Timing, User Timing, Resource Timing or Server Timing APIs. I'll work in the integration with the Paint Timing API next.

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [ ] There are [WPTs](https://github.com/servo/servo/tree/master/tests/wpt/web-platform-tests/performance-timeline) for this API, however they depend on the implementation of the User Timing and the Resource Timing APIs, which I'll hopefully be implementing soon.

Source-Repo: https://github.com/servo/servo
Source-Revision: 6988c7424ddfdd9a98e6a458ff2ad307a74237aa
2017-08-17 12:27:19 -05:00
Emilio Cobos Álvarez
92bf33c235 servo: Merge #18113 - script: Optimize CompareDocumentPosition (from emilio:node-is-before); r=nox
I need this to compute the proper insertion point for a given stylesheet.

Source-Repo: https://github.com/servo/servo
Source-Revision: b6e0f4e9523d61ddbcef755e2d5887e05016e0a4
2017-08-17 10:03:54 -05:00
Tom Tromey
79a38e925a servo: Merge #18073 - Expose the source map URL on a style sheet (from tromey:source-map-url); r=SimonSapin
This changes Servo to track the source map URL of a style sheet.  This
parallels a change going in to Gecko:
https://bugzilla.mozilla.org/show_bug.cgi?id=1388855

<!-- 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] These changes fix N/A - but see the bug in Bugzilla (github issue number if applicable).

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

Note also that there are tests going into M-C as well as part of bug 1388855.

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- 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: 6ddbf56647dde5e0bb50477b417f6781c9e47600
2017-08-17 08:08:16 -05:00
Anthony Ramine
54d7d02d35 servo: Merge #18118 - Revert "Auto merge of #18114 - emilio:revert-webgl-refactor, r=nox" (from servo:oops-webgl); r=emilio
This reverts commit 4d10d39e8fe841c5fe2ac58da2daaa13c10c140e, reversing
changes made to ee94e2b7c0bd327abe8f9545b2a1f792f67a2bdd.

Source-Repo: https://github.com/servo/servo
Source-Revision: fbabcaf614662a52eace21a64f27802c7eff4304
2017-08-17 00:26:08 -05:00
Connor Brewster
647654b30e servo: Merge #17250 - Unwrap function before calling IsConstructor (from cbrewster:unwrap_constructor); r=jdm
`IsConstructor` returns true for all wrappers that are callable. Wrapped
arrow functions are callable and thus `IsConstructor` will return true
if given one; however, if we unwrap the arrow function, `IsConstructor`
will return false. The latter is the correct behavior here.

---
<!-- 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: -->
- [X] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- 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: cdd4de9c06024d2b92adb44ed7b74392a0ba0e86
2017-08-16 17:09:37 -05:00
Nazım Can Altınova
15f26a6769 servo: Merge #18115 - stylo: Add a pref checking mechanism for alias properties (from canaltinova:alias-pref); r=Manishearth,xidorn
This pr reviewed by Manishearth and xidorn in bugzilla.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix [Bug 1344314](https://bugzilla.mozilla.org/show_bug.cgi?id=1344314)

Source-Repo: https://github.com/servo/servo
Source-Revision: dca1150ea1ff85d3bf0af70437a24cc32a9b6d94
2017-08-16 15:45:49 -05:00
Emilio Cobos Álvarez
a5deadb482 servo: Merge #18114 - Revert "Auto merge of #17891 - MortimerGoro:webgl_move, r=glennw,emilio" (from emilio:revert-webgl-refactor); r=nox
This reverts commit 90f55ea4580e2a15f7d70d0491444f18b972d450, reversing
changes made to 2e60b27a2186a8cba4b952960155dfcf3f47d7db.

Doing that per Josh's request, since it's causing very frequent intermittent OOMs on the android builders.

Source-Repo: https://github.com/servo/servo
Source-Revision: 4d10d39e8fe841c5fe2ac58da2daaa13c10c140e
2017-08-16 09:45:13 -05:00
Imanol Fernandez
58e7b33201 servo: Merge #17891 - Improved WebGL architecture (from MortimerGoro:webgl_move); r=glennw,emilio
<!-- Please describe your changes on the following line: -->

Info about the big picture and the goals of the WebGL refactor in this thread: https://groups.google.com/forum/#!topic/mozilla.dev.servo/0WMGz60kKzQ

I tried to reduce this PR as much as possible as requested in the thread. I'll do separate PRs for other features (e.g.: Batch messages or use shared memory to improve frame times) or fixes.

Some tips to ease the review process:
- Most changes in DOM objects follow the same pattern (remove CanvasMsg wrapper and use the new sender method).
- WebGLCommands are the same ones as before (moved from webrender_api). So those lines are already reviewed.
- See WebGL traits in [components/canvas_traits/webgl.rs](https://github.com/servo/servo/pull/17891/files#diff-8701045d01505418701d0631d4d45562)
- See WebGLThread and WR External Image bridge in [components/canvas/webgl_thread.rs](https://github.com/servo/servo/pull/17891/files#diff-281554879f39a2a041f7a69d442a5d2e)
- The implementation submitted in this PR creates a single `WebGLThread` for all ScriptThread/Pipelines. See that in [components/canvas/webgl_mode/inprocess.rs](https://github.com/servo/servo/pull/17891/files#diff-250070c6c5a38c7f9fa0f5b3c101f68b)

The conformance tests will help to guarantee that we don't miss anything.

---
<!-- 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: -->
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- 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: 90f55ea4580e2a15f7d70d0491444f18b972d450
2017-08-15 16:00:10 -05:00
Simon Sapin
6ea0512630 servo: Merge #18046 - Upgrade to rustc 1.21.0-nightly (13d94d5fa 2017-08-10) (from servo:rustup); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 7d9b82b9efa7b10a2e34d93df5ac535d99518f7a
2017-08-15 07:31:04 -05:00