Commit graph

22512 commits

Author SHA1 Message Date
bors-servo
f78ca5794a
Auto merge of #24564 - paulrouget:initButtons, r=jdm
Properly set MouseEvent buttons property

Properly set MouseEvent buttons property. Same behavior as Chrome and Firefox.

---
<!-- 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 #24363 (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. -->
2019-10-29 00:57:40 -04:00
bors-servo
1b77e42d79
Auto merge of #24573 - teapotd:is-point-in-path-nan, r=jdm
Return false from CanvasState::is_point_in_path for NaN/infinite values

Servo doesn't pass WPT test `/2dcontext/path-objects/2d.path.isPointInPath.nonfinite.html` when built with raqote (see [here](https://github.com/servo/servo/pull/24470#issuecomment-546009000)).
This change adds a missing check for NaN/infinite values in `CanvasState::is_point_in_path` and fixes this.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #24540
- [X] These changes do not require tests because WPT tests cover it
2019-10-28 19:53:49 -04:00
teapotd
35a48a7577 Return false from CanvasState::IsPointInPath for NaN/infinite values 2019-10-28 17:43:24 +01:00
Paul Rouget
3a8d306281 Properly set MouseEvent buttons property 2019-10-28 17:11:45 +01:00
bors-servo
bb2c03a600
Auto merge of #24557 - servo:rustup, r=jdm
Upgrade to rustc 1.40.0-nightly (246be7e1a 2019-10-25)
2019-10-28 11:24:33 -04:00
Tamas Keri
e27b80aad5 Delete superfluous comment
Deleted unnecessary commit, because
the 'WebGLSampler' was implemented.
2019-10-28 10:15:25 +01:00
bors-servo
0c20fba2ab
Auto merge of #24546 - garasubo:refactor-submission, r=paulrouget
Re-add missing commit in PR #24489

Fix #22782

I'm sorry, but I failed to add one of commits during the squash phase in #24489.
Could you review and merge this?

---
<!-- 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
- [ ] 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. -->
2019-10-28 01:31:07 -04:00
bors-servo
2ad6e94091
Auto merge of #24525 - glowe:issue-23009/separate_angle_and_disable_vsync, r=jdm
Issue 23009/separate angle and disable vsync

The `--angle` and `--disable-vsync` options were declared as global options, but only used in the Glutin embedding for desktop builds. Moving them to the Glutin embedding code makes them easier to update in the future.

I modified `opts::from_cmdline_args` to accept a `getopts::Options` (as prescribed in the issue) and augmented `opts::ArgumentParsingResult` to include an `opts::Matches` and `content-process` String when appropriate. I could use some feedback on this last bit. I could have changed the function to return `opts::Matches` and have the embedding code look for the presence of `content-process`, but I felt that the approach I went with was closer to the original design.

The other aspect I'm not sure about is moving `disable-vsync` from a global debug option to a plain embedder option. This changes the command line interface for glutin, which is maybe bad. However I wasn't sure whether it was worth preserving the original behavior given the complexity of injecting debug options into `opts::from_cmdline_args`.

- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes partially fix #23009 – there are 2 more options to deal with, but I'm not sure if we should handle them yet.
- [x] These changes do not require tests because this is a refactoring and I'm hoping that the existing tests cover these changes.

r? @jdm
2019-10-26 14:58:54 -04:00
glowe
0ee300479e Extract device_pixels_per_px from global opts
This is also an embedder specific option, so removing it from the
global options makes sense.
2019-10-26 12:00:14 -04:00
glowe
74f1e2ec32 Extract 3 more embedder options
Extracted clean-shutdown, msaa, and no-native-titlebar embedder
specific options out from the global options.

Partially fixes #23009
2019-10-26 11:34:36 -04:00
glowe
6eca38aea3 Make angle and disable-vsync embedder options
The angle and disable-vsync options were declared as global options but
only used in the Glutin embedding for desktop builds. Moving them to
the Glutin embedding code makes them easier to update.

Partially fixes #23009
2019-10-26 11:29:49 -04:00
Simon Sapin
d3439fb4d1 Upgrade to rustc 1.40.0-nightly (246be7e1a 2019-10-25) 2019-10-26 13:03:49 +02:00
Simon Sapin
642b8b0415 Move items at the root of the script crate to a module 2019-10-26 12:59:17 +02:00
bors-servo
c7c0bfdd8d
Auto merge of #24519 - hbina:cleanup_canvasrenderingcontext, r=jdm
Cleanup canvasrenderingcontext

<!-- 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 #24496
<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because it is purely a refactoring...so whatever tests we are already using now should suffice.

<!-- 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. -->
2019-10-25 21:50:26 -04:00
bors-servo
45113a6e41
Auto merge of #24551 - nox:i-am-very-smart, r=SimonSapin
Fix a ridiculous bug in layout-2020

Who needs CI anyway?
2019-10-25 17:57:31 -04:00
bors-servo
60f9f7c75f
Auto merge of #24535 - servo:doctors-without, r=nox
2020: paint borders
2019-10-25 14:43:44 -04:00
takumi
3af931004f Fix the condition to keep original logic
Address this PR comment: https://github.com/servo/servo/pull/24489/files#diff-30a18e04d7e0b66aafdf192e416cad44R1472
This commit was failed to add in PR #24489.

Issue: #22782
2019-10-25 22:17:25 +09:00
Anthony Ramine
327740d67a Fix a ridiculous bug in layout-2020
Who needs CI anyway?
2019-10-25 11:23:46 +02:00
Hanif Bin Ariffin
31ff2d43cc Moved CanvasState out of canvasrenderingcontext
Cleaned up imports...

Applied clang-tidy

Moved CanvasState  and some other files

Next commit should remove pub modifier from members of CanvasState and use getters/setters instead.

Members of CanvasState are now private and applied test-tidy

Now have getters that return an immutable reference.
Also, I have no idea what to name some_func.rs

Removed need for some_func and made pub(crate)
2019-10-25 02:27:57 -04:00
teapotd
c54df2b965 Limit referer header value length to 4096 2019-10-24 20:59:00 +02:00
Simon Sapin
5eb1472a33 2020: paint borders 2019-10-24 15:06:20 +02:00
Simon Sapin
59f68525c4 2020: enable CSS parsing of properties that are (somewhat) implemented 2019-10-24 10:44:31 +02:00
Simon Sapin
22f5e07765 2020: define DisplayInside and DisplayOutside enums separately from Stylo 2019-10-24 10:44:31 +02:00
Simon Sapin
8f89f59329 2020: parse display: contents 2019-10-24 10:44:31 +02:00
Simon Sapin
13e494d74f More compact debug output for CSS values
```
Rect {
    start_corner: Vec2 { i: 0.0 px, b: 0.0 px },
    size: Vec2 { i: 1024.0 px, b: 20.0 px },
}
```

… instead of:

```
Rect {
    start_corner: Vec2 {
        inline: CSSPixelLength(
            0.0,
        ),
        block: CSSPixelLength(
            0.0,
        ),
    },
    size: Vec2 {
        inline: CSSPixelLength(
            1024.0,
        ),
        block: CSSPixelLength(
            0.0,
        ),
    },
}
```
2019-10-24 10:44:31 +02:00
Simon Sapin
cfc3ffcd54 2020: paint background-color 2019-10-24 10:44:31 +02:00
Simon Sapin
4e8eeda976 2020: add and call Fragment::build_display_list 2019-10-24 10:43:08 +02:00
Simon Sapin
e38cc1a549 2020: run layout after box construction 2019-10-24 10:43:08 +02:00
Anthony Ramine
785a344e32 Update rand to 0.7 (fixes #24448) 2019-10-23 15:34:48 +02:00
Simon Sapin
4f8cfd9b48 Use xml-rs instead of rcdom for Android font list parsing 2019-10-23 15:34:48 +02:00
bors-servo
e26530341b
Auto merge of #24489 - garasubo:refactor-submission, r=nox
Refactor submission

This is my first contribution, so please correct me if I'm wrong

I refactored the code as described #22782.

---
<!-- 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 #22782  (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. -->
2019-10-22 22:05:09 -04:00
bors-servo
bf587f22d7
Auto merge of #24508 - pajamapants3000:21254, r=jdm
Add start_time to resource timing.

<!-- Please describe your changes on the following line: -->
`start_time` property added to `ResourceFetchTiming`, which enables the setting of `start_time` in the `PerformanceEntry` member of `PerformanceResourceTiming`.

Following the specification at https://w3c.github.io/resource-timing/#dfn-starttime, `start_time` is set to the value of `redirect_start` if redirection occurs and the timing allow check passes. Otherwise it has the same value as `fetch_start`.

---
<!-- 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 #21254

<!-- 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. -->
2019-10-22 09:34:07 -04:00
bors-servo
927dfd15bf
Auto merge of #24500 - kitlith:style_cfg, r=jdm
Remove usage of opts::get() from style.

<!-- Please describe your changes on the following line: -->
Use `AtomicBool`s to create a global storage for a couple of settings used by an implementation of `Default`, suggested in https://github.com/servo/servo/issues/22854#issuecomment-540955207.

I do have one main question: I'm currently setting these statics in `Servo::new()`, would there be a better place to put this? Same goes with making these `pub`, is there a better way to go about this?

---
<!-- 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
  - Seems to be failing in script for unknown/unrelated reasons, experiencing SIGKILL on two different machines. (May be an issue with the latest commit?) Still works fine on CI though.
- [X] `./mach test-tidy` does not report any errors
- [X] These changes help with #22854

These changes do not require tests because these are cleanup 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. -->
2019-10-21 17:14:46 -04:00
Kitlith
0a07a88904 Remove usage of opts::get() from style.
Part of #22854.
2019-10-21 13:44:31 -07:00
bors-servo
61dc04a293
Auto merge of #24492 - gterzian:update_timer_scheduler, r=asajeffrey
Update timer scheduler to use crossbeam

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

It seems time to update the timer scheduler implementation to use crossbeam constructs.

---
<!-- 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. -->
2019-10-21 12:18:07 -04:00
bors-servo
5011e9c21c
Auto merge of #24471 - saschanaz:enum-default, r=ferjm
Support enum value as a union default value

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

Didn't implement the actual latency thing because the relevant things are already marked as TODO.

---
<!-- 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 #21342

<!-- 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. -->
2019-10-21 03:27:18 -04:00
Tommy
328c45a1d8 Minor assert message edits for consistency 2019-10-20 18:03:18 -07:00
Gregory Terzian
c893c8955d update timer scheduler to use crossbeam 2019-10-20 23:42:34 +08:00
Tommy Lincoln
fcad88cddd Add start_time to resource timing. 2019-10-20 07:28:11 -07:00
bors-servo
a905916ede
Auto merge of #23637 - gterzian:continue-message-port, r=jdm
Continue message port

<!-- Please describe your changes on the following line: -->
Fixes #7457.
Fixes #12715.
Fixes #12717.
Fixes #16095.
Fixes #18969.

---
<!-- 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. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/23637)
<!-- Reviewable:end -->
2019-10-19 13:19:01 -04:00
Kagami Sascha Rosylight
e271edad92 Convert [HTMLConstructor] as constructor extension 2019-10-19 20:55:45 +09:00
Gregory Terzian
2f8932a6a1 continue messageport, transferable, postmessage options 2019-10-19 14:28:18 +08:00
Keith Yeung
c3b17c1201 begin messageport, transferable objects, impl
Accept transfer argument for StructuredCloneData::write

Allow structured clone reads to return a boolean

Add Transferable trait

Add basic skeletons to MessagePort

Implement transfer and transfer-receiving steps on MessagePort

Use transfer and transfer_receive in StructuredClone callbacks

Implement MessageChannel

Freeze the array object for the MessageEvent ports attribute

Implement transfer argument on window.postMessage

Use ReentrantMutex instead for MessagePortInternal

Accept origin as a parameter in dispatch_jsval

Fix BorrowMut crash with pending_port_message

Detach port on closure and check for detached during transfer

Enable webmessaging tests

fix webidl

fix
2019-10-19 14:12:22 +08:00
Kagami Sascha Rosylight
40ee701283 Support enum value as a union default value 2019-10-19 12:19:25 +09:00
Kagami Sascha Rosylight
e81b678645 Support [LegacyWindowAlias] 2019-10-19 12:01:00 +09:00
bors-servo
118a9ecdfe
Auto merge of #24476 - saschanaz:nonenumerable, r=jdm
Mark @@iterator as nonenumerable

<!-- 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 #15497

<!-- 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. -->
2019-10-18 16:31:17 -04:00
bors-servo
83fb2b06d0
Auto merge of #24464 - rasviitanen:offscreen-canvas, r=jdm
fix getimagedata returns empty pixels

<!-- Please describe your changes on the following line: -->
GetImageData for OffscreenCanvas without an associated canvas element returned blank pixels. To solve this, we now pass a `Size2D` instead of a canvas to relevant functions.

I don't quite know if it's ok that `OffscreenCanvasRenderingContext2D` now have a `width` and `height`, but I found no other reasonable solution to this.

There are some tests that previously were marked as `PASS` that are now failing. It seems that they were passing for the wrong reason.
These are:
> tests/wpt/metadata/offscreen-canvas/pixel-manipulation/2d.imageData.put.unchanged.html.ini
> tests/wpt/metadata/offscreen-canvas/pixel-manipulatio/2d.imageData.put.unchanged.worker.js.ini
> tests/wpt/metadata/offscreen-canvas/the-offscreen-canvas/initial.reset.path.html.ini
> tests/wpt/metadata/offscreen-canvas/the-offscreen-canvas/initial.reset.path.worker.js.ini
---
<!-- 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 #24271 (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. -->
2019-10-18 13:00:37 -04:00
bors-servo
32eb858a6a
Auto merge of #24469 - saschanaz:urp-default, r=Manishearth
Support USVString as default value of a union argument

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

I don't expect this fixes any test though...

---
<!-- 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 #22543

<!-- 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. -->
2019-10-18 04:02:13 -04:00
takumi
7ce40080bf [WIP] solve #22782
TODO: write tests for my change
2019-10-18 15:00:03 +09:00
Micah Tigley
4b93a2350c Implements pageX and pageY attributes 2019-10-17 15:32:44 -04:00