Commit graph

92 commits

Author SHA1 Message Date
Nicholas Nethercote
5a62942911 servo: Merge #18938 - Replace all uses of the heapsize crate with malloc_size_of (from nnethercote:bug-1409255); r=SimonSapin
Servo currently uses `heapsize`, but Stylo/Gecko use `malloc_size_of`.
`malloc_size_of` is better -- it handles various cases that `heapsize` does not
-- so this patch changes Servo to use `malloc_size_of`.

This patch makes the following changes to the `malloc_size_of` crate.

- Adds `MallocSizeOf` trait implementations for numerous types, some built-in
  (e.g. `VecDeque`), some external and Servo-only (e.g. `string_cache`).

- Makes `enclosing_size_of_op` optional, because vanilla jemalloc doesn't
  support that operation.

- For `HashSet`/`HashMap`, falls back to a computed estimate when
  `enclosing_size_of_op` isn't available.

- Adds an extern "C" `malloc_size_of` function that does the actual heap
  measurement; this is based on the same functions from the `heapsize` crate.

This patch makes the following changes elsewhere.

- Converts all the uses of `heapsize` to instead use `malloc_size_of`.

- Disables the "heapsize"/"heap_size" feature for the external crates that
  provide it.

- Removes the `HeapSizeOf` implementation from `hashglobe`.

- Adds `ignore` annotations to a few `Rc`/`Arc`, because `malloc_size_of`
  doesn't derive those types, unlike `heapsize`.

<!-- 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 https://bugzilla.mozilla.org/show_bug.cgi?id=1409255

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because testing is on the Gecko side.

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 4c538b642e4bdfbf42c522c5a59c258a6d14546e

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : f9a6feed1088d0b0be2b55d7f0c2ec9c594ac33b
2017-10-18 13:56:05 -05:00
Matt Brubeck
aae71ef096 servo: Merge #18924 - Fix commonmark Markdown warnings in docs, part 1 (from mbrubeck:doc); r=Manishearth
Fixes warnings from rust-lang/rust#44229 when `--enable-commonmark` is passed to rustdoc.

This is mostly a global find-and-replace for bare URIs on lines by themselves in doc comments.

---

- [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 they are doc formatting changes only

Source-Repo: https://github.com/servo/servo
Source-Revision: 0e62a5829b7c29ae2667a21a439aff1e89201bf3

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : a3cb4b6d3c62220f728cae0ab3bc603fa403ba8b
2017-10-17 16:04:10 -05:00
Simon Sapin
c08c32ca01 servo: Merge #18900 - Remove use of unstable box syntax (from servo:box_syntax); r=emilio
http://www.robohornet.org gives a score of 101.36 on master, and 102.68 with this PR. The latter is slightly better, but probably within noise level. So it looks like this PR does not affect DOM performance.

This is expected since `Box::new` is defined as:

```rust
impl<T> Box<T> {
    #[inline(always)]
    pub fn new(x: T) -> Box<T> {
        box x
    }
}
```

With inlining, it should compile to the same as box syntax.

Source-Repo: https://github.com/servo/servo
Source-Revision: a9022be0c3e30249845ca5947ac0c0a6743c7991

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 97a17674f72dbfcb99552fe4877789f149ccfc84
2017-10-16 11:21:21 -05:00
Anthony Ramine
c10df37830 servo: Merge #18635 - Rename JS<T> to Dom<T>, Root<T> to DomRoot<T>, and other things (from servo:RENAME-ALL-THE-THINGS); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 1282e0d8080ae15307ac8d35941754f9d60f0d76

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 7b291b334b5797291cac309f71232069534f53d2
2017-09-26 03:20:05 -05:00
Corey Farwell
08f1519744 servo: Merge #17883 - Audit usages of unicode case-changing methods (from frewsxcv:frewsxcxv-lowercase); r=SimonSapin
Part of https://github.com/servo/servo/issues/17777.

Source-Repo: https://github.com/servo/servo
Source-Revision: 5fff90c73f77dd9ed41b692e6b3ea960a29ee8a8

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 4dc82b9feba039e3f300ec5884d04ecab21f13e9
2017-08-02 03:01:26 -05:00
Simon Sapin
4e00dd35ff servo: Merge #17061 - EventSource: decode UTF-8 code points across network packets (from servo:utf8); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 25d0c561413a42fd375ea04d891855581fdf5168

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 26ffcd358d3738d542feb0578c03f183bbb0b5c8
2017-05-30 03:50:18 -05:00
coalman
3fa74a14ad servo: Merge #16495 - Make tidy check that opening and closing braces that begin a line do … (from coalman:tidy-brace-alignment); r=emilio
…so with proper alignment.

---
<!-- 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 #16486 (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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 195100f3cac99b979e25157eb437e63bd3262e6f

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 1f340388b3b70f620cbfba6d216955d3ef23b7cb
2017-04-19 03:06:31 -05:00
Keith Yeung
f12808fdb8 servo: Merge #16325 - Fix formdata-blob.htm (from KiChjang:fix-formdata-wpt); r=cbrewster
The other failure is a legitimate WPT bug, will fix upstream.

Source-Repo: https://github.com/servo/servo
Source-Revision: 638e1dc40bc70c3c0d9cd2efdaef852fdb371382

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : a9b4ee02c26c06b5ea4d51f6edfc6892fac12094
2017-04-10 09:27:01 -05:00
Gregory Terzian
6d7fe5d8b4 servo: Merge #15519 - implement structured clone callbacks - support Blob cloning (from gterzian:implement_structuredclone_callbacks); r=jdm
<!-- Please describe your changes on the following line: -->
1. Implement stubs for structured clone callbacks.
2. Support Blob cloning.

Partial implementation of https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Structured_clone_algorithm

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

<!-- Either: -->
- [ ] 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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 7be9f0e7c4f16c5626180c3a6b07abdecea408fe

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 44af08347e9decac9e79de75e5941627fb2cad6f
2017-03-21 21:17:25 -07:00
Charles Vandevoorde
5dda7c7222 servo: Merge #15767 - Remove support for Blob::{close, isClosed} (from charlesvdv:blob-close); r=nox
<!-- 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 #15660

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 1b1fadb8b88eefe878617230a7b78c75a164332d

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 392c282de7d711baf7c35ea75e3cdd8d3bdd79d0
2017-03-03 02:16:51 -08:00
Anthony Ramine
be2b512750 servo: Merge #15715 - Make #[dom_struct] a proc_macro attribute (from nox:custom-derive); r=SimonSapin
The rustup is needed for https://github.com/rust-lang/rust/pull/40039.

Source-Repo: https://github.com/servo/servo
Source-Revision: a204c4176dcccdad8ec99d74055c66794c3f64ba

--HG--
rename : servo/components/domobject_derive/Cargo.toml => servo/components/dom_struct/Cargo.toml
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 2cad140c3d6b99837f0bd15a6f3ccba0f353e049
2017-02-24 05:56:30 -08:00
Corey Farwell
b429779be4 servo: Merge #14495 - Rename Reflectable to DomObject (from frewsxcv:reflectable-domobject); r=jdm
Fixes https://github.com/servo/servo/issues/8473.

Source-Repo: https://github.com/servo/servo
Source-Revision: b192ae9db7082346a4a6a985c5557d4cea75d50e
2016-12-08 12:41:08 -08:00
Anthony Ramine
b95407a112 servo: Merge #13596 - Get rid of dom::bindings::global (from nox:inline); r=Ms2ger
Globals in that PR are now represented by the fake IDL interface `GlobalScope`.

Source-Repo: https://github.com/servo/servo
Source-Revision: a6e4b5bb86ad707a0863acff87344ca4239cfd2c

--HG--
rename : servo/components/script/dom/webidls/ServoXMLParser.webidl => servo/components/script/dom/webidls/GlobalScope.webidl
2016-10-07 07:52:09 -05:00
Arthur Marble
8c93f25e9f servo: Merge #13307 - Code refactoring (from bubbles231:code_refactor); r=Manishearth
<!-- Please describe your changes on the following line: -->
The code was refactored to follow Rust naming conventions better.

---
<!-- 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 help fix #12379.

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

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 5457b80233f9ce6773711c7189230d9a0a63d93a
2016-09-18 22:57:59 -05:00
UK992
f8cb9971b7 servo: Merge #13205 - Tidy: Fix ordering use statements with braces (from UK992:tidy-sort); r=Wafflespeanut
This hack fixes https://github.com/servo/servo/issues/7412 and matches behavior with rustfmt.

Source-Repo: https://github.com/servo/servo
Source-Revision: 3117787fd2a8b7748cfde1e9b8c5be3c00f2c599
2016-09-08 22:19:19 -05:00
Zhen Zhang
523e8340d7 servo: Merge #12898 - Burn SelectedFileId in fire (from izgzhen:burn-selected-file-id); r=Manishearth
r? @Manishearth

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 43d4a459c0080215de10f43ea74b7860fb196009
2016-08-22 03:09:28 -05:00
Zhen Zhang
b6ef5dece1 servo: Merge #12897 - Improve File API related comments (from izgzhen:improve-file-api-comments); r=Manishearth
r? @Manishearth

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

Source-Repo: https://github.com/servo/servo
Source-Revision: f4f212fd18290eab51eaac972335cec60d2a34e0
2016-08-17 06:38:34 -05:00
Zhen Zhang
e093831007 servo: Merge #12896 - Improve Blob.Size() speed by avoid reading content (from izgzhen:fix-blob-size); r=Manishearth
r? @Manishearth

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 2eb03287388346517344b90c7d6da09d54da2596
2016-08-17 04:52:42 -05:00
Zhen Zhang
40d490b7e6 servo: Merge #12684 - Add cancellability to file manager load and related refactoring (from izgzhen:cancel-file-manager); r=Manishearth
Fixes #12589.

r? @Manishearth

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

Source-Repo: https://github.com/servo/servo
Source-Revision: b2f69f363574d5dea3cb96d4ef00c1d4e56bdd63
2016-08-02 16:57:46 -05:00
Zhen Zhang
118195615b servo: Merge #12579 - Fix FileAPI's refcount implementation (from izgzhen:fix-fileapi-ref); r=Manishearth
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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 93b130f3f7571ebb7407e3914d83dc6fc526c7d4
2016-08-02 03:03:47 -05:00
Zhen Zhang
8a84b8355b servo: Merge #12577 - Chunked ReadFile from file manager (from izgzhen:fm-chunked); r=Manishearth
+ 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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: b41bf4f1f30b8f4eec92909c8971bc02d5422b50
2016-07-26 02:42:45 -05:00
Zhen Zhang
ae3ffe46d5 servo: Merge #12544 - Patches of File API (from izgzhen:patch-file-api); r=Manishearth
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

<!-- Either: -->
- [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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 9c0e7b1cf2696ac214fcb0ce20f95ae9f16f2ea1
2016-07-22 01:09:58 -05:00
Zhen Zhang
cd3859d731 servo: Merge #12400 - Fix Blob type-string (from izgzhen:fix-type-string); r=Manishearth
Use a final construction guard over type-string format; and other minor related cleanups

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

<!-- Either: -->
- [ ] 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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: fa432a5a34866356c4431f18b0790be4cfd2fb3f
2016-07-18 07:19:49 -07:00
Zhen Zhang
843baeffe9 servo: Merge #12440 - Put Blob URL online (from izgzhen:blob-online); r=Manishearth
This PR connects the resource requests with file manager thread, including:

+ `script_thread` load request
+ `image_cache_thread` load request
+ XHR load request (the responding part code yet not implemented due to unfamiliarity with fetch standard, but the infra is here)

One notable change is the introduction of "long-live validity", to handle the case specified in WPT test FileAPI/blob/Blob-XHR-revoke.html.

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 fix #10539
- [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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 0e5893dc0d66faaca1c16101aa1f04a6cfb0b9c1
2016-07-15 06:39:23 -07:00
Zhen Zhang
f66935aba8 servo: Merge #12406 - Refactor FileAPI implementation (from izgzhen:refactor-file); r=Manishearth
Most are simple refactoring, cleanups and improvements, but still involving two slightly notable changes:

+ In `filemanager`, now we read the file content based on requested `RelativePos` by `seek` and `read_exact` (rather than `read_to_end` then do slicing). This strategy might be again adjusted in future performance tuning but certainly better than nothing.
+ Also, I cached more file meta-info in both sides and left a block of comment on `filemanager`'s file reading mentioning the snapshot-state problem (not solved now though).

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

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 665559556f5aeac5820e17684b14311aa3767c0c
2016-07-12 22:00:08 -07:00
Zhen Zhang
1e745db4f5 servo: Merge #12378 - Add FileID validity setting/checking logic to Blob URL implementation (from izgzhen:blob-url-revocation-fix); r=Manishearth
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

<!-- Either: -->
- [ ] 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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 42e90f7db9d5ee7c6176e35e600cd27fe9c6748c
2016-07-11 00:13:45 -07:00
Zhen Zhang
da9b7c774e servo: Merge #12258 - Remove DataSlice, fix #12249 (from izgzhen:remove-data-slice); r=Manishearth
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
- [x] These changes fix #12249

<!-- Either: -->
- [ ] 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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 87c77725279ba3f1b612e27fccf353c81eae17b8
2016-07-05 06:24:46 -07:00
Zhen Zhang
182611cd28 servo: Merge #11875 - Integration and improvements of File API backends (from izgzhen:file-manager-backend); r=Manishearth
Basically three major changes:

1. More complete origin check in `FileManagerThreadMsg`
2. Add reference counting logic to file manage store and script API
3. Integrate the support of slicing

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 36974f0746261b971c93ed7dfb9bd726675ccf69
2016-07-04 09:15:23 -07:00
Achal Shah
6ace7d5ae4 servo: Merge #11768 - Update Blob::{new, new_inherited} to take Strings (from achals:blob-string); r=Ms2ger
<!-- 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 #11762.

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because no logic changes, only interface changes.

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 9208b8e21493b4a7721ff780691ffec193ef8a32
2016-06-17 09:52:38 -05:00
Zhen Zhang
b8ff31f979 servo: Merge #11552 - Improve implementation and add testing regarding file manager thread (from izgzhen:add-testing-fix-filemanager); r=Manishearth
First there is a more completed unit test. And in the test running, I found a runtime error `Serde(Custom("bincode does not support Deserializer::deserialize))` when reading response from file manage thread. I analyzed a bit and found that it is probably caused by the `Uuid` field. I temporarily work around it by making the `Id` essentially a string wrapped inside `SelectedFileId`.

Related to PR #11131.

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 6f9016cf3edce828bf0edb5411b963d7c9f2d209
2016-06-09 18:14:30 -05:00
Zhen Zhang
7a309c887c servo: Merge #11221 - Add file backend support for Blob and related (from izgzhen:blob-file-backend); r=Manishearth
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy --faster` does not report any errors
- [x] These changes fix #10851, related to #11131
- [x] These changes do not require tests because the implementation is partial and can't work alone

1. Add new backend to `Blob` and a `BlobImpl` struct to abstract multiple backends
2. Rewrite most interfaces of `Blob` to accommodate the change
3. Change the `read` behaviour of `FileReader`, considering the case when blob is file-backed and not cached

The design is still immature, welcome comments!

- [x] I used `DOMRefCell` to cache the bytes in `BlobImpl`, is it sound?
- [x] The interfaces (like `BlobImpl::get_bytes`) handle requests in a default-to-empty way when the inner `DataSlice` is not cached. It might be possible to handle this condition better.

Source-Repo: https://github.com/servo/servo
Source-Revision: 3d7b17681dc9c20358fda9efc72575feb968cc81
2016-06-01 05:09:21 -05:00
Josh Matthews
7f10c47c0a servo: Merge #11472 - Report blank lines that follow an open brace (from jdm:wip); r=mbrubeck
This automates something that I find myself frequently commenting on in PRs.

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

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 3ec20d9cf517c67f4d280e8958cc58c4c2b4fbb2
2016-05-27 18:14:25 -05:00
Anthony Ramine
5aa3cb5ed3 servo: Merge #11326 - Move DOMString back to script (from nox:non-geckolib); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 6abcd793d780369767385b01b02ee725d6b10585
2016-05-24 02:07:29 -07:00
Per Lundberg
28632dc3a1 servo: Merge #11192 - Removed unused imports (from perlun:remove-unused-imports); r=Manishearth
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #11185
- [X] These changes do not require tests because it only removes dead code.

----

This fixes #11185.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2c674d0397927ef6563feb70e54f46815af55600
2016-05-15 15:41:16 -07:00
Zhen Zhang
38c9a9b49c servo: Merge #11076 - Implement File DOM object interface (from izgzhen:fileapi); r=Ms2ger
* Rewrite constructors of `Blob` and `File` with `DataSlice` as argument
* Update WebIDL of `Blob` and `File`
* Implement missing interfaces of `File` (However, due to lack of working `ArrayBuffer/ArrayBufferView` in `Blob`, so it still differs from spec)
* Update WPT test `File-constructor.html`

Source-Repo: https://github.com/servo/servo
Source-Revision: 392135bd0c2f512a0d632a7d76e667bc9af8f4a7
2016-05-11 10:28:05 -07:00
Zhen Zhang
58515a4e9d servo: Merge #10873 - Fixes related to File API (from izgzhen:blob); r=Manishearth
Fixing problems I met when trying to resolve https://github.com/servo/servo/issues/10851, but most of changes here are simple fixes.

Source-Repo: https://github.com/servo/servo
Source-Revision: 14926529c9f38a014140d75ca06cc46d1a2b72ba
2016-05-01 22:13:20 -07:00
Yoav Alon
a70d23c17e servo: Merge #10795 - updated Blob constructor to use optional (from yoava333:master); r=Ms2ger
fixes https://github.com/servo/servo/issues/10779

Source-Repo: https://github.com/servo/servo
Source-Revision: 1b13ddcd8a22694a764260c3573d3b198478d4ce
2016-04-22 23:17:55 -07:00
Ms2ger
828c6b2e34 servo: Merge #10750 - Use num's constituent crates (from servo:num); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 89b276c889ce76f8fe43c22779835af138472dac
2016-04-20 20:11:24 +05:01
St.Spyder
9ca7983c7b servo: Merge #9979 - Implementation of Blob Constructor with test changes (from stspyder:master); r=jdm
Apologize for the late PR. I see that #9977 already overlaps with some of the work. If that is accepted, then I'll change my PR to reflect just the WPT changes.

Source-Repo: https://github.com/servo/servo
Source-Revision: f3abfeeadd5c5b00b17e48c186e957ba10b6e33b
2016-03-23 08:38:38 +05:01
Saurav Sachidanand
b7a87cadba servo: Merge #9967 - Convert directly from DOMString to Vec<u8> (from saurvs:master); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 00ab2e9f9e5457375c38bbc349ae26db92fae578
2016-03-12 00:50:04 +05:01
Chad Kimes
9899b01934 servo: Merge #9255 - Remove global fields from DOM objects (from ckimes89:remove-globalfield); r=nox
Fixes #9227

Source-Repo: https://github.com/servo/servo
Source-Revision: 53c4a782a0906c487139d4b6f3c62d9eca3f9f17
2016-01-12 18:03:37 +05:01
David Raifaizen
7cc47827e0 servo: Merge #8860 - Changing blob to use arc pointers in order to limit wasteful copying … (from craftytrickster:8801/blob-vec); r=jdm
Fixes #8801.

Source-Repo: https://github.com/servo/servo
Source-Revision: 0fcee73ef38f65c1cb1ccf64608e16b4eaa25e53
2016-01-07 12:38:42 +05:01
Brandon Fairchild
b00897ab03 servo: Merge #9160 - Update FileAPI spec links (from nerith:spec); r=jdm
The links in components/script/dom/blob.rs were pointing to the old location.

Fixes #9157.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8b855e44568ea4482df57118b662ade013e41e6c
2016-01-06 02:35:21 +05:01
Tetsuharu OHZEKI
1541b677a4 servo: Merge #8922 - Fix warnings: Use Vec.extend_from_slice instead of Vec.push_all (from saneyuki:warning); r=mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: d01233a7b417c87b18d31f10709ed83141887b94
2015-12-11 04:28:58 +05:01
Ms2ger
f0af48c824 servo: Merge #8569 - Rustfmt some of script (from Ms2ger:fmt-script); r=metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: 7a87312121a69b590b364f9b5095f3145554e24b
2015-11-18 15:15:30 +05:01
Alan Jeffrey
f8093754b7 servo: Merge #8477 - Opaque DOMString (from asajeffrey:opaque-domstring); r=asajeffrey
This patch makes DOMString an opaque wrapper round String (currently it's a transparent wrapper).

The changes are:

* Replacing DOMString(foo) by DOMString::from(foo).
* Replacing foo.0 by String::from(foo).
* Adding functions clear, push_str and extend for in-place mutation of DOMStrings.
* Replacing DOMString by String in other threads (devtools, storage and filereader).
* Making DOMString implement !Send.
* Removing the pub attribute from the contents of DOMString.

This enables experimenting with other string representations in the DOM.

Source-Repo: https://github.com/servo/servo
Source-Revision: 62acdd303b78951885c2c90747b31f318907d6c9
2015-11-13 06:48:30 +05:01
Nikki
ebed337ece servo: Merge #8218 - #8213: Implement Blob variant of WebSocket.send (from nikkisquared:master); r=eefriedman
I'm working on resolving https://github.com/servo/servo/issues/8213 as per the spec online and feedback in the servo channel. Note that currently I cannot build (and thus test) my code, so this is a bit of a rough first draft. I'd still like feedback on my progress, and I hope that there is another way for my code to be tested.

Source-Repo: https://github.com/servo/servo
Source-Revision: 021f441d24893861d45fec0cef7ed88dc9e6543a
2015-11-05 09:55:27 +05:01
Ms2ger
7cb2a13f43 servo: Merge #8312 - Make DOMString a newtype around String, rather than a typedef (from Ms2ger:DOMString); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: abfd1fb1bf071961bc8a581927eaa96a2d3e2cba
2015-11-04 16:18:41 +05:01
rohan.prinja
e8b504412b servo: Merge #8221 - move modules around (from ajnirp:8130-reorganise); r=jdm
for #8130

Source-Repo: https://github.com/servo/servo
Source-Revision: daad09d44245228fba9118316937add71bec7c58
2015-11-04 02:27:02 +05:01
Anthony Ramine
06fd534a1b servo: Merge #8020 - Generate all Derived implementations in codegen (from nox:codegen-derived); r=Ms2ger
Follow-up of #7873.

@Ms2ger r? :)

Source-Repo: https://github.com/servo/servo
Source-Revision: 417cf5738e4609f4b2e34e9e0c4f7ef68f087432
2015-10-15 12:53:08 -06:00