Commit graph

4066 commits

Author SHA1 Message Date
bors-servo
2aa257f603 Auto merge of #12557 - creativcoder:sw-scope, r=nox
Bring back run_with_memory_reporting in serviceworkerglobalscope

<!-- 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] These changes do not require tests because its a refactor.

<!-- 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/12557)
<!-- Reviewable:end -->
2016-08-02 08:05:16 -05:00
bors-servo
93b130f3f7 Auto merge of #12579 - izgzhen:fix-fileapi-ref, r=Manishearth
Fix FileAPI's refcount implementation

Revise several intricate parts of FileAPI's internal refcounting-related implementation.

Goal: Get it done right once and for all.

r? @Manishearth

<!-- 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 do not require tests because it is internal logic change

<!-- 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/12579)
<!-- Reviewable:end -->
2016-08-02 03:03:47 -05:00
bors-servo
144b980df2 Auto merge of #12679 - johannhof:image-inject, r=Manishearth
Prevent injection vulnerability in image page

This is taking up nox' suggestion from #12542 and creates an img element using Rust code instead of escaping the URL. I will look at the neterror.html URL strings separately, we might do those in a similar way.

To reproduce, visit e.g. the following URL with your vulnerable Servo:
```
https://servo.org/screenshot.png?'onload='document.body.innerHTML=`hacked`'
```

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

- [x] These changes do not require tests because this is just fixing up existing behavior and I'm not sure how to test it

r?@jdm

<!-- 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/12679)
<!-- Reviewable:end -->
2016-08-01 13:27:46 -05:00
Johann Hofmann
ff6283a63c
Prevent injection vulnerability in image page 2016-08-01 17:25:23 +02:00
Zhen Zhang
47a7d465fd Add FileReaderSync skeleton 2016-07-31 09:19:39 +02:00
bors-servo
1ce4be8f6d Auto merge of #12634 - malisas:malisa-headersAPI, r=jdm
Headers API constructor and methods

<!-- Please describe your changes on the following line: -->
This PR fills out the constructor and the delete, get, has, and set methods for the Headers API. Addresses issue #11897 .

The PR also rewrites the append method to support `hyper::header::Headers`'s HashMap `insert` method, which overwrites entries instead of appending.
As a result of this, for a given header name there is at most one value in the inner "header list"/HashMap. Multiple values for the same name are comma-delimited.

There are still a few TODOs:
- Support `OpenEndedDictionary<ByteString>`  as a possible `HeadersInit` value. [OpenEndedDictionary<T> is a future IDL construct.](https://fetch.spec.whatwg.org/#headers-class)
- Support `iterable<ByteString, ByteString>`. Related issue: #12628
- Values are comma-delimited, except for values with the name `set-cookie`, which are newline-delimited. This is because values for `set-cookie` are [allowed to contain](https://tools.ietf.org/html/rfc7230#section-3.2.2) inner commas. This violates the [spec](https://fetch.spec.whatwg.org/#concept-header-value-combined).
- The TODOs from PR #12467 regarding value parsing also still need to be resolved.

---
<!-- 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
- [X] These changes do not require tests because tests for the Headers API already exists, but this commit does not implement the interface fully. The tests will fail.

<!-- 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/12634)
<!-- Reviewable:end -->
2016-07-30 12:36:49 -05:00
Malisa Smith
e631d3a5f6 Headers API constructor and methods
- Reworked the append method to support the inner `hyper::header::Headers`'s HashMap `insert` method, which overwrites entries instead of appending.
- Filled out constructor as well as delete, get, has, and set methods.
- Updated relevant test expectations
2016-07-30 10:32:51 -07:00
bors-servo
d053fb16f6 Auto merge of #12186 - GuillaumeGomez:video-metadata, r=larsbergstrom,jdm,KiChjang
Implement video-metadata check

<!-- 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/12186)
<!-- Reviewable:end -->
2016-07-29 17:46:42 -05:00
Guillaume Gomez
34cb55193d Change tests results to set timeout/failure expected 2016-07-30 00:32:27 +02:00
bors-servo
b5fe7db8b4 Auto merge of #12502 - avadacatavra:devtools, r=jdm
Added devtools support to fetch for XHR

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

Added devtools support for fetch for XHR, but devtools can't show the request in the XHR tab. I've attached a picture of an XHR request in devtools.

<img width="694" alt="screenshot 2016-07-19 11 07 55" src="https://cloud.githubusercontent.com/assets/11877868/16944480/210b0e8a-4da1-11e6-8288-48005ede33f6.png">

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because I don't know how to automate devtools testing for this

<!-- 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/12502)
<!-- Reviewable:end -->
2016-07-29 11:44:20 -05:00
ddh
db808ca75d Added devtools support to fetch for XHR + Manish's XHR ident fix
added unit test for request fetch with devtools

added devtools/fetch test
2016-07-29 11:20:38 +01:00
Rahul Sharma
4936fb26d9 Bring back run_with_memory_reporting in serviceworkerglobalscope 2016-07-29 15:34:24 +05:30
bors-servo
74d3b87c3e Auto merge of #12649 - Ms2ger:update-script, r=Manishearth
Some fixes to the script crate.

<!-- 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/12649)
<!-- Reviewable:end -->
2016-07-29 04:42:18 -05:00
Ms2ger
5a61142720 Remove an unused argument to ErrorInfo::from_dom_exception. 2016-07-29 10:24:29 +02:00
bors-servo
11ad48f8e3 Auto merge of #12648 - heycam:store-extra-data, r=Manishearth
Store UrlExtraData in {specified,computed}::Image::Url.

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

This stores a `UrlExtraData` object in `specified::Image::Url` and `computed::Image::Url`, so that geckolib can use the base/principal to create Gecko `ImageValue`s.  (I'll do that in the followup to support background-image; want to get this in first.)

r? @Manishearth

---
<!-- 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
- [X] These changes do not require tests because existing tests should be sufficient

<!-- 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/12648)
<!-- Reviewable:end -->
2016-07-29 02:26:25 -05:00
Cameron McCormack
baa339f4af Store UrlExtraData in {specified,computed}::Image::Url. 2016-07-29 14:22:35 +08:00
vrod
defaa5bee7 Implement HTMLLIElement#value 2016-07-28 21:07:21 -03:00
bors-servo
82f734b9a3 Auto merge of #12617 - mskrzypkows:expose_interfaces, r=Ms2ger
Partial fix for #12415: expose interfaces of some HTML Elements

<!-- Please describe your changes on the following line: -->
Fix for interfaces:
HTMLHeadingElement.webidl
HTMLHRElement.webidl
HTMLHtmlElement.webidl
HTMLHyperlinkElementUtils.webidl
HTMLIFrameElement.webidl
HTMLImageElement.webidl
HTMLInputElement.webidl
HTMLLabelElement.webidl
HTMLLegendElement.webidl
HTMLLIElement.webidl

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

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

<!-- 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/12617)
<!-- Reviewable:end -->
2016-07-28 13:56:13 -05:00
Maciej Skrzypkowski
9fa6d5083c Partial fix for #12415: expose interfaces of some HTML Elements 2016-07-28 14:38:47 +02:00
bors-servo
5ae1fcd6fe Auto merge of #12255 - servo:smup, r=jdm
Update SpiderMonkey to m-c bcf4ff0c3eef.

This currently breaks Servo on Android, because there are a number of interdependent changes that cannot easily land serially in a way that keeps it working throughout. We expect to fix this in the near future.

<!-- 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/12255)
<!-- Reviewable:end -->
2016-07-28 06:58:59 -05:00
Ms2ger
89efccc426 Update SpiderMonkey to m-c bcf4ff0c3eef.
This currently breaks Servo on Android, because there are a number of
interdependent changes that cannot easily land serially in a way that
keeps it working throughout. We expect to fix this in the near future.
2016-07-28 13:05:56 +02:00
bors-servo
45209b7ffe Auto merge of #12538 - szeged:error-refactor, r=nox
Refactor Bluetooth error handling

<!-- Please describe your changes on the following line: -->
Replace the error messages with an enum in `net/bluetooth_thread.rs`. Rename `bluetooth_blacklist.rs` to `bluetooth_utils.rs` and put the error conversion in it.
With this the returned errors in DOM classes follow the specification.
<!-- 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 do not require tests because  there is no Web Bluetooth test API implementation yet.

<!-- 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/12538)
<!-- Reviewable:end -->
2016-07-28 03:33:08 -05:00
bors-servo
fc0915b218 Auto merge of #12603 - zakorgy:write-value, r=KiChjang
WebBluetooth writeValue new Step

<!-- Please describe your changes on the following line: -->
There is a new step in the writeValue function of the BluetoothRemoteGATTCharacteristic:
https://webbluetoothcg.github.io/web-bluetooth/#dom-bluetoothremotegattcharacteristic-writevalue
Step 6.1

---
<!-- 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 do not require tests because, there is no WebBluetooth test API implementation yet.

<!-- 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/12603)
<!-- Reviewable:end -->
2016-07-27 21:28:17 -05:00
Guillaume Gomez
19134be74f Add condition to not use video-metadata on aarch64 architecture as well 2016-07-28 02:28:02 +02:00
bors-servo
944d371b8f Auto merge of #12563 - emilio:stylo, r=bholley,jdm,pcwalton
stylo: Improve restyling performance

This commit adds hooks to the Servo style traversal to avoid traversing all the
DOM for every restyle. Additionally it changes the behavior of the dirty flag to
be propagated top down, to prevent extra overhead when an element is dirtied.

This commit doesn't aim to change the behavior on Servo just yet, since Servo does extra job when dirtying the node related with DOM revision counters that might be necessary.

CC @asajeffrey for the DOM revision counters stuff. When a node is dirty, do all its descendants really need to increment the revision counter, or is this an unintended effect? My intuition is that this is hurting performance quite a lot for servo.

r? @bholley

<!-- 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 no geckolib tests yet.

<!-- 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/12563)
<!-- Reviewable:end -->
2016-07-27 17:56:26 -05:00
Guillaume Gomez
e87c34a9e9 Disable video-metadata build on arm architecture as well 2016-07-27 23:20:11 +02:00
Emilio Cobos Álvarez
36376461f4
script: Unify LoadComplete and DOMLoad messages.
See the PR in which this commit landed and also
https://github.com/servo/servo/pull/6415#issuecomment-122294169
2016-07-27 11:14:47 -07:00
Emilio Cobos Álvarez
c3a727ebda
style: Remove a few more unuseful traversals now we can. 2016-07-27 11:14:45 -07:00
Emilio Cobos Álvarez
354dc66029
Some debugging improvements and code style nits across gfx and constellation.
* Propagate the RUST_LOG env var to the child process
 * Add debug information when a recv() fails in paint thread's select!.
2016-07-27 11:14:44 -07:00
bors-servo
9693295aaf Auto merge of #12594 - GuillaumeGomez:remove_row, r=Ms2ger
Add DeleteRow method

<!-- 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/12594)
<!-- Reviewable:end -->
2016-07-27 11:29:21 -05:00
Guillaume Gomez
1d53dae960 Remove video-metadata from android platform 2016-07-27 16:08:00 +02:00
zakorgy
b4db14471b Refactor Bluetooth error handling 2016-07-27 15:02:01 +02:00
bors-servo
3d976cc593 Auto merge of #12582 - creativcoder:sw-fetch, r=jdm
Make the service worker send custom response

<!-- 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] These changes do not require tests because "refactor".

<!-- 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/12582)
<!-- Reviewable:end -->
2016-07-26 22:54:56 -05:00
Guillaume Gomez
cf9fd7eb46 Add DeleteRow method 2016-07-27 02:06:26 +02:00
Rahul Sharma
36dbd27ba5 Make the service worker send custom response 2016-07-26 23:16:49 +05:30
zakorgyula
2d2eb62fa0 WebBluetooth Specification Change 2016-07-26 14:29:23 +02:00
bors-servo
b41bf4f1f3 Auto merge of #12577 - izgzhen:fm-chunked, r=Manishearth
Chunked ReadFile from file manager

+ Introduce a `ReadFileProgress` sender in the `ReadFile` msg to file manager, and implement the related I/O operations
+ Change `tests/unit/net/test.jpeg` from a 4.8K file to a 39K file to better test the chunked reading (Since one chunk is maximally 8129 Bytes).

r? @Manishearth

<!-- 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] 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="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/12577)
<!-- Reviewable:end -->
2016-07-26 02:42:45 -05:00
bors-servo
4e18c230d0 Auto merge of #12501 - mephisto41:worker-close-impl, r=KiChjang
Implement DedicatedWorkerGlobalScope.close

<!-- Please describe your changes on the following line: -->
Implement DedicatedWorkerGlobalScope.close().
---
<!-- 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 #12466 (github issue number if applicable).

<!-- Either: -->
- [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="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/12501)
<!-- Reviewable:end -->
2016-07-25 19:34:36 -05:00
Emilio Cobos Álvarez
702445a3ec
script: Don't hold the stderr lock while doing sync operations with the constellation.
Otherwise if you enable debug logging, you deadlock.
2016-07-25 10:51:53 -07:00
Emilio Cobos Álvarez
e6958d3947
script: Fix a few load related bugs.
This is what was making me hit the new test failures. So turns out that when the
DOMContentLoaded event is fired we fired no messages to the constellation, but
we fired the DOMLoad message from the DocumentProgressHandler, effectively after
having dispatched the Load message from script thread.

This also fixes the possibility of a subframe navigation not blocking the load
event of the parent document, for example.
2016-07-25 10:51:52 -07:00
Emilio Cobos Álvarez
d81fe27b11
style: Avoid propagating the restyle flag all through the dom when a node gets dirty.
This puts us in pair with stylo.
2016-07-25 10:50:04 -07:00
Zhen Zhang
9c8ebd3ce1 Chunked ReadFile from file manager 2016-07-25 19:39:16 +02:00
Zhen Zhang
49ed453a59 Fix FileAPI's refcount implementation 2016-07-25 17:48:03 +02:00
UK992
06142b37b8 Support tinyfiledialogs on Windows 2016-07-25 14:43:06 +02:00
Morris Tseng
d23ef77645 Implementing Close function and mark success tests. 2016-07-25 11:59:32 +08:00
ggomez
1d9d77ee78 Implement video-metadata check 2016-07-25 01:42:45 +02:00
Nikhil Shagrithaya
8a05e7a413 Implemented name for Runnable trait in WebSocket Runnables 2016-07-23 23:27:31 +05:30
Kuba Birecki
2c5ea6bd0d Partial fix for #12415: expose interfaces only where necessary 2016-07-23 14:48:33 +02:00
Kuba Birecki
fa8c407191 Partial fix for #12415: expose interfaces only where necessary 2016-07-23 11:09:48 +02:00
Jean SIMARD
e70f68046e
partial-fix #12415: incorrect exposure of Window,Worker in webidl
* HTMLTableCaptionElement.webidl
* HTMLTableCellElement.webidl
* HTMLTableColElement.webidl
* HTMLTableDataCellElement.webidl
* HTMLTableElement.webidl
* HTMLTableHeaderCellElement.webidl
* HTMLTableRowElement.webidl
* HTMLTableSectionElement.webidl
2016-07-23 00:05:40 -04:00