Commit graph

20511 commits

Author SHA1 Message Date
Hiroyuki Ikezoe
2639916d7d style: Set the important rule change flag when a newly important rule is inserted.
Without this change an assertion checking IsInStyleRefresh() in
EffectCompositor::PostRestyleForAnimation will be hit when we call
FindAnimationsForCompositor from RestyleManager::DoProcessPendingRestyles
that will be introduced in a subsequent commit in this series.

I wrote a crash test which causes an assertion in KeyframeEffect::CanThrottle()
without the subsequent commit, but we need more work in display item stuff to
make the assertion won't happen (bug 1508466).

Differential Revision: https://phabricator.services.mozilla.com/D12368
2018-12-02 14:17:20 -05:00
Mats Palmgren
2ebad8de36 style: Add -webkit-appearance:textarea and make that the default for <textarea> for compatibility with other UAs.
Bug: 1507905
Reviewed-by: jwatt
2018-12-02 14:17:19 -05:00
Boris Chiou
4f7a3ae533 style: Add comments for the calculation of Procedure::Add on Scale and transform list.
Add more comments to let people know the intention of the special case.

Differential Revision: https://phabricator.services.mozilla.com/D12070
2018-12-02 14:17:18 -05:00
Boris Chiou
c81e1d82d5 style: Expand the mako code of Matrix3D and move them into transform.rs.
Although the methods of Matrix3D in animated_properties.mako.rs could be
simplified by mako, it's a little bit hard to read because they are far
from the usage and definition. Therefore, we move them to the definition of
computed::Matrix3D and expand the mako.

Differential Revision: https://phabricator.services.mozilla.com/D11961
2018-12-02 14:17:18 -05:00
Boris Chiou
7f3b23126a style: Implement ComputeSquaredDistance for individual transforms.
We manually implement ComputeSquaredDistance for Translate, Rotate, and
Scale because we have to handle mismatch cases, and actually we don't
need to implement it for specified types.

Differential Revision: https://phabricator.services.mozilla.com/D11935
2018-12-02 14:17:17 -05:00
Boris Chiou
e83f5629ff style: Move the animation code of transform into a different file.
Basically, most of the animation code of transform don't need mako, so
we could move them into values/animated/transform.rs.

However, we still use mako to generate some code to make the methods of
Matrix3D simpler, so I still leave them in animated_properties.mako.rs.

Differential Revision: https://phabricator.services.mozilla.com/D11934
2018-12-02 14:17:17 -05:00
Boris Chiou
8e47e7f134 style: Factor the mako code out from transform functions.
I'm trying to put all the mako code together, so we could move transform
code into a different file.

Differential Revision: https://phabricator.services.mozilla.com/D11933
2018-12-02 14:17:10 -05:00
Kristen Wright
149815ab3b style: Conversion from NS_STYLE_BORDER_STYLE_* macro to enum class.
Converted NS_STYLE_BORDER_STYLE_* consts to enum class. Updated corresponding
values to enum class. reduced BCCornerInfo struct values to fit StyleBorderStyle
values inside struct. Added defaults to switches that do not fully cover all
instances of StyleBorderStyle.

Bug: 1460439
Reviewed-by: emilio
2018-12-02 08:44:44 -06:00
bors-servo
362a0d5e14
Auto merge of #22340 - jdm:reload, r=KiChjang
Don't filter the bodies of cross-origin cached responses

There are a few issues at play in #22330:
* loading https://servo.org followed by http://servo.org retrieves the second response from the cache (since http://servo.org is upgraded due to HSTS)
* since the request URL differs from the request origin, the response is filtered according to the rules of CORS
* since the response body is already present, there's no async response channel to wait on in `wait_for_response`
* a filtered response stores an empty response, while the real response sits inside the inner response

The effect of this combination was that the constellation's fetch listener would receive the response headers, followed immediately by a response EOF. That is no longer the case, since `wait_for_response` correctly transfers the underlying response body to the network listener.

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

<!-- 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/22340)
<!-- Reviewable:end -->
2018-12-01 00:40:13 -05:00
bors-servo
a0116827e6
Auto merge of #22336 - jdm:image-reload, r=Manishearth
Fix missing textures on reloading three.js image content

The fundamental problem is that three.js sets the crossOrigin property of an image, which kicks off an image microtask, and then sets the src. When the image URL is in the image cache (such as when reloading a page), this causes the shortcut to be taken and the image data is made available immediately, but the queued image task is unaware of this and asks the image cache to feed the image data. The existing code then ended up in an unexpected state when trying to deal with this data, such that when three.js received the image load notification and performed the texImage2D operation on the image data, it would discover that the image element did not claim to have a URL, and it would treat this as a broken image. Ultimately, this caused the texture that three.js obtained to be completely black.

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

<!-- 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/22336)
<!-- Reviewable:end -->
2018-11-30 22:38:49 -05:00
bors-servo
160f1137fb
Auto merge of #22332 - georgeroman:remove_unused_recycle_argument, r=jdm
Remove unused recycle argument from Document::unload

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

<!-- 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/22332)
<!-- Reviewable:end -->
2018-11-30 19:55:23 -05:00
Josh Matthews
0d9ab894be net: Wait for underlying response body of filtered responses. 2018-11-30 19:03:47 -05:00
Josh Matthews
896a2de2ac Ensure that any image tasks queued before a cached image is available are ignored. 2018-11-30 14:49:37 -05:00
Bastien Orivel
e94de4e1bd Update syn and related dependencies 2018-11-30 17:48:41 +01:00
George Roman
6c458b04d2 Remove unused recycle argument from Document::unload 2018-11-30 18:08:08 +02:00
Bastien Orivel
6c3af9c199 Update env_logger to 0.6 2018-11-29 12:40:24 +01:00
bors-servo
06f453a2b8
Auto merge of #22244 - georgeroman:response_statustext_default_change, r=jdm
Change Response's statusText default value from 'Ok' to an empty string

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

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

<!-- 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/22244)
<!-- Reviewable:end -->
2018-11-28 13:10:11 -05:00
bors-servo
3f0643c1de
Auto merge of #22263 - Darkspirit:servo_preload, r=jdm
Preload servo.org

Pending submissions of servo.org and searchfox.org were [merged](https://chromium.googlesource.com/chromium/src/net/+log/master/http/transport_security_state_static.json) into the HSTS Preload list today.
r? @jdm

---
- [x] `./mach test-tidy` does not report any errors

<!-- 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/22263)
<!-- Reviewable:end -->
2018-11-28 02:34:31 -05:00
Manish Goregaokar
5413328be2 Update webrender 2018-11-27 17:33:13 -08:00
Jan Andre Ikenmeyer
f1f409ffb6
Update MPL license to https (part 5) 2018-11-27 19:09:17 +01:00
George Roman
73f11d69ea Change Response's statusText default value from 'Ok' to an empty string 2018-11-27 19:26:40 +02:00
bors-servo
482923cec2
Auto merge of #22221 - Eijebong:random-depup, r=nox
Update dependencies

Those are all easy and unrelated dependency updates, hence the single PR

<!-- 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/22221)
<!-- Reviewable:end -->
2018-11-27 11:27:54 -05:00
bors-servo
c6f4dcce47
Auto merge of #21673 - gterzian:add_background_monitor, r=<try>
Add background hang monitor

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

Early feedback welcome, still need to ~~actually integrate it in the constellation message loop, and~~ use it in Layout and Script...

---
<!-- 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 #16740 (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/21673)
<!-- Reviewable:end -->
2018-11-26 22:35:07 -05:00
Fernando Jiménez Moreno
b23dd0587b Add comment about incorrect tests for file url range requests. Fmt and manifest update 2018-11-26 15:28:27 +01:00
Fernando Jiménez Moreno
4561a97309 Use crossbeam channel instead of servo channel. Fix rebase issues and add comment 2018-11-26 09:34:14 +01:00
Fernando Jiménez Moreno
ef57ecbdb7 Tweak limits of file chunked read and send chunks not entire body as partial payloads 2018-11-26 09:34:14 +01:00
Fernando Jiménez Moreno
79d27cb7ca Set response status for range requests to file and blob urls 2018-11-26 09:34:14 +01:00
Fernando Jiménez Moreno
b96e5681aa Do not set Receiving body to Done when it's not needed 2018-11-26 09:34:14 +01:00
Fernando Jiménez Moreno
ff1e8aaa08 Adapt fetch blob test to new way of fetching in chunks 2018-11-26 09:34:14 +01:00
Fernando Jiménez Moreno
526f6fcadd Allow range requests to blob URLs with negative offsets 2018-11-26 09:34:14 +01:00
Fernando Jiménez Moreno
a84442864d Add support fo byte range requests for blob URLs 2018-11-26 09:33:35 +01:00
Fernando Jiménez Moreno
8538634210 Finish asynchronous blob url fetching 2018-11-26 09:33:34 +01:00
Fernando Jiménez Moreno
67722d1943 Update read blob url in chunk changes to use new hyper 2018-11-26 09:33:34 +01:00
ms2300
2f3affcfc8 Blob url's changes now build and test 2018-11-26 09:33:34 +01:00
ms2300
e84e1d607b Initial implementation of asynchronous blob url fetching 2018-11-26 09:33:34 +01:00
Gregory Terzian
4eb785cdc0 introduce a background-hang-monitor:
Mac-Os implementation of a thread sampler,
Linux and Windows skeleton implementations.
2018-11-26 14:15:33 +08:00
bors-servo
1bac32edc0
Auto merge of #22245 - paulrouget:resetopts, r=SimonSapin
Make it possible to reset options

We want to be able to reset the options after servo gets deinitialized (in FxR for example).

<!-- 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/22245)
<!-- Reviewable:end -->
2018-11-23 13:46:48 -05:00
bors-servo
c96f07a0b5
Auto merge of #22234 - jdm:android-gl-crash, r=Manishearth
Fix android GL crash

There were two issues, fundamentally:
1. POINT_SPRITE is not supported on GLES, which was causing the GL_INVALID_ENUM error when using any WebGL API.
2. The version check was using the wrong version value to determine if enabling point sprites was necessary.

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

<!-- 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/22234)
<!-- Reviewable:end -->
2018-11-23 12:38:24 -05:00
Paul Rouget
c97f068efa Allow resetting options 2018-11-22 10:43:02 +01:00
Josh Matthews
9c29e139b9 webgl: Don't unnecessarily enable point sprites on GLES. 2018-11-21 14:03:46 -05:00
bors-servo
2b410acbf9
Auto merge of #22225 - servo:webgl, r=emilio
Send an IpcSharedMemory in tex_image_2d and tex_sub_image_2d

<!-- 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/22225)
<!-- Reviewable:end -->
2018-11-21 10:21:41 -05:00
Anthony Ramine
9a8d03a0f3 Make HTMLCanvasElement::fetch_all_data return a shared memory blob 2018-11-21 12:53:50 +01:00
Fernando Jiménez Moreno
f98da2e7b7 HTMLMediaElement playing attribute 2018-11-21 09:42:53 +01:00
ddh
26007fddd3 refactored performance timing to align with updated spec
refactoring with ResourceFetchMetadata

implemented deprecated window.timing functionality

created ResourceTimingListener trait

fixed w3c links in navigation timing

updated include.ini to run resource timing tests on ci
2018-11-20 16:21:32 +00:00
bors-servo
3fe83f1d06
Auto merge of #22227 - vn-ki:audio-const, r=jdm
Implement Audio constructor

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

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because *tests were already there and the expectations were updated*.

<!-- 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/22227)
<!-- Reviewable:end -->
2018-11-20 09:11:17 -05:00
bors-servo
c8b0501178
Auto merge of #22231 - servo:warn, r=SimonSapin
Fix unused import warning in new Rust Nightly

https://tools.taskcluster.net/task-inspector/#Zw-1gs3xT4e79Lach3PISg

<!-- 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/22231)
<!-- Reviewable:end -->
2018-11-20 07:24:22 -05:00
Simon Sapin
4fcc2f7edb Fix unused import warning in new Rust Nightly 2018-11-20 13:23:16 +01:00
Anthony Ramine
804d964b7d Send an IpcSharedMemory in tex_image_2d and tex_sub_image_2d
This avoids a copy in the case of textures coming from HTMLImageElement.
2018-11-20 10:14:52 +01:00
Anthony Ramine
cfca906ee2 Call rgba8_byte_swap_colors_inplace on the WebGL thread 2018-11-20 10:14:52 +01:00
Anthony Ramine
2c0acf6b9b Move PixelFormat to the pixels crate 2018-11-20 10:14:52 +01:00