Commit graph

3878 commits

Author SHA1 Message Date
bors-servo
e30b288ed6 Auto merge of #11934 - jdm:navigatefragment, r=emilio
Special-case setting location.hash to the empty string

This avoids endless redirect loops on facebook and makes us compliant with https://github.com/whatwg/html/pull/1318.

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

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11934)
<!-- Reviewable:end -->
2016-06-29 17:39:58 -05:00
Josh Matthews
5cc8de8067 Ensure that a navigation to the same URL is aborted. Fixes #10952. 2016-06-29 13:40:16 -04:00
bors-servo
aa9141277e Auto merge of #11906 - asajeffrey:textinput-ok-selection, r=ConnorGBrewster
Added checks that selection is valid, and fix set_selection_range.

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

Fixed range checking for text inputs. Included some `debug_assert!` statements to check that the selection range is always valid.

---
<!-- 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 #11901.
- [X] These changes do not require tests because the code includes debug_asserts to ensure invariants are maintained.

<!-- 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="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11906)
<!-- Reviewable:end -->
2016-06-29 12:36:01 -05:00
bors-servo
55ab7a8b12 Auto merge of #11913 - jdm:stylesheet-error, r=Ms2ger
Avoid stalled pages containing unreachable stylesheets

This hits some of the pages in the performance testsuite, and leads to a poor user experience since the document load event is never dispatched and the page never finishes parsing.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #11535 (github issue number if applicable).
- [X] There are tests for these changes OR

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11913)
<!-- Reviewable:end -->
2016-06-29 11:42:40 -05:00
Josh Matthews
1b495de29c Allow pages to finish loading when external stylesheets have network errors. 2016-06-29 09:06:20 -04:00
Alan Jeffrey
7ed8408f12 Added checks that selection is valid, and fix set_selection_range. 2016-06-29 07:24:19 -05:00
bors-servo
5b20673d43 Auto merge of #11914 - notriddle:text_fragment_color_merge, r=jdm
Text fragment color merge

The display list item for a line of text has a single color assigned for
it, so text fragments with different colors cannot be merged.

There is no issue number for this, as far as I know. I found this while
trying an internal program that uses red asterisks for required text
fields.
____________________

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes do not fix an existing Github issue
- [X] There are tests for these changes OR

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11914)
<!-- Reviewable:end -->
2016-06-28 22:43:07 -05:00
Michael Howell
46396d7f3b Do not merge text fragments of differing colors
The display list item for a line of text has a single color assigned for
it, so text fragments with different colors cannot be merged.

There is no issue number for this, as far as I know. I found this while
trying an internal program that uses red asterisks for required text
fields.
2016-06-28 20:26:49 -07:00
Michael Howell
cab6260c32 Add tests for rotation animation 2016-06-28 17:18:34 -07:00
Emilio Cobos Álvarez
058bfb39ae
style: Refactor the @keyframes parsing and add adequate computation for it. 2016-06-28 15:09:53 +00:00
Emilio Cobos Álvarez
c1fd7432e9
style: Add @keyframe rule parsing. 2016-06-28 15:09:53 +00:00
Darin Minamoto
fc6e20f652 Use get_mut instead of get-remove-set in XHR send() 2016-06-27 21:31:28 -07:00
Josh Matthews
cf073f1f0b Ensure serial number conforms to OpenSSL's even-number-of-digits requirement. 2016-06-27 16:39:37 -04:00
Anthony Ramine
38a79e4506 Update Rust to 1.11.0-nightly (ad7fe6521 2016-06-23)
I also properly bump any dependency related to the serde_macros removal
from webrender_traits
2016-06-27 14:13:44 +02:00
Anthony Ramine
abfd52a721 Reorder dependencies 2016-06-26 17:11:27 +02:00
bors-servo
054bb381e9 Auto merge of #10826 - danlrobertson:cookies, r=asajeffrey
Add webdriver commands for (Get|Add)Cookie

Add the webdriver commands for GetCookie and AddCookie. In addition the basic messages for sending cookie data back and forth from the resource thread needed to be created and the handlers for those messages were created as well.

Do we plan to have some sort of test suite for the webdriver at some point? At this point I primarily test my PRs with basic shell scripts with a lot of `curl` and `jq`.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10826)
<!-- Reviewable:end -->
2016-06-26 03:19:14 -05:00
Dan Robertson
246723114f
Use common cookie struct add cookie webdriver cmds
One cookie struct to rule them all. One struct to represent them.
One cookie struct to bind them all, and through the IPC carry them.
2016-06-25 22:24:35 +00:00
bors-servo
8068076456 Auto merge of #11724 - emilio:webgl-refactor, r=jdm
webgl: Refactor texture validations to take advantage of rust type system

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

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

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

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

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

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

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

r? @jdm

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11724)
<!-- Reviewable:end -->
2016-06-25 15:16:48 -05:00
Paul Rouget
2c35233638 Test for double focus events (covers #11665) 2016-06-25 15:35:40 +02:00
Emilio Cobos Álvarez
46c14aced2
webgl: Refactor texture validations to take advantage of rust type system
This commit introduces the `WebGLValidator` trait, and uses it for multiple
validations in the texture-related WebGL code, to move that logic out of the
already bloated `webglrenderingcontext.rs` file.

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

This partially addresses #10693, pending refactor more code to use this
infrastructure, and (possibly?) introducing an `AsGLError` trait for the errors
to make the error handling happen in `WebGLContext`.
2016-06-25 00:03:15 +02:00
bors-servo
235a6a6380 Auto merge of #11848 - servo:wpt-20160624, r=Ms2ger
Update web-platform-tests to revision 346d5b51a122f7bb1c7747064499ef281a0200f7

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11848)
<!-- Reviewable:end -->
2016-06-24 04:36:53 -05:00
Ms2ger
79b1e6c40c Update web-platform-tests to revision 346d5b51a122f7bb1c7747064499ef281a0200f7 2016-06-24 11:36:34 +02:00
bors-servo
851194b003 Auto merge of #11844 - jdm:dromaeo-fix, r=Ms2ger
Fix the Dromaeo test runner

Fix the automated Dromaeo test runner. Without this change, it sits spinning at 100% CPU usage after completing all the tests.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #11843 (github issue number if applicable).
- [X] These changes do not require tests because we don't run the Dromaeo tests in automation.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11844)
<!-- Reviewable:end -->
2016-06-24 02:49:23 -05:00
Josh Matthews
43cafcbb40 Avoid Python's HTTP server automatic redirect that appends / after the query string. Fixes #11843. 2016-06-23 18:49:19 -04:00
bors-servo
32f2ab7088 Auto merge of #11832 - GuillaumeGomez:insert-adjacent, r=nox
Fix insert-adjacent error

r? @nox

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11832)
<!-- Reviewable:end -->
2016-06-23 13:29:51 -05:00
Guillaume Gomez
fc88f81de3 Fix insert-adjacent error 2016-06-23 17:18:18 +02:00
Martin Broesamle
8701a4495b Tests for scroll_area on body element in quirks mode.
see #10947
Node::scroll_area should check if the element is potentially scrollable

Three tests use `document.scrollingElement` which was not supported at
the time of writing. They are, hence, expected to FAIL.

The last expected FAIL should be fixed by #10947.

Edited some comments, message texts.
2016-06-23 10:14:03 +02:00
Josh Matthews
fbf6c7fc2b Add a manual test for panicking while JS stack frames exist. 2016-06-22 09:35:19 -04:00
bors-servo
b9b289c4be Auto merge of #11789 - Coder206:uri, r=asajeffrey
URI to URL

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

<!-- Either: -->
- [x] There are tests for these changes (Windows 10 was never able to run them...)

<!-- 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="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11789)
<!-- Reviewable:end -->
2016-06-20 20:57:52 -05:00
bors-servo
2c4c2d8779 Auto merge of #11530 - jdm:sigsegv, r=metajack
Obtain backtraces automatically from segfaults

<!-- Please describe your changes on the following line: -->
This enables more meaningful output from observing hard crashes outside of GDB through the judicious use of a SIGSEGV signal handler.

---
<!-- 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 #9371 (github issue number if applicable).
- [X] There are tests for these changes OR

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

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11530)
<!-- Reviewable:end -->
2016-06-20 20:08:50 -05:00
Patrick Trottier
97eb594cc2 URI to URL
trying to pass test - uri
2016-06-20 20:18:42 -04:00
Josh Matthews
99e436eb05 Add a test that forces a crash. This makes it easy to manually check the output of a segfault with a complicated backtrace; the actual automation doesn't help us except to verify that the crash continues to happen as excepted. 2016-06-20 18:32:48 -04:00
bors-servo
6166d8e74f Auto merge of #11544 - jdm:privatebrowsing, r=asajeffrey
Implement private browsing for mozbrowser

<!-- Please describe your changes on the following line: -->
Support the `mozprivatebrowsing` attribute on mozbrowser iframes. This separates the non-private and private sessions in terms of cookies, HSTS lists, cached HTTP credentials, HTTP connection pools, and web storage. The private session is shared between all private mozbrowsers, and lasts until shutdown.

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

<!-- 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="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11544)
<!-- Reviewable:end -->
2016-06-20 14:32:17 -05:00
Sagar Muchhal
7e2b4d163b Propagate privacy information of iframes to corresponding pipelines. Make iframes of differing privacy values be considered cross-origin.
Make the constellation hand out separate private and public channels for the pipeline content to communicate with the resource thread as necessary.
2016-06-20 14:55:01 -04:00
bors-servo
ee8c5c5a67 Auto merge of #11754 - Ms2ger:wrapper-traits-prep2, r=nox
Move ServoLayoutNode and related structs to script.

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11754)
<!-- Reviewable:end -->
2016-06-20 12:54:20 -05:00
Ms2ger
0c506cf1df Remove the wrapper::ServoThreadSafeLayoutNode re-export. 2016-06-20 19:08:09 +02:00
Zhen Zhang
74eb80dbd8 Implement filter for file-type input's accept attribute 2016-06-20 20:58:53 +08:00
bors-servo
881c02ec89 Auto merge of #11798 - notriddle:input_caret, r=nox
Account for the font of empty input fields

The font of empty fragments is not accounted for in layout. This behavior is incorrect when part of an input field.

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

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11798)
<!-- Reviewable:end -->
2016-06-20 05:58:23 -05:00
bors-servo
281c5215ef Auto merge of #11796 - Ms2ger:more-tests, r=nox
More tests

<!-- Reviewable:start -->
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11796)
<!-- Reviewable:end -->
2016-06-20 04:55:38 -05:00
Michael Howell
4717cea51c Account for the font of empty input fields
Fixes #11653
2016-06-19 13:06:06 -07:00
bors-servo
95941cb4df Auto merge of #11788 - UK992:warnings, r=jdm
Silent some warnings

- [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 only silent some warnings

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11788)
<!-- Reviewable:end -->
2016-06-19 10:32:52 -05:00
Ms2ger
7b1de6753a Run the navigation-timing tests. 2016-06-19 15:57:12 +02:00
Ms2ger
a69937cd05 Normalize wpt expectations. 2016-06-19 15:57:09 +02:00
Ms2ger
2631b17c81 Sort the entries in include.ini. 2016-06-19 14:27:35 +02:00
Connor Brewster
cdf56c886e
enable history interface tests 2016-06-18 20:18:44 -06:00
UK992
5317a716b1 Silent warnings in fetch.rs 2016-06-18 21:52:00 +02:00
Zhen Zhang
4d3379392d Implement Blob URL's DOM interfaces 2016-06-17 20:06:37 +08:00
Ms2ger
bac22f1b57 Annotate some test failures in FileAPI tests. 2016-06-16 21:14:14 +01:00
bors-servo
d620ab71c4 Auto merge of #10225 - jmr0:visibility_api, r=jdm
Implement non-visible pipeline and iframe visibility methods

This addresses #9566 and a good part of #9751, specifically:

* Pipeline has a notion of visibility
* IFrame setVisible/getVisible interface with IFrame's pipeline visibility
* IFrame mozbrowservisibilitychange responds to changes in visibility
* Pipeline visibility is used to limit animations (requestAnimationFrame does not tick animations when hidden) and to increase timer intervals (currently set to a minimum of 1 second while hidden)

Absent for now are any changes to the Document API and general implementation of the Page Visibility API, since the more interesting parts require knowledge of whether the user agent is minimized, OS screen locked, etc.

cc @paulrouget @jdm

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10225)
<!-- Reviewable:end -->
2016-06-16 08:53:56 -05:00
jmr0
2bff131535 Implement non-visible pipeline and iframe visibility methods 2016-06-15 23:28:07 -04:00