Граф коммитов

75 Коммитов

Автор SHA1 Сообщение Дата
ddh c27487d718 servo: Merge #18670 - added time to interactive metrics (from avadacatavra:interactive-metrics); r=jdm
<!-- Please describe your changes on the following line: -->

Added time to interactive metrics and refactored metrics/lib

I need to write tests, but wanted to submit the PR for review

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

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : bac1798200377932a85607154d5baa4f451b30e6
2017-10-25 15:53:57 -05:00
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
Glenn Watson a099f50bcc servo: Merge #18890 - Update WR (details below): (from glennw:update-wr-clip-text-aa); r=jdm
* Add support for clip masks on text runs.
* Fix atomic ordering of items with multiple shadows.
* Update to bincode + ipc-channel with optimizations.
* Fix some plane splitting precision errors.
* Improve the anti-aliasing quality significantly.
* Add internal ClipChain support.
* Fix diacritic glyphs on Linux.

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 7e4b2cb3c1826baf96fbd87667ed36f872c8e282
2017-10-16 12:54:02 -05:00
Simon Sapin 610a77ac31 servo: Merge #18839 - Remove some usage of unstable features (from servo:stabler); r=nox
`Box::new(x)` seems to compile to exactly the same assembly as `box x` in release mode:
https://play.rust-lang.org/?gist=55ec5dd02c22fa799375d6e2e1a6e970&version=nightly

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

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 029931b3a8d9c2e073038623375ebbc38eba348a
2017-10-12 05:18:00 -05:00
Fernando Jiménez Moreno f8e2183853 servo: Merge #18324 - Make Performance Timeline API work in Workers (from ferjm:performance.workers); r=jdm
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #18286 and #18308

This patch makes the Performance Timeline API work in workers, removes the exposure of `Performance.timing` in workers and sets the appropriate value of `Performance.now()` in workers.

Source-Repo: https://github.com/servo/servo
Source-Revision: 42de8e3d3fe8927b4730a7a42880eb46f743384a

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 7e56895f313831bf60157bd315e0de56f5ea9a6c
2017-09-05 17:00:26 -05:00
Clément DAVID 14926dcf7c servo: Merge #18179 - Automatically verify that derive() lists are alphabetically ordered #… (from davidcl:master); r=jdm
<!-- Please describe your changes on the following line: -->
Automatically verify that derive() lists are alphabetically ordered #18172

---
<!-- 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 #18172 (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: 474369618965569407d127b1e8c481e757cc59d3

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 421aa68def8e17f70580477a4203494db3b69382
2017-08-23 17:18:31 -05:00
Fernando Jiménez Moreno 408e40547b servo: Merge #17256 - Implement basic Time To First Paint and First Contentful Paint PWMs (from ferjm:ttfp); r=jdm
- [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: eba573d774dd2ac07ec8d62f1ad8deffca4667a4

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 3ec7d47692901d4f9fd7e9de576fc7ea03600760
2017-07-20 11:34:35 -07:00
Jeremy Lempereur 9e826bc61e servo: Merge #17383 - #17363 : Passing ProfilerChan by reference to the send_profile_data method (from o0Ignition0o:profiler_chan_by_reference); r=jdm
<!-- Please describe your changes on the following line: -->
Passed the ProfilerChan by reference to the send_profile_data method.

I wonder if I should also refactor the
`pub fn profile<T, F>(category: ProfilerCategory, meta: Option<TimerMetadata>, profiler_chan: ProfilerChan, callback: F) -> T where F: FnOnce() -> T method ` , but I don't feel confident enough to make the call, since I don't really understand what it would imply.

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because the project would not compile if there were missing by reference calls.

<!-- 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: d8ae4638397a3834203267ceae075509e9cb9931

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 79e9240a4279e5bf6fa0ac2c835572493926183c
2017-06-25 09:06:28 -07:00
Simon Sapin 817c7746be servo: Merge #17355 - Bump serde to 1.0 (from servo:serdeup); r=nox
This is a rebase of #17325 with `[replace]` entries removed, a bunch more dependencies updated, and some more compile fixes. Original work by @Eijebong, thanks a lot!

Source-Repo: https://github.com/servo/servo
Source-Revision: 66c130d55aa0d7af1104c00e93a5bf950f23a383

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 323361580a540d8b296f6f7d77f20d46cbdc5c73
2017-06-16 05:03:18 -07:00
Alan Jeffrey 33d16ecbe0 servo: Merge #16814 - Implement Houdini worklets (from asajeffrey:script-worklets); r=jdm
<!-- Please describe your changes on the following line: -->

This PR implements the current draft Houdini Worklets specification (https://drafts.css-houdini.org/worklets/).

The implementation is intended to provide a responsive environment for worklet execution, and in particular to ensure that the primary worklet executor does not garbage collect, and does not block loading module code. The implementation does this by providing a thread pool, and performing GC and module loading in a backup thread, not in the primary thread.

---
<!-- 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 #16206
- [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. -->

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

--HG--
rename : servo/components/script/dom/webidls/Function.webidl => servo/components/script/dom/webidls/VoidFunction.webidl
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : d4069e68d5b007ec258bf5821d6386a3ec63c490
2017-05-17 16:20:42 -05:00
Anthony Ramine 12f49cb702 servo: Merge #15670 - Kill the plugins crate and its clippy support (from nox:die-plugins-die); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 14bbe9d8729dece2d80bb651bca1c2eda13d0429

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : e37e34fddb2107725548a4af0b2bb1ba21d5d70e
2017-02-21 05:15:15 -08:00
Anthony Ramine b20ac2cefb servo: Merge #15588 - Update serde to 0.9 (from servo:serde); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 7f3a75fa804c0be67f1567ca4a2449cebefa9616

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : ee100538644baf6bfc695351c42ab95295d7264f
2017-02-18 12:10:26 -08:00
Anthony Ramine fb18b1bc80 servo: Merge #15537 - Update ipc-channel to 0.6.3 (from servo:webrender); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 4a0b730cafd09fbd6e5cbc00727caef9b3cae315

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : ff60d998ee96372d2dc811e5e73b730801c4f5c9
2017-02-16 03:53:49 -08:00
Ms2ger fe440ee348 servo: Merge #15154 - Update rustc to 1.16.0-nightly (7821a9b99 2017-01-23) (from servo:rustup); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 2ff42462154025b1aed97a825e3a171eaa156d9b
2017-01-24 06:11:40 -08:00
Imanol Fernandez 952fe5d9e8 servo: Merge #14618 - WebVR API Implementation (from MortimerGoro:webvr_api); r=larsbergstrom,emilio,jdm,nox,asajeffrey,cvan
<!-- Please describe your changes on the following line: -->

WebVR API Implementation with HTC Vive support on Windows. The current implementations only enables the WebVR support on Windows. In other platforms the API is available on JavaScript but navigator.vr.getDisplays() returns an empty array. This will change when we add support for more VR providers and platforms ;)

Info about the architecture:
https://blog.mozvr.com/webvr-servo-architecture-and-latency-optimizations/
---
<!-- 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] There are tests for these changes OR
- [ ] These changes do not require tests because _____

Proprietary openvr.dll must be copied next to servo.exe in order to test on HTC Vive (https://github.com/ValveSoftware/openvr/tree/master/bin/win64) I have added some of the official WebVR samples for testing. Switch on your headset and run:

mach run tests/html/webvr/room-scale.html

Source-Repo: https://github.com/servo/servo
Source-Revision: 518ef39cfd429082dd8dc0d5b13e2db637d08a53
2017-01-09 06:39:45 -08:00
Simon Sapin f5e9398e12 servo: Merge #14889 - Upgrade to rustc 1.16.0-nightly (6f1ae663e 2017-01-06) (from servo:rustup); r=jdm
<!-- 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: -->
- [ ] 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: df895cb80c460594f220b6cf28aa5869464d05ec
2017-01-07 08:18:28 -08:00
Alan Jeffrey 07258edab3 servo: Merge #14592 - Remove the util crate (from asajeffrey:util-goodbye); r=mbrubeck
<!-- Please describe your changes on the following line: -->

This PR removes the `util` crate.

* Replaced the `spawn_named` and `clamp` functions by appropriate uses of `std:🧵:Builder::spawn`, `std::cmp::min` and `std::cmp::max`.
* Moved `opts`, `prefs` and `resource_files` into a new `config` crate.
* Moved `remutex` and `geometry` into their own crates.

---
<!-- 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 they are refactorings

<!-- 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: 4eb653817f87e5fb47de34356f558eb76ecbca9f

--HG--
rename : servo/components/util/Cargo.toml => servo/components/config/Cargo.toml
rename : servo/components/util/basedir.rs => servo/components/config/basedir.rs
rename : servo/components/util/lib.rs => servo/components/config/lib.rs
rename : servo/components/util/opts.rs => servo/components/config/opts.rs
rename : servo/components/util/prefs.rs => servo/components/config/prefs.rs
rename : servo/components/util/resource_files.rs => servo/components/config/resource_files.rs
rename : servo/components/util/geometry.rs => servo/components/geometry/lib.rs
rename : servo/components/util/remutex.rs => servo/components/remutex/lib.rs
rename : servo/tests/unit/util/lib.rs => servo/tests/unit/servo_config/lib.rs
rename : servo/tests/unit/util/opts.rs => servo/tests/unit/servo_config/opts.rs
rename : servo/tests/unit/util/prefs.rs => servo/tests/unit/servo_config/prefs.rs
rename : servo/tests/unit/util/remutex.rs => servo/tests/unit/servo_remutex/lib.rs
2016-12-14 16:48:42 -08:00
Jansen Jan 23b92da701 servo: Merge #13489 - Add support for fullscreen #10102 (from farodin91:fullscreen); r=jdm
<!-- Please describe your changes on the following line: -->

I'm start working on fullscreen support.
@jdm Should be the entry_point in ScriptReflow a Option if fullscreen is enabled or point on the entry_node? For example the RootNode.

---

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

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 8b69e73594647319e95bd0fd36c2addabcee1e5d
2016-12-09 09:52:34 -08:00
Connor Imes 600c23a426 servo: Merge #14272 - Fix energy profiling feature (from connorimes:fix-energy-profiling-feature); r=Manishearth
<!-- Please describe your changes on the following line: -->
The `energy-profiling` feature was broken at some point when `#![deny(unsafe_code)]` was introduced to the `profile_traits` component.  This PR sets `#[allow(unsafe_code)]` on the `energy` module.
There is an additional commit (my original intention) to update the profiler logging to use the current `ProfilerCategory` enum values for (typically developer-only) performance/power analysis.

---
<!-- 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 it fixes is a compile error for a feature.

<!-- 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: 1e42e4d9cec1a46a0a3009095c6030425c0a8845
2016-11-19 02:32:00 -06:00
Josh Matthews 98f874ab6f servo: Merge #14165 - Supress panics for ProfilerChan sends (from servo:jdm-patch-1); r=nox
This should address #14161.

Source-Repo: https://github.com/servo/servo
Source-Revision: 65dd6d43409228e259153463fe24922c51172bc5
2016-11-14 16:12:34 -06:00
Josh Matthews 0a362facce servo: Merge #14119 - Address common source of shutdown panics (from servo:jdm-patch-1); r=mbrubeck
Remove easy sources of intermittent failures during test shutdown. Might help #14118 and #14117.

Source-Repo: https://github.com/servo/servo
Source-Revision: 5173a655219d5eff64d4702718cfa63c2c44e1b3
2016-11-08 12:23:56 -06:00
Anthony Ramine 6b2b23c586 servo: Merge #14040 - Remove last use of custom derive plugin (from nox:custom-derive); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: e3493cdd26f6faab0ddf6503ad19f0af169ad880
2016-11-03 06:15:25 -05:00
Anthony Ramine 4adf074ce8 servo: Merge #13675 - Clean up the parsers into a single interface (from nox:servoparser); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 928e5ad1e5ca4344e69cd8029749ecb623eabd9f

--HG--
rename : servo/components/script/parse/html.rs => servo/components/script/dom/servoparser/html.rs
rename : servo/components/script/parse/xml.rs => servo/components/script/dom/servoparser/xml.rs
rename : servo/components/script/dom/webidls/ServoXMLParser.webidl => servo/components/script/dom/webidls/ServoParser.webidl
2016-10-11 10:16:23 -05:00
Anthony Ramine d480281b15 servo: Merge #13649 - Update to Rust 1.14.0-nightly (19ac57926 2016-10-08) (from servo:rustup); r=larsbergstrom
Source-Repo: https://github.com/servo/servo
Source-Revision: 39d3fce1af89bf30e201dcb873d7f2ffe0ad3d42
2016-10-09 20:12:38 -05:00
Patrick Walton a2cdb30f64 servo: Merge #13519 - profile: Integrate the time profiler with the macOS signpost infrastructure (from pcwalton:signpost); r=larsbergstrom
With this change, if you supply the `-Z signpost` flag, Instruments.app
can display Servo events overlaid with callstack data. Even better, you
can get call stack profiling for individual Servo events (one layout,
one network request, one style recalculation, etc.)

This adds a dependency on the `signpost` crate. On unsupported OS's,
this crate is an no-op.

Screenshot: http://i.imgur.com/agLyzOU.png

r? @larsbergstrom

Source-Repo: https://github.com/servo/servo
Source-Revision: 7f84982de2fe8283d1df37d704842e037432087e
2016-10-01 04:18:56 -05:00
Anthony Ramine 64c09a7eda servo: Merge #12828 - Update serde to 0.8 (fixes #12659) (from nox:serde); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 9abe9e450b54ef9151bbee1aa0bd2dedb685fa7a
2016-08-12 12:23:10 -05:00
Glenn Watson 8181f16ecc servo: Merge #12711 - Update webrender, copy new shaders, pin ipc-channel (from servo:wr-wr-next); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: e2d4ff5b62aff7fc6f40460270af44e1ab5283d4

--HG--
rename : servo/components/script/dom/validation.rs => servo/resources/shaders/ps_blend.glsl
rename : servo/resources/shaders/box_shadow.fs.glsl => servo/resources/shaders/ps_box_shadow.fs.glsl
rename : servo/resources/shaders/debug_color.fs.glsl => servo/resources/shaders/ps_clear.fs.glsl
rename : servo/components/script/dom/validation.rs => servo/resources/shaders/ps_clear.glsl
rename : servo/resources/shaders/mask.fs.glsl => servo/resources/shaders/ps_image_transform.glsl
rename : servo/resources/shaders/debug_color.fs.glsl => servo/resources/shaders/ps_rectangle.fs.glsl
rename : servo/components/script/dom/validation.rs => servo/resources/shaders/ps_rectangle.glsl
rename : servo/ports/geckolib/gecko_bindings/sugar/mod.rs => servo/resources/shaders/ps_rectangle_transform.glsl
rename : servo/components/script/dom/validation.rs => servo/resources/shaders/ps_text.glsl
2016-08-03 07:50:06 -05:00
Eduard Burtescu 67ca178f91 servo: Merge #12586 - Update Rust to 1.12.0-nightly (9316ae515 2016-07-24) (from servo:rustup); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 0be8e6857f4f767129dd694bf1e7e86060d307a4
2016-07-26 17:18:41 -05:00
Alan Jeffrey 3502f92cc3 servo: Merge #12447 - All our Cargo.toml files should contain an MPL-2.0 license field (from asajeffrey:license-mpl-2.0); r=frewsxcv
<!-- Please describe your changes on the following line: -->

Added a `license = "MPL-2.0"` field to all our `Cargo.toml` files, and added a check to `test-tidy` that the license is present.

---
<!-- 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 #12434
- [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: 650d1d1185eecdc4c8b605bb0290ece7de839015
2016-07-14 09:33:18 -07:00
Anthony Ramine 68261846c3 servo: Merge #11871 - Update Rust to 1.11.0-nightly (ad7fe6521 2016-06-23) (from servo:rustup); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: e3e5a51ff692635e7eabd2b244a975686f1064c4
2016-06-27 09:47:34 -05:00
Rahul Sharma d38a9a1c80 servo: Merge #11114 - implement related service worker interface and register method (from creativcoder:nav-sw); r=jdm
Fixes  #11091

Source-Repo: https://github.com/servo/servo
Source-Revision: cc017fc0b8619726f0c82649f41fdcf5595b19e4
2016-06-02 06:18:59 -05:00
Patrick Walton c3daa72338 servo: Merge #11398 - script: Keep the DOM-side viewport up to date when scrolling happens in WebRender (from pcwalton:webrender-viewport); r=glennw
This happens asynchronously, just as it does in non-WebRender mode.

This functionality is a prerequisite for doing proper display-list-based
hit testing in WebRender, since it moves the scroll offsets into Servo
(and, specifically, into the script thread, enabling iframe event
forwarding) instead of keeping them private to WebRender.

Requires servo/webrender_traits#55 and servo/webrender#277.

Partially addresses #11108.

r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: 27d1f182713077395426a53a9c91ec35c95887ee
2016-05-31 20:54:29 -05:00
Josh Matthews b10b472b1a servo: Merge #11239 - Add timeline markers for HTTP requests, JS evaluation, and HTML parsing (from jdm:time-profile); r=nox
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 (didn't try to compile past a rustc upgrade on airplane wifi)
- [X] `./mach test-tidy --faster` does not report any errors
- [X] These changes fix #11218 (github issue number if applicable).

Either:
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because we don't have testing infrastructure for profiling.

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: 96a86bd952c4c0e41d6164fbd16244ea4420106a
2016-05-18 06:07:10 -07:00
Rohit Zambre e8e9371fba servo: Merge #10995 - Interval + CSV time-profiling (from rzambre:master); r=larsbergstrom
This PR fixes #10886. The -p option can be followed by either an interval number or a CSV filename.
* In the interval profiling, the profiler output would be spitted out to the terminal periodically.
Example usage: **./mach run -p 1 http://www.google.com** will print the time-profiling output to the terminal every second.

* In the CSV file profiling, a CSV file will be generate upon termination of servo.
Example usage: **./mach run -x -o out.png -p out.csv http://www.google.com** will generate out.csv upon termination of Servo.

Source-Repo: https://github.com/servo/servo
Source-Revision: d4315855aaddb9d9ed26cd730e9b75e15500c3bd
2016-05-11 17:19:53 -07:00
Matt Brubeck b33763b392 servo: Merge #11096 - Profile time spent saving the screenshot image (from mbrubeck:profile-image-saving); r=metajack
I did this to see if it was a significant factor in automated test runs.  (Spoiler: it isn't.)

Source-Repo: https://github.com/servo/servo
Source-Revision: 7b8bb0c2485eb46303d97918d91fce73bd98fea9
2016-05-09 10:21:00 -07:00
Nick Fitzgerald 82b359a568 servo: Merge #10694 - Add a method for dumping profiles as self-contained HTML w/ timeline visualization (from fitzgen:profile-traces-to-file); r=SimonSapin
This commit adds the `--profiler-trace-path` flag. When combined with `-p` to
enable profiling, it dumps a profile as a self-contained HTML file to the given
path. The profile visualizes the traced operations as a Gantt-chart style
timeline.

Example output HTML file: http://media.fitzgeraldnick.com/dumping-grounds/trace-reddit.html

Mostly I made this because I wanted to see what kind of data the profiler has, and thought that this might be useful for others as well. I'm happy to add tests if we can figure out how to integrate them into CI, but I'm not sure how that would work.

Thoughts?

Source-Repo: https://github.com/servo/servo
Source-Revision: b8e2fa58d61a4d77b67efa09a437ba6beb68e30e
2016-04-28 02:47:35 -07:00
Simon Sapin 2f882b0cfb servo: Merge #10857 - Simplify TOML syntax (from servo:toml); r=nox
* Sections like `[dependencies.foo]` can be entries in a `[dependencies]` section with the `{key = value}` syntax.
* Per-target dependencies can be expressed with more general `cfg(…)` conditions instead of exact target triples: https://github.com/rust-lang/cargo/pull/2328

Source-Repo: https://github.com/servo/servo
Source-Revision: 2729864af73d62719ea0fd55cef417c43bdd951e
2016-04-26 15:46:37 -07:00
faineance f3988ea1b8 servo: Merge #10222 - Use self.0 instead of destructuring single item tuple structs (from faineance:master); r=KiChjang
Closes #9698.

Source-Repo: https://github.com/servo/servo
Source-Revision: b97ffffb48080a0b4769f8609a27a68145042945
2016-03-28 03:43:31 +05:01
Patrick Walton 818acd332f servo: Merge #10085 - layout: Rewrite the block formatting context/float inline-size speculation code (from pcwalton:floats-inout-revamp); r=mbrubeck
The old code tried to do the speculation as a single bottom-up pass
after intrinsic inline-size calculation, which was unable to handle
cases like this:

    <div>
        <div style="float: left">Foo</div>
    </div>
    <div>
        <div style="overflow: hidden">Bar</div>
    </div>

No single bottom-up pass could possibly handle this case, because the
inline-size of the float flowing out of the "Foo" block could never make
it down to the "Bar" block, where it is needed for speculation.

On the pages I tried, this regresses layout performance by 1%-2%.

I first noticed this breaking some pages, like the Google SERPs, several
months ago.

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: 1554331f06900e69f246ed9986a08aae91a0a71e
2016-03-26 06:39:41 +05:01
Ms2ger 1ab0b58897 servo: Merge #10075 - Deny unsafe code in more crates (from Ms2ger:deny-unsafe); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 8c92e3f32b9aa6a75dc8980da49359ea63f9d67a
2016-03-20 07:31:53 +05:01
Patrick Walton 10e665f8d9 servo: Merge #10064 - layout: Move overflow calculation to be a separate, sequential, bottom-up pass (from pcwalton:overflow-bottom-up); r=mbrubeck
Right now, the only reason that overflow calculation works is that we
rely on script inducing extra reflows that are sent for display. This
was preventing #10021 from landing.

This change regresses layout performance by about 1% in my tests.

Fixes #7797 properly.

r? @mbrubeck
cc @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: 8120fb5c2d170d5d9838696a7a5b871a43f57bb2
2016-03-20 00:24:27 +05:01
Anthony Ramine ace9b5c608 servo: Merge #10055 - Bump serde to 0.7 (from servo:serde); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 7a9dc577617b442ff0fe07eaa683207234c519ee
2016-03-17 17:58:36 +05:01
Connor Imes db206ff49a servo: Merge #9926 - Update heartbeats and energymon profiler dependencies (from connorimes:update-em-interface-hbs-crates); r=asajeffrey
Heartbeats now on crates.io.
Updates to energymon interface for energy profiling.
Profiling script for Android.

Source-Repo: https://github.com/servo/servo
Source-Revision: 396812b6d9c43a886d32d6d0910c1c685f333baf
2016-03-10 22:40:23 +05:01
Corey Farwell ccfd41c9c3 servo: Merge #9857 - Indicate components should not be published to crates.io (from servo:publish-false); r=ecoal95
http://doc.crates.io/manifest.html#the-publish--field-optional

Source-Repo: https://github.com/servo/servo
Source-Revision: 633f0414aaa177e439528f0fa848a41bc0fc094a
2016-03-04 01:08:14 +05:01
Martin Robinson 36406cdba8 servo: Merge #9756 - Flatten display list structure (from mrobinson:flat-display-lists-webrender); r=pcwalton
Instead of producing a tree of stacking contexts, display list
generation now produces a flat list of display items and a tree of
stacking contexts. This will eventually allow display list construction
to produce and modify WebRender vertex buffers directly, removing the
overhead of display list conversion.  This change also moves
layerization of the display list to the paint thread, since it isn't
currently useful for WebRender.

To accomplish this, display list generation now takes three passes of
the flow tree:

        1. Calculation of absolute positions.
        2. Collection of a tree of stacking contexts.
        3. Creation of a list of display items.

After collection of display items, they are sorted based upon the index
of their parent stacking contexts and their position in CSS 2.1
Appendeix E stacking order.

This is a big change, but it actually simplifies display list generation.

Source-Repo: https://github.com/servo/servo
Source-Revision: 62814f7cb486bc267a796b7ce58c51d59240fad0
2016-03-02 05:52:08 +05:01
Keith Yeung ff3628a45f servo: Merge #8952 - Implement planned navigation (from KiChjang:planned-navigation); r=Manishearth
Fixes #3648.

Note that I have only implemented "mutate action URL" and "get action URL". The remaining ones can have E-less easy issues created for them.

Source-Repo: https://github.com/servo/servo
Source-Revision: fe70efe07f6d72665f10c752884e5705d5bdc600
2016-02-18 21:57:19 +05:01
rohan.prinja d440ee6a41 servo: Merge #9201 - task -> thread (from ajnirp:8512-task-thread); r=jdm
for #8512

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

--HG--
rename : servo/components/canvas/canvas_paint_task.rs => servo/components/canvas/canvas_paint_thread.rs
rename : servo/components/canvas/webgl_paint_task.rs => servo/components/canvas/webgl_paint_thread.rs
rename : servo/components/compositing/compositor_task.rs => servo/components/compositing/compositor_thread.rs
rename : servo/components/gfx/font_cache_task.rs => servo/components/gfx/font_cache_thread.rs
rename : servo/components/gfx/paint_task.rs => servo/components/gfx/paint_thread.rs
rename : servo/components/layout/layout_task.rs => servo/components/layout/layout_thread.rs
rename : servo/components/net/image_cache_task.rs => servo/components/net/image_cache_thread.rs
rename : servo/components/net/resource_task.rs => servo/components/net/resource_thread.rs
rename : servo/components/net/storage_task.rs => servo/components/net/storage_thread.rs
rename : servo/components/net_traits/image_cache_task.rs => servo/components/net_traits/image_cache_thread.rs
rename : servo/components/net_traits/storage_task.rs => servo/components/net_traits/storage_thread.rs
rename : servo/components/script/script_task.rs => servo/components/script/script_thread.rs
rename : servo/components/util/task.rs => servo/components/util/thread.rs
rename : servo/tests/unit/gfx/font_cache_task.rs => servo/tests/unit/gfx/font_cache_thread.rs
rename : servo/tests/unit/net/resource_task.rs => servo/tests/unit/net/resource_thread.rs
rename : servo/tests/unit/util/task.rs => servo/tests/unit/util/thread.rs
2016-01-10 15:20:04 +05:01
Patrick Walton 9964a8693a servo: Merge #8995 - gfx: Measure text shaping time in the time profiler (from pcwalton:measure-text-shaping); r=mbrubeck
r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: 338f66003e78250ce141584e87190661249c5589
2015-12-17 10:28:29 +05:01
Ms2ger 1f2bab975b servo: Merge #8962 - Remove the pinned revision from profile_traits/Cargo.toml (from Ms2ger:energymon); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: e4f86829d7dafc1e694b143c25699a937a3fd676
2015-12-14 05:52:24 +05:01
Guillaume Gomez 732bf0a03c servo: Merge #8692 - Ensure crate are alphabetically sorted (from GuillaumeGomez:patch-1); r=Wafflespeanut
cc @nox

Source-Repo: https://github.com/servo/servo
Source-Revision: dbff1ab33636bc7d60a4c97b63f39b59985726ce
2015-11-28 19:05:11 +05:01