Commit graph

22559 commits

Author SHA1 Message Date
bors-servo
df9065afb6
Auto merge of #24636 - saschanaz:windowproxy, r=nox,jdm
Use MessageEventSource on MessageEvent IDL

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

<!-- 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-11-07 22:35:43 -05:00
Josh Matthews
91dfa354b1 Ensure layout/script always have a correct viewport size when a new pipeline is created. 2019-11-06 16:13:55 -05:00
Josh Matthews
2aa5ddf922 script: Ignore redundant resize notifications. 2019-11-06 16:13:55 -05:00
Josh Matthews
7c365b0324 Centralize definitions of window sizes and DPI in compositor/constellation during startup. 2019-11-06 16:13:55 -05:00
Josh Matthews
fd260f78c8 dom: Calculate the viewport size of iframes when they are first added to the tree. 2019-11-06 16:13:55 -05:00
Josh Matthews
38e4ae0833 layout: Record sizes for iframes that have no pipeline. 2019-11-06 15:39:32 -05:00
bors-servo
a931a80cf5
Auto merge of #24661 - paulrouget:dedupehist, r=asajeffrey
Only updated history once

We get the `HistoryChanged` event twice in many situations. This should fix it.

@cbrewster do these change make sense?

---
<!-- 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 #24633 (GitHub issue number if applicable)

<!-- 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-11-06 05:01:06 -05:00
bors-servo
8abc272d27
Auto merge of #24590 - shnmorimoto:fix-24367, r=jdm
Fix timing allow check

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

---
<!-- 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 #24367 (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-11-06 00:39:07 -05:00
bors-servo
147c042c5a
Auto merge of #24644 - saschanaz:sequence-default, r=jdm
Use IDL sequence default value

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

<!-- 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-11-05 23:04:58 -05:00
bors-servo
afbcbf75ea
Auto merge of #24473 - mmatyas:webgl_fns_buffer, r=jdm
Implement the basic WebGL2 buffer data operations

Adds support for the WebGL2 calls `bufferData`, `bufferSubData`, `copyBufferSubData` and `getBufferSubData`.

Reference: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.3

---

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

This patch depends on https://github.com/servo/sparkle/pull/8. Some tests cause a crash for me at the moment, as they depend on other, not yet implemented buffer calls and transform feedback objects.

As for the code, there are a few parts I'm not sure about:

- To get the element byte size of a TypedArray I've wrote a simple `match`, as the relevant field is not published in `rust-mozjs`. Is that okay or there's some other way to get this already?
- The WebGL1 BufferData implementations were copied into the WebGL2 code as a workaround, due to the difference in the available buffer slots (ie. `self.bound_buffer`). An alternative could be is to pass this function and self as parameters to an internal buffer data implementation function, but personally I found that code to be quite ugly.

cc @jdm @zakorgy

---
<!-- 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 (with the sparkle patch)
- [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. -->
2019-11-05 16:52:51 -05:00
Paul Rouget
56b3005721 Only updated history once 2019-11-05 12:05:50 +01:00
Mátyás Mustoha
4050b7f9ec Implement the basic WebGL2 buffer data operations
Adds support for `bufferData`, `bufferSubData`, `copyBufferSubData`
and `getBufferSubData`.

Reference: https://www.khronos.org/registry/webgl/specs/latest/2.0/#3.7.3
2019-11-05 11:33:13 +01:00
bors-servo
28dbbda5bb
Auto merge of #24521 - tigleym:missing_cssom_attributes, r=jdm
Implement MouseEvent's x/y and offsetX/offsetY attributes

<!-- Please describe your changes on the following line: -->
Implement MouseEvent's x/y and offsetX/offsetY attributes

---
<!-- 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 #24248 (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-11-05 02:43:19 -05:00
Shinichi Morimoto
70c62ceee7 Fix check conditions 2019-11-05 11:24:38 +09:00
Shinichi Morimoto
b0a12f6a8a fix #24367 2019-11-05 11:24:38 +09:00
Micah Tigley
38b91c3501 Implement MouseEvent's x/y and offsetX/offsetY attributes 2019-11-04 18:28:08 -05:00
Kagami Sascha Rosylight
01e0b2cb5e Use IDL sequence default value 2019-11-04 23:39:37 +09:00
Kagami Sascha Rosylight
cf46a9a6dc Store source as an enum 2019-11-04 23:12:59 +09:00
Kagami Sascha Rosylight
f8b61c0315 Use MessageEventSource on MessageEvent IDL 2019-11-04 23:12:52 +09:00
Emilio Cobos Álvarez
83f8bec0b5
Fix Gecko build. 2019-11-04 13:43:20 +01:00
Emilio Cobos Álvarez
0f512b4432
style: Fix Servo build. 2019-11-04 13:41:55 +01:00
Emilio Cobos Álvarez
a44515c314 style: Rustfmt recent changes. 2019-11-04 13:36:32 +01:00
Sam Mauldin
ac4894ed8d style: Rename Mozfield / Mozfieldtext to Field and Fieldtext.
Split off of Bug 1590894
Rename these to support unprefixed version
Also add alias to keep compatibility

Differential Revision: https://phabricator.services.mozilla.com/D50989
2019-11-04 13:36:32 +01:00
Boris Chiou
0624324942 style: Extend compositor properties for motion.
Differential Revision: https://phabricator.services.mozilla.com/D50014
2019-11-04 13:36:32 +01:00
Boris Chiou
40ede5bacb style: Use serde to serialize LengthPercentage and StyleRayFunction.
We need to pass these two types into the compositor, so we need a better
way to serialize these rust types. We use serde and bincode to
serialize/deserialize them, and use ByteBuf to pass the &[u8] data
through IPC. We define StyleVecU8 for FFI usage only.

Differential Revision: https://phabricator.services.mozilla.com/D50688
2019-11-04 13:36:32 +01:00
Boris Chiou
d99606a841 style: Add new layer messages for passing motion path info.
This also includes the implementation of SetAnimatable, FromAnimatable,
and merge the final matrix with motion path.

Besides, we always use PathBuilderSkia for calculating the gfx::Path for
web-renderer.

Differential Revision: https://phabricator.services.mozilla.com/D50011
2019-11-04 13:36:32 +01:00
Emilio Cobos Álvarez
fc1233f3d2 style: Remove -moz-binding, nsStyleDisplay::mBinding and similar.
Differential Revision: https://phabricator.services.mozilla.com/D50556
2019-11-04 13:36:32 +01:00
Emilio Cobos Álvarez
5f30ecc9b1 style: Remove some XBL code in the style system.
Differential Revision: https://phabricator.services.mozilla.com/D50554
2019-11-04 13:36:32 +01:00
Emilio Cobos Álvarez
854c480177 style: Experiment with implementing zoom as a transform + transform-origin shorthand.
This is a gross hack, of course, but has the advantage of not breaking sites
that use both zoom and -moz-transform / -moz-transform-origin.

There should be no behavior change when the pref is off, of course, and the
webcompat team wanted to experiment with this.

Differential Revision: https://phabricator.services.mozilla.com/D49792
2019-11-04 13:36:32 +01:00
Emilio Cobos Álvarez
ca05003ef6 style: Simplify media query code now that lifetimes are non-lexical.
We can deindent and simplify a bunch of this code now.

Differential Revision: https://phabricator.services.mozilla.com/D49509
2019-11-04 13:36:32 +01:00
Emilio Cobos Álvarez
11c1317c37 style: Remove useless conditional compilation.
Servo doesn't use this flag or -webkit- prefixed media queries, so no point in
doing this conditionally.

Differential Revision: https://phabricator.services.mozilla.com/D49508
2019-11-04 13:36:32 +01:00
Emilio Cobos Álvarez
70dda74b0f style: Remove layout.css.prefixes.device-pixel-ratio-webkit.
There's no effort to disable it any time soon, so I don't think it's useful to
keep the pref around.

Differential Revision: https://phabricator.services.mozilla.com/D49507
2019-11-04 13:36:32 +01:00
Emilio Cobos Álvarez
b98ac61a70 style: Hide -moz-touch-enabled media query in Nightly and Early Beta.
This is effectively superseded by the hover / any-hover media queries, which
actually are standard, and is also causing trouble in the wild.

Not even the browser fronted uses it, so we should be able to just remove it
everywhere at once.

Differential Revision: https://phabricator.services.mozilla.com/D49506
2019-11-04 13:36:32 +01:00
Emilio Cobos Álvarez
7965ddefa6 style: Support multiple parts in ::part() selectors.
Differential Revision: https://phabricator.services.mozilla.com/D48753
2019-11-04 13:36:32 +01:00
Emilio Cobos Álvarez
f701192e38 style: Remove old scroll-snap implementation, and scroll snapping prefs.
Differential Revision: https://phabricator.services.mozilla.com/D49267
2019-11-04 13:36:32 +01:00
Cameron McCormack
972e89fd41 style: Report missing include filename in ServoBindings.toml.
Differential Revision: https://phabricator.services.mozilla.com/D48625
2019-11-04 13:36:32 +01:00
Ridhim Rastogi
9fb01e879b Add StreamConsumer wrapper and ReportStreamErrorCallback fn 2019-11-03 03:41:41 -05:00
bors-servo
56537fad58
Auto merge of #24616 - teapotd:imageinfo-option-refactoring, r=jdm
Store Option<ImageInfo> instead of making fields of ImageInfo optional

Fixes #24582

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #24582
- [X] These changes do not require tests
2019-11-01 20:13:59 -04:00
teapotd
a4fa36f9fb Store Option<ImageInfo> instead of making fields optional 2019-11-01 14:48:16 +01:00
Patrick Walton
a358bca766 Use surfman for managing GL surfaces
Co-authored-by: Alan Jeffrey <ajeffrey@mozilla.com>
Co-authored-by: Zakor Gyula <gyula.zakor@h-lab.eu>
Co-authored-by: Josh Matthews <josh@joshmatthews.net>
2019-11-01 08:47:11 -05:00
bors-servo
a355f41c9f
Auto merge of #24584 - JoshMcguigan:perf-resource-timing-duration, r=jdm
implement PerformanceResourceTiming duration

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

I wanted to give this a shot, but I'm not sure this is the appropriate implementation. In particular, I'm not sure if adding duration to the webidl interface is correct, because that doesn't seem to align with the web version (linked above the interface)?

Also, I'd like to write a test for this method, but I'm not sure where that test should go.

My apologies if this is way off target.

---
<!-- 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 #21255 (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-31 22:49:27 -04:00
Josh Mcguigan
d81c44335f PerformanceResourceTiming calculate duration 2019-10-30 20:41:32 -07:00
Josh Matthews
c312646c24 webgl: Always convert float/half-float-based types to internal texture types. 2019-10-29 18:29:07 -04:00
Kagami Sascha Rosylight
691af0e98b Support stringifier attributes 2019-10-29 21:35:40 +09:00
Kagami Sascha Rosylight
97c01fc479 Update WebIDL.py 2019-10-29 21:34:53 +09:00
bors-servo
4ff24af3d5
Auto merge of #24572 - ferjm:vslogger.level, r=paulrouget
Allow setting Visual Studio logger level from cli arg

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
2019-10-29 02:18:55 -04:00
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
Fernando Jimenez Moreno
e1b6719384 Allow setting Visual Studio logger level from cli arg 2019-10-28 17:29:20 +01:00