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

560 Коммитов

Автор SHA1 Сообщение Дата
Ms2ger a6823b3d6b servo: Merge #13891 - Move WindowSizeType to script_traits (from servo:msg-min); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 6be969a4594da0971e04d20ed085735024428b7a
2016-10-22 07:17:13 -05:00
Ms2ger 9e7e1a1f02 servo: Merge #13880 - Move Image and PixelFormat to net_traits (from servo:msg-min); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 6d29bf3f800e45e2907dea6cefa05e90d3a37285
2016-10-21 10:46:39 -05:00
Ms2ger 42fe729822 servo: Merge #13878 - Move LoadData to script_traits (from servo:msg-min); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: e3ebbd0fcdc78901c214d00cd11743a8fcf2d320
2016-10-21 05:50:24 -05:00
Martin Robinson bc43e4931e servo: Merge #13848 - Remove concept of Layers from Servo (from mrobinson:remove-layers); r=glennw
<!-- 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
- [x] These changes do not require tests because this PR should not change behavior.

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

Layers were a feature of the legacy drawing path. If we re-add them at
some point, it probably makes more sense to make them a product of
display list inspection.

This change also remove a bunch of dead painting code.

Source-Repo: https://github.com/servo/servo
Source-Revision: bb271ef4afea02b6b1b5d207e773d1fedccd2906
2016-10-21 01:43:25 -05:00
Imanol Fernandez ff7bafc3a9 servo: Merge #13840 - WebGL support on Windows (from MortimerGoro:webrender_dispatcher); r=emilio
<!-- Please describe your changes on the following line: -->
This is the final step to provide WebGL support on Windows ;)

Some Related PRs already merged in webrender and offscreen-gl-context:

https://github.com/emilio/rust-offscreen-rendering-context/pull/64
https://github.com/servo/webrender/pull/432

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

- [X] There are tests for these changes OR
- [ ] These changes do not require tests because _____

Source-Repo: https://github.com/servo/servo
Source-Revision: 4216224f9cc7f3430db2b59f4d77061824ba7a1e
2016-10-20 20:19:53 -05:00
Josh Matthews 991f90e5ae servo: Merge #13827 - Support taking screenshots when a webdriver server is active (from jdm:screenshot); r=Ms2ger
Improve the experience of using webdriver to take screenshots of Servo. When a screenshot can't be obtained immediately, increase the delay before trying again from 2ms to 1s.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #13826
- [X] These changes do not require tests because we can't test webdriver yet.

Source-Repo: https://github.com/servo/servo
Source-Revision: 350c60b62d077cb19c4bd2cb7433c18ca08791bd
2016-10-19 12:08:00 -05:00
Glenn Watson 5d056c5039 servo: Merge #13711 - Remove old rendering backend (from glennw:remove-old-renderer); r=larsbergstrom
This removes paint threads, rust-layers dependency, and changes
optional webrender types to be required.

The use_webrender option has been removed, however I've left
the "-w" command line option in place for now so that wpt
runner can continue to pass that. Once it's removed from there
we can also remove the -w option.

Once this stage is complete, it should be fine to change the
display list building code to generate webrender display
lists directly and avoid the conversion step.

Source-Repo: https://github.com/servo/servo
Source-Revision: f96718d03da969510dc992699cb6f25c2e21ae1e
2016-10-17 19:22:20 -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
Glenn Watson a2735cc232 servo: Merge #13633 - Send touch events to root pipeline, and allow forwarding to iframes (from glennw:forward-touch-events); r=mbrubeck
Instead of letting the compositor try to find the correct scroll
layer for a touch event, switch touch events to work the same way
that mouse events do.

Touch events are now dispatched to the root pipeline, and then
forwarded to child iframes as required.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9d3fc76463cb226ffeb9a6aca7239bbe36543802
2016-10-07 19:07:24 -05:00
Glenn Watson 22b5fa9b1b servo: Merge #13610 - Allow simulate_mouse_click to work with webrender (from glennw:sim-mouse-wr); r=mbrubeck
Instead of dispatching to a specific layer, call the dispatch
functions for mouse (move) events that handle whether webrender
is enabled or not.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1161d17f674e44d39bdbd948fe6e814954890672
2016-10-06 14:21:15 -05:00
Shubheksha Jalan 722903e324 servo: Merge #13585 - Removed duplicate #![feature(plugin)] (from shubheksha:fix/13581); r=jdm
<!-- Please describe your changes on the following line: -->
Removed duplicate ` #![feature(plugin)]` from two files.

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because it's removing a few lines.

<!-- 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: 30cf58eae8ff9a20fef630998311be3e49a479c7
2016-10-05 02:47:30 -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
Anthony Ramine 5177259222 servo: Merge #12941 - Update euclid to 0.10.1 (from nox:euclid); r=metajack,emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: bb0ba644a8a028d6de8b5daf1b578a82ab23d49e
2016-08-20 20:04:17 -05:00
Anthony Ramine df3073f7dd servo: Merge #12925 - Update to webrender 0.4.0 (from nox:wr-merge); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: c769db69108c6dc50492abeaf1cd4de1653a04c9
2016-08-18 13:30:12 -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
Martin Robinson c116a510e2 servo: Merge #12817 - Update to euclid 0.8 (from servo:euclid); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 5b915c403d2e96bd2917e7df4f2a58a6668a0c0e
2016-08-11 20:12:29 -05:00
Emilio Cobos Álvarez d4ff6d4acf servo: Merge #12751 - compositor: Send animation ticks to layout even if there are script animation frames (from emilio:transitions-raf); r=pcwalton
<!-- 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 #12749 (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. -->

The script tick ends up only processing JS callbacks related to animation
frames, so CSS transitions/animations end up not working as expected.

This could have accidentally worked before #12563 because we over-restyled, but
now this is no longer the case.

Other possible way to do it is making a layout reflow with RAF handle CSS
animations/transitions too, but that may not work if the reflow ends up being
suppressed (that could very well be the case), and we'd need to handle a lot
more state in the document, so this solution (assuming it doesn't break try)
seems a bit less flacky.

Missing a test, will add one soon. Fixes #12749.

Source-Repo: https://github.com/servo/servo
Source-Revision: 0b9832119e9d42bc3ba4d8e4a4e573a03705de3e
2016-08-07 22:52:32 -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
Emilio Cobos Álvarez e6192bfc52 servo: Merge #12563 - stylo: Improve restyling performance (from emilio:stylo); r=bholley,jdm,pcwalton
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. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 944d371b8f0e72f6aa5465be38c0c8daeab66127
2016-07-27 17:56:26 -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
Connor Brewster d057137b75 servo: Merge #11866 - Implement joint session history (from cbrewster:joint_session_history); r=asajeffrey
<!-- Please describe your changes on the following line: -->
This is cleaned up and should align with the patches on https://github.com/ConnorGBrewster/ServoNavigation/blob/master/notes/notes.pdf
r? @asajeffrey

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because this is not testable until the History API is added.

<!-- 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: 05cc76370f4f8dd5c715e42549a2027dc4c8ca71
2016-07-21 22:40:56 -05:00
Alan Jeffrey 096b60bd59 servo: Merge #12463 - Replace any errors caused by content-provided URLs by warnings (from asajeffrey:url-errors-should-be-warnings); 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 do not require tests because we don't test error generation

<!-- 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: 6f3967b00490c750853ab3b56c54418b321d11a3
2016-07-15 08:36:47 -07: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
Ms2ger 346257437f servo: Merge #12381 - Move some unit type definitions to style_traits (from Ms2ger:units); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 1c7bec4b493174742c579b67ddb6f5411892d3d2
2016-07-11 03:17:55 -07:00
Josh Matthews 57518b13d8 servo: Merge #11950 - Support non-QWERTY keyboards (from jdm:keylayout2); r=emilio
Using the ReceivedCharacter event from glutin, we can obtain the actual key characters that the user is pressing and releasing. This gets passed to the script thread along with the physical key data, since KeyboardEvent needs both pieces of information, where they get merged into a single logical key that gets processed by clients like TextInput without any special changes.

Tested by switching my macbook keyboard to dvorak and looking at the output of keypress/keyup/keydown event listeners, as well as playing with tests/html/textarea.html. Non-content keybindings like reload work as expected, too - the remapped keybinding triggers the reload action.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #4144
- [X] These changes do not require tests because I can't think of a way to test remapped keyboard input

Fixes  #11991.

Source-Repo: https://github.com/servo/servo
Source-Revision: 68fb9ebc413f9cfc1ad4ca578d904c164836db74
2016-07-06 02:51:50 -07:00
Ms2ger 8cd2913d9b servo: Merge #12216 - Move some types from msg to script_traits (from servo:msg); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 181261004d3b217605cb2d8fbdc00ad0785532ba

--HG--
rename : servo/components/msg/webdriver_msg.rs => servo/components/script_traits/webdriver_msg.rs
2016-07-05 00:58:51 -07:00
Travis Dean 60ed5d9499 servo: Merge #12243 - Add style check and test for else braces (from TravisDean:else-brace-check); r=ConnorGBrewster
<!-- Please describe your changes on the following line: -->
Added a regex check to enforce project style guidelines. Added unit check. Catches:
```
}
else {
```
when it should be
`} else {`

---
<!-- 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 (no core files changed)
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #12234 (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: e21b47c2cc14897380a8c4ef2dfa650b1dd48ab5
2016-07-04 16:52:19 -07:00
Anthony Ramine cc183b15a7 servo: Merge #12224 - Remove some stuff from util (from nox:die-util-die); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 3b0dadda529a5ba45a8a0dc394187f43a66e7c1f

--HG--
rename : servo/components/util/print_tree.rs => servo/components/gfx_traits/print_tree.rs
rename : servo/components/util/workqueue.rs => servo/components/style/workqueue.rs
2016-07-04 12:57:00 -07:00
Corey Farwell df29454b47 servo: Merge #12178 - Refactor `util::prefs` operations to be methods on static struct (from frewsxcv:prefs); r=emilio
<!-- 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
- [X] 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: b0a8ce5341f5148e36523fee0b0fcbc2684c0a68
2016-07-03 08:19:04 -07:00
Patrick Walton 81b140e5d1 servo: Merge #11949 - compositing: Only recomposite after a scroll if layers actually moved, and fix the jerky scrolling "pops" during flings on Mac (from servo:wr); r=glennw
See the comments in compositor.rs for more details.

Fixes #11658.

Source-Repo: https://github.com/servo/servo
Source-Revision: 26d2ee635589776a08e5671b6b6d673d165a5dc6
2016-06-30 04:03:43 -05:00
Anthony Ramine 1e92070ea4 servo: Merge #11930 - Remove some util stuff (from nox:die-util-die); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: dcc4697dde3ba8af32e233b302a16bea76af378a

--HG--
rename : servo/components/util/linked_list.rs => servo/components/layout/linked_list.rs
2016-06-29 15:37:42 -05: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
Ms2ger 304be268ab servo: Merge #11852 - Move ChromeToPaintMsg to gfx_traits (from Ms2ger:ChromeToPaintMsg); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 9ee0a01f66b4b6fcbfd86e0316d6aed35ef99ebf
2016-06-25 00:26:37 -05:00
mrmiywj f80f6f7953 servo: Merge #11735 - add reload keyboard shortcut (from mrmiywj:reload-page-shortcut); 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
- [X] These changes fix #11686  (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because this cannot be automated tested.

<!-- 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: eeed5b6ec26f7d78a938abb2d4b6a1cce8bf2472
2016-06-23 10:58:54 -05:00
jmr0 013a974d69 servo: Merge #10225 - Implement non-visible pipeline and iframe visibility methods (from jmr0:visibility_api); r=jdm
This addresses #9566 and a good part of #9751, specifically:

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

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

cc @paulrouget @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: d620ab71c41431c3fb040162f554faefb9abfbd7
2016-06-16 08:53:56 -05:00
Patrick Walton 8a6bb3f4ed servo: Merge #11715 - compositor: Rerequest scroll positions from WebRender while overscrolled layers are bouncing back (from pcwalton:wr-overscroll-event-targeting-fix); r=glennw
This fixes a very annoying issue whereby overscrolling would cause mouse
events to go to the wrong place until the layer was scrolled again.

r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: 4f1837e9abd441849f8841a4fab6cb2630e46e2f
2016-06-13 01:03:48 -05:00
Ms2ger 8e5b429c6c servo: Merge #11675 - Remove a spurious field from the SetFrameTree message (from Ms2ger:SetFrameTree-field); r=metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: 0e776ffcf77f456d20a63cd170fb5b2821704431
2016-06-08 09:40:11 -05:00
Connor Brewster de1e3836af servo: Merge #11616 - Add support for navigating by a delta (from cbrewster:navigation_delta); r=asajeffrey
<!-- Please describe your changes on the following line: -->
This adds support for passing a delta with `NavigationDirection`. This will be used with `history.go`

r? @asajeffrey

---
<!-- 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 I am unsure how to write a test for this

<!-- 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: a80767993b6b2b885dfac9666f16fb1e1649ac99
2016-06-07 14:16:13 -05:00
Andrew Shu aa36ab642e servo: Merge #11569 - compositing: Remove CompositorThread struct (from talklittle:remove_struct_10261); r=metajack
<!-- Please describe your changes on the following line: -->
Remove `CompositorThread` struct, since it wraps only `IOCompositor`. Use `IOCompositor` directly.

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

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

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 6c5f5d35f56f75e5a235836c042a55b67da553d6
2016-06-03 02:44:07 -05:00
Patrick Walton c28d616253 servo: Merge #11537 - compositing: Don't translate points to layer space when using WebRender (from pcwalton:webrender-remove-layer-space-translation); r=glennw
This makes mouse events take the same code path, regardless of whether
WebRender is in use or not. This approach enables accurate
display-list-based hit testing when WebRender is in use.

Closes #11108.

r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: 77e6ea95873c1fc06ea6e19fa20c727b9ca808a9
2016-06-02 20:50:55 -05:00
Ms2ger 0c88670d97 servo: Merge #11538 - Fix some build warnings (from Ms2ger:warnings); r=emilio
- [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 refactoring

Source-Repo: https://github.com/servo/servo
Source-Revision: 0594d58bc8e074facacb26b6d8d3fab2083771d0
2016-06-01 15:43:58 -05:00
Kyle Headley 6e755e6821 servo: Merge #11443 - Remove CompositorEventListener trait (from kyleheadley:remove_trait_11339); r=asajeffrey
<!-- 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 #11339 (github issue number if applicable).

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

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

Source-Repo: https://github.com/servo/servo
Source-Revision: c641ec97f02bf03a97f3562b9d138b14ebe1406c
2016-06-01 14:06:41 -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
Ms2ger 55c201f15b servo: Merge #11488 - Remove the ConvertPipelineIdToWebRender trait (from Ms2ger:ConvertPipelineIdToWebRender); r=metajack
- [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 refactoring

Source-Repo: https://github.com/servo/servo
Source-Revision: 0173cabbb6aedd5695e4035437b233927d4f27d0
2016-05-28 09:49:44 -05:00
Ms2ger 119b24766c servo: Merge #11484 - Remove LayoutControlChan (from Ms2ger:LayoutControlChan); r=nox
- [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 refactoring

Source-Repo: https://github.com/servo/servo
Source-Revision: 2b58586299b1017838ccc622d1ba12183fb7eb38
2016-05-28 05:02:26 -05:00
Cullen Rhodes 2bd22f97ce servo: Merge #11329 - Report use statements that use {} with only one entry (from c-rhodes:11320); r=jdm
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 --faster` does not report any errors
- [X ] These changes fix #11320  (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: 2f9796fa696e9514280777398467696dd4f004b3
2016-05-27 07:11:17 -05:00
Ms2ger efab52e555 servo: Merge #11410 - Remove the script listener thread (from Ms2ger:script-listener-thread); r=nox
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 --faster` 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 refactoring

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: 1640ade0b3f703b54c2c2285271d44a037f7eabc
2016-05-25 06:10:17 -05:00
Ms2ger 7a59624889 servo: Merge #11337 - Don't block the script listener thread on window.close() (from Ms2ger:compositor-exit-wait); r=pcwalton
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 --faster` 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 no tangible effect

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

This does not appear to have any effect. I believe this has been the case
since e84106535175211526729e532058a7514a0de372, when the helper thread was
introduced.

It was added in a7ef1cd35e9347a285f245041db4eb94047f4ab0, where it blocked the
script thread rather than this helper thread.

Source-Repo: https://github.com/servo/servo
Source-Revision: 220bdfec2e869035127e872e12d303aefb545579
2016-05-25 01:03:38 -05:00
Ms2ger ed8cbfa002 servo: Merge #11364 - Move CompositorMsg to script_traits (from Ms2ger:CompositorMsg); r=nox
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 --faster` 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 refactoring

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: cd1396fa9ae72bebf13115ed0d752fb21ce0df19
2016-05-24 06:48:46 -07:00
Ms2ger b4634e3621 servo: Merge #11343 - Privatize some things in compositing (from servo:privatize-compositing); r=nox
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 --faster` 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 refactoring

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: a636b7127ebb40d1e22347bb253cd767cf9c522d
2016-05-23 15:36:43 -07:00
Ms2ger 25d3525831 servo: Merge #11334 - Remove pub uses from compositor_thread.rs (from Ms2ger:pub-use-compositor_thread); 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 --faster` 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 refactoring

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: 208337976d0b913e00fe9c090c6868027092a0a1
2016-05-23 08:17:38 -07:00
Ms2ger fbc80014ac servo: Merge #11325 - Move sandboxing into the constellation crate (from servo:sandboxing); r=nox
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 --faster` 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 refactoring

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: 6b039612bac3159a51d09e341c18f9a6ccc948b1

--HG--
rename : servo/components/compositing/sandboxing.rs => servo/components/constellation/sandboxing.rs
2016-05-22 06:43:56 -07:00
Ms2ger 2678783a29 servo: Merge #11301 - Move pipeline into the constellation crate (from servo:pipeline); r=nox
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 --faster` 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 _____

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: 27c457d7c5facfc60d8dc098c986733cc7dcb324

--HG--
rename : servo/components/compositing/pipeline.rs => servo/components/constellation/pipeline.rs
2016-05-21 07:34:22 -07:00
Jack Moffitt 7477ed85bc servo: Merge #11314 - Make Servo DPI aware on Windows (from metajack:window-hi-dpi); r=mbrubeck
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 --faster` 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 testing would be overly difficult

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

This implements system level DPI awareness for Windows. It has three
parts:

1. Add a application manifest which is copied alongside servo.exe during
build that declares our DPI awareness level. This is needed otherwise
DPI queries will return 96dpi and our application will be upscaled on
high DPI displays.

2. Rename hidpi_factor to avoid confusion with Glutin's hidpi_factor
which does something else.

3. Correctly convert windows sizes on window creation for
Windows. Unlike OS X, Windows uses device pixels for window creation.

Source-Repo: https://github.com/servo/servo
Source-Revision: 63bbc13fffeaa14f15ff9270f7d6355fab4d3d56
2016-05-20 22:41:07 -07:00
Ms2ger 653c19e2b3 servo: Merge #11288 - Remove pointless phantom arguments to ScriptThreadFactory and LayoutThreadFactory (from Ms2ger:threadfactory); r=nox
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 --faster` 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 _____

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: 8caaf196e1fe57b27041b74512ca4f58bc62f45b
2016-05-20 03:03:54 -07:00
Zhen Zhang 036cdcf2ea servo: Merge #11189 - Refactor resource thread code (from izgzhen:refactor-resource-thread); r=nox
- [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 refactoring

Source-Repo: https://github.com/servo/servo
Source-Revision: bcea0ada27de694cd0c465d04fd35eba70503d62
2016-05-19 19:15:08 -07:00
Ms2ger c69abc638b servo: Merge #11270 - Remove ConstellationChan (from servo:ConstellationChan); r=asajeffrey
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 --faster` 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 _____

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

It's a pointless abstraction that propagates the obsolete chan terminology,
swaps the order in which the sender and receiver are returned, and hides a
source of panics.

Source-Repo: https://github.com/servo/servo
Source-Revision: 27c25e859a45c3d79c85e96b85ec5226a3231e10
2016-05-19 12:38:26 -07:00
Ms2ger ec0e4ebb3f servo: Merge #11243 - Move constellation into its own crate (from Ms2ger:constellation); r=nox
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 --faster` 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 refactoring

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: 872565bb4bd2883c6fe926da74e3b3e2b74e6d34

--HG--
rename : servo/components/compositing/constellation.rs => servo/components/constellation/constellation.rs
rename : servo/components/compositing/timer_scheduler.rs => servo/components/constellation/timer_scheduler.rs
2016-05-18 02:11:46 -07:00
Nazım Can Altınova 5b0fc2ad26 servo: Merge #11213 - Remove num-traits from compositing (from canaltinova:compositing); r=mbrubeck
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 --faster` does not report any errors
- [X] These changes fix #11198 (github issue number if applicable).

Either:
- [ ] There are tests for these changes OR
- [X] These changes do not require tests

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: fe4061e0ecb16eb1750e28052e47d91a5356e78e
2016-05-16 18:16:22 -07:00
Anthony Ramine 1d29d91d8f servo: Merge #11208 - Fix all Windows warnings (from nox:greener-than-hulk); r=mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: 043b375ce31e7e37c3409f17cdd73c5ed9c0d797
2016-05-16 14:38:26 -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
Matt Brubeck 806f7d1413 servo: Merge #11148 - Fix some warnings (from mbrubeck:warnings); r=metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: d55884d73e57a924a586c26a03bc691ab5c62c39
2016-05-12 06:19:10 -07:00
Matt Brubeck 50f006bc37 servo: Merge #11146 - Update image, hyper, gleam, flate2, threadpool, string_cache, num_cpus (from mbrubeck:always-be-updating); r=metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: 9eb7162b8a24662e895a8b04275f0c46e1805f4b
2016-05-12 05:28:12 -07:00
Alan Jeffrey 74d0803dd4 servo: Merge #11140 - When webdriver is getting a pipeline id, it should wait for the pipeline document to be ready (from asajeffrey:webdriver-pipeline-wait-for-document-ready); r=jgraham
Thank you for contributing to Servo! Please add an `X` inside each `[ ]` when the step is complete, and replace `__` with appropriate data:
- [X] `./mach build` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #11117 (github issue number if applicable).

Either:
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because they only impact webdriver

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: 1a834b5b83fba29a4e2f89161ae9734f5f60aff3
2016-05-12 03:46:59 -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
Tetsuharu OHZEKI 3867862e33 servo: Merge #11090 - Move ConvertPipelineIdFromWebRender to compositing (from saneyuki:fix11082); r=jdm
Fix #11082

Source-Repo: https://github.com/servo/servo
Source-Revision: 500b0a6d36f5f7524ed817b0b49ad57181c1576b
2016-05-09 13:50:05 -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
Kosov Eugene 531ca297be servo: Merge #11084 - move trait ConvertPipelineIdToWebRender to a better place (from kevgs:layout_traits); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 9a8c81773a7dc51301e52ce3f02f8ea55984365a
2016-05-09 03:14:03 -07:00
Fabrice Desré cfb82bae7b servo: Merge #11042 - Fix a build warning in compositor.rs (from fabricedesre:compositing-warning); r=metajack
Stops the compiler complaining about `root_pipeline` being an unused variable.

Source-Repo: https://github.com/servo/servo
Source-Revision: 29ed65016047ee10dabf18894ba00ece6227e865
2016-05-06 08:10:23 -07:00
Patrick Walton efe4d50e93 servo: Merge #10993 - compositing: Perform animation-related compositing operations in WebRender (from pcwalton:fix-animations); r=glennw
I accidentally removed this code in #10936.

Fixes transitions.

r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: c1252a40d9925aea69346b1b2e35151f7fa397a4
2016-05-04 16:26:08 -07:00
Patrick Walton 25cd84fdc2 servo: Merge #11000 - compositing: Send mouse events to the right pipeline when using WebRender (from pcwalton:wr-pipeline-relative-events); r=glennw
Fixes mouse events in browser.html.

Requires servo/webrender_traits#47 and servo/webrender#272.

r? @glennw
cc @paulrouget

Source-Repo: https://github.com/servo/servo
Source-Revision: 97dfcedbcfe781dc07661e4cfe886cc8edff7785
2016-05-04 14:55:09 -07:00
Connor Brewster 45d5d547d3 servo: Merge #10840 - Implement alert dialogs (from cbrewster:window_alert); r=jdm
fix #10812

Implements alert dialogs using tinyfiledialogs

r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: b4f573db1a4a054f7f991ac19c299a5a10aabad8
2016-05-04 09:10:40 -07:00
Attila Dusnoki 4b585c7691 servo: Merge #10632 - WebBluetooth impementation (from szeged:bluetooth-ipc); r=jdm
Update the current WebBluetooth implementation.

Source-Repo: https://github.com/servo/servo
Source-Revision: 944a8dc25a590e9722753abc968cb8cb21745997
2016-05-04 08:06:06 -07:00
Keith Yeung 1af4be8847 servo: Merge #10980 - Re-add TODO comment for adding referer info to LoadData (from KiChjang:referer-policy-comment); r=jdm
Fixes the accidental removal in #10970.

Source-Repo: https://github.com/servo/servo
Source-Revision: ff687c5b016628b7098d6d2e1dea90d852a4dbf6
2016-05-03 02:26:05 -07:00
Ms2ger cacd90f8b9 servo: Merge #10970 - Simplify load_data handling in handle_script_loaded_url_in_iframe_msg (from servo:loaddata); r=KiChjang
Source-Repo: https://github.com/servo/servo
Source-Revision: e7caaa77b4a6c7a155e01d67bdeb3db3758b558f
2016-05-02 07:38:15 -07:00
Ms2ger 94bd77cbe9 servo: Merge #10969 - Iframe improvements (from servo:iframe); r=KiChjang
Source-Repo: https://github.com/servo/servo
Source-Revision: d32648172c711b5d95819c58bcedcee5f50f3018
2016-05-02 05:32:25 -07:00
Keith Yeung 570d798ed2 servo: Merge #10712 - Support form submission of multipart/form-data (from KiChjang:multipart-form-data); r=jdm
Fixes #7553.

Source-Repo: https://github.com/servo/servo
Source-Revision: 77cb2ca89a87829e7e95fad17ae698c4ae097455
2016-04-30 18:43:30 -07:00
Patrick Walton 09ab0c63c7 servo: Merge #10936 - compositor: When WebRender is in use, only composite on new WebRender frames (from pcwalton:wr-scroll-event-handling); r=glennw
Scheduling composition on scroll and so forth is unnecessary and can
cause us to miss frames if the code happens to start the composition
while the WebRender backend is still in the process of preparing the
frame. This is most easily seen when scrolling in full-screen mode in
release builds on Mac.

Closes #9879.

r? @glennw
cc @paulrouget
cc @tschneidereit

Source-Repo: https://github.com/servo/servo
Source-Revision: a868bb2a90a5fabf0af8125bae14120e3439d1ed
2016-04-30 17:14:05 -07:00
Alan Jeffrey 2b41704e53 servo: Merge #10931 - Send the panic reason and backtrace in mozbrowsererror (from asajeffrey:send-panic-backtrace-to-mozbrowser); r=jdm
Closes #10334.  Glues together PRs #10837 and #10824.

Source-Repo: https://github.com/servo/servo
Source-Revision: d9dc6dd03cf9b8b0982b54d83dd0cdded059c3b6
2016-04-30 07:30:38 -07:00
Alan Jeffrey 7e1062d6b5 servo: Merge #10902 - Remove panic! from the compositor (from asajeffrey:remove-explicit-panic-from-compositor); r=aneeshusa
Fixes #10864, and adds a check to `/etc/ci/check_no_unwrap.sh`.

r? @aneeshusa

Source-Repo: https://github.com/servo/servo
Source-Revision: f75fa5283e54aeca291fe865cd589e37b86cd8fe
2016-04-29 17:25:17 -07:00
Alan Jeffrey 9954aa2db9 servo: Merge #10837 - Add detail to mozbrowsererror events (from asajeffrey:add-mozbrowsererror-details); r=Manishearth
Part of #10334. Once #10824 lands, we can include the panic reason and backtrace in the error report.

Source-Repo: https://github.com/servo/servo
Source-Revision: 990dd72da7d69ffa98a5d1b266f48d14d24852aa
2016-04-29 09:18:39 -07:00
Patrick Walton bc4a42f15e servo: Merge #10159 - script: Make iframes know their pipeline IDs at all times, even after navigation (from pcwalton:iframes-know-their-pipelines); r=jdm
Since WebRender uses the pipeline ID stored in the iframe element to
determine which pipeline to display, it had better be kept up to date!

Closes #9919.

r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: 3836c2c4cba1f49ea5ce3ce802b0bd604213c2a2
2016-04-28 12:44:39 -07:00
Alan Jeffrey 981e5bc87b servo: Merge #10862 - Don't kill the root pipeline when randomly killing pipelines (from asajeffrey:only-the-chrome-survives); r=SimonSapin
Useful for stress-testing the browser chrome, e.g. testing #10334.

Source-Repo: https://github.com/servo/servo
Source-Revision: 959dbac0e7ca457d3979ff122ed4686eee209e91
2016-04-26 18:40:21 -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
Alan Jeffrey edc1efc288 servo: Merge #10824 - Communicate a backtrace to the constellation when panicking (from asajeffrey:communicate-backtrace-on-panic); r=Manishearth
Send a representation of the backtrace from a pipeline thread to the constellation in the case of panic. This is the next step in communicating the backtrace to the browser chrome (#10334).

Source-Repo: https://github.com/servo/servo
Source-Revision: f773dc182badef4a4afac240d0d6fcbf57b76452
2016-04-26 13:17:33 -07:00
Fabrice Desré 4bc5c7a97b servo: Merge #10842 - Webrender no nativewindow (from fabricedesre:webrender-no-nativewindow); r=Manishearth
@glennw this fixed the panic when using webrender and no native display is available.

Source-Repo: https://github.com/servo/servo
Source-Revision: 5ef355cf439f410f249f0565623eb439afd59456
2016-04-25 19:11:15 -07:00
Rebecca c6a0cc3d7f servo: Merge #10696 - Referer header (from rebstar6:referrerPolicy); r=jdm
PR1 for https://github.com/servo/servo/issues/10311

This puts the code and data structures in place to set the Referer header based on the Referrer Policy for a given document. Note that document:: get_referrer_policy() always returns the 'No Referrer' option, so for now, this should have no impact on production code, and that policy requires that the Referer header is not added.

Later PRs will determine the policy and edit that get_referrer_policy() accordingly.

Source-Repo: https://github.com/servo/servo
Source-Revision: 34900814fca3b21fbb27bed58d4f4af8a8e307e9
2016-04-25 13:52:01 -07:00
Simon Sapin 15f5299fe5 servo: Merge #9840 - Update to rust-url 1.0 (from servo:url-1.0); r=asajeffrey
**Do not merge yet:** rust-url 1.0 is not published yet and may still get breaking changes. The goal of this PR for now is to demonstrate API usage.

Depends on:

* <s>https://github.com/servo/rust-url/pull/176</s>
* <s>https://github.com/alexcrichton/cookie-rs/pull/42</s>
* <s>https://github.com/hyperium/hyper/pull/740</s>
* https://github.com/cyderize/rust-websocket/pull/70
* https://github.com/jgraham/webdriver-rust/pull/28

Source-Repo: https://github.com/servo/servo
Source-Revision: 84ab7e9fe8f4a6528995eff3eb6e814cb724c364
2016-04-23 11:28:31 -07:00
Josh Matthews f273a82175 servo: Merge #10823 - Squash unused import and unused crate warnings (from jdm:import); r=frewsxcv
Source-Repo: https://github.com/servo/servo
Source-Revision: 305c283602882850be9d39c43b980d0fc0f93a3c
2016-04-23 07:51:44 -07:00
Michael Howell 289c44fa79 servo: Merge #10654 - compositing/script: Do not dispatch the resize event when initially l… (from notriddle:no_resize_on_initial_load); r=asajeffrey
…oading.

No bug report corresponds to this, but I noticed it while trying to
reduce #10593

Source-Repo: https://github.com/servo/servo
Source-Revision: 47a0f58f98e1a6ddcf5db24347fc6bf890d4a7d6
2016-04-22 14:25:51 -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
Zhen Zhang f136b02391 servo: Merge #9968 - Implement scroll, scrollLeft, scrollTop and friends, addressing issue #9650 (from izgzhen:scroll); r=asajeffrey
This is a work in progress to solve https://github.com/servo/servo/issues/9650. Thanks a lot for helping the review.

- [x] scroll
- [x] scrollTo
- [x] scrollBy
- [x] scrollTop (setter and getter)
- [x] scrollLeft (setter and getter)

The setters will be implemented in another PR after this is merged.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8d988f20c12e0a5267e79650a90310951c66ca77
2016-04-20 18:11:26 +05:01
Alan Jeffrey 0dd4afb363 servo: Merge #10641 - Dedicated panic channel (from asajeffrey:dedicated-panic-channel); r=Manishearth
Added a dedicated panic channel, and removed the panic messages for the script and layout threads. This is needed so that other threads can report panics, which is part of #10334.

Note that this PR includes the commit from #10572, so should land after it lands.

r? @Manishearth

Source-Repo: https://github.com/servo/servo
Source-Revision: bd4b3a66a2aa57ab6fa881e3cc11091edc494a68
2016-04-19 21:29:07 +05:01
Alan Jeffrey dd30b59029 servo: Merge #10551 - Trigger mozbrowsererror event when a pipeline fails (from asajeffrey:trigger-mozbrowsererror-event); r=jdm
Addresses part of #10334 (it fires the event, but does not include a backtrace).

Source-Repo: https://github.com/servo/servo
Source-Revision: 4001a24c461f6826cb2d1b1ab270b23a95a3a6c9
2016-04-19 02:34:46 +05:01
Peter ee38b14a80 servo: Merge #10667 - Updated euclid to version 0.6.5 (from peterjoel:euclid_0.6.5); r=frewsxcv
And updated existing usages of Matrix4 to use Matrix4D<T>

This version is necessary to complete DOMMatrix implementation.

Source-Repo: https://github.com/servo/servo
Source-Revision: 6056ecd8519f574c2ea9037a919a63edba17d032
2016-04-18 22:48:14 +05:01
Alan Jeffrey 312201429e servo: Merge #10345 - Replace side-effecting unwrap_or_else by if let in constellation (from asajeffrey:make-nox-happy); r=nox
This addresses @nox's comments in #10295.

Source-Repo: https://github.com/servo/servo
Source-Revision: 6c5cfb738a050944e2f7494f19f9272523ca155b
2016-04-15 17:06:45 +05:01
Josh Matthews 463637be20 servo: Merge #10610 - Replace instances of infallible unwrap with expect (from jdm:unwrap); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 415fd93a502b47c03d2eb856cbd76a99e0bf0392
2016-04-14 20:33:22 +05:01
Alan Jeffrey d466d33083 servo: Merge #10587 - Added panic message to failures (from asajeffrey:add-failure-panic-message); r=Manishearth
Added the panic message to failures. This is a step towards #10334, since it gives us access to the panic error message when we fire a `mozbrowsererror` event. The remaining steps are also to record the backtrace, and to report the failure in the event.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2b910678db8b461dc50919832044bd95cdecb53e
2016-04-14 19:26:17 +05:01
Simon Sapin 031eaaddbf servo: Merge #10606 - Remove the url! plugin (from servo:remove-url-plugin); r=nox
In rust-url 1.0 the `Url` struct is going to have private fields, and there is no way to to create an aribitrary one without going through the parser.

The plugin never had a clear demonstrated performance benefit, it was made mostly because it was possible and relatively easy at the time.

This commit was originally part of #9840, but it’s taking a while to land and I keep removing new uses of `url!` when rebasing.

r? @nox

Source-Repo: https://github.com/servo/servo
Source-Revision: 3368565b3c6c76e5ce2d170d5c5cfb2f52a56956
2016-04-14 18:45:35 +05:01
Tim van der Meij 6538e3505c servo: Merge #10489 - Replace use of `debug!` by `warn!` in `constellation.rs` (from timvandermeij:constellation-debug-warn); r=jdm
Fixes #10483.

Source-Repo: https://github.com/servo/servo
Source-Revision: 628c54948a02b1c947e916fb87b98d00d1e2d537
2016-04-14 00:21:05 +05:01
Saurav Sachidanand 77c1ecb4a7 servo: Merge #10565 - Update to byteorder 0.5 (from saurvs:master); r=Ms2ger
Finishes https://github.com/servo/servo/issues/10437.

Source-Repo: https://github.com/servo/servo
Source-Revision: d566f1c143e051b3c3d4ff9e9d8087af8b45dbd6
2016-04-13 19:58:50 +05:01
Ms2ger e1979bace5 servo: Merge #10564 - Remove a pointless Url clone (from Ms2ger:url-clone); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 9954ee1334e6224409bf82db620d80721f56bb13
2016-04-13 17:42:11 +05:01
Alan Jeffrey 466c19a211 servo: Merge #10554 - Fast fail_handle_script_loaded_url_in_iframe_msg (from asajeffrey:fast-fail-handle-script-loaded-url-in-iframe); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: aec297565b582f38960902d5590f83f3f9949696
2016-04-13 14:54:51 +05:01
Ulf Nilsson 8ad2bada64 servo: Merge #10497 - Share prefs to content processes (from kaksmet:multiprocess-prefs); r=pcwalton
Without this `./mach run -b -- -M` would start fine but navigating to a site would fail with:

`thread 'ScriptThread PipelineId { namespace_id: PipelineNamespaceId(0), index: PipelineIndex(0) }' panicked at 'assertion failed: mozbrowser_enabled()', /Users/ulf/Documents/Code/servo/components/script/dom/htmliframeelement.rs:163`

Source-Repo: https://github.com/servo/servo
Source-Revision: e8e354d5d3e6757c16912e7f5e6234ec5eece493
2016-04-13 07:22:54 +05:01
Alan Jeffrey 55e6d494fd servo: Merge #10534 - Re-enabled etc/ci/check_no_unwrap (from asajeffrey:reenable-check-no-unwrap); r=Manishearth
Got `etc/ci/check_no_unwrap.sh` to pass, and re-enabled it.

Source-Repo: https://github.com/servo/servo
Source-Revision: a61fc5285fa00915d538a9672c04030804f7db2d
2016-04-12 09:28:34 +05:01
Emilio Cobos Álvarez 7f3c31c248 servo: Merge #10224 - webgl: Add attribute validations and other nits (from emilio:shader-type-validations); r=jdm
Fixes https://github.com/servo/servo/issues/9958

Depends on a bunch of prs, and needs a test.

r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: f0014bd9cd5ac5db3e5a2f9fa8eafeb992df309a
2016-04-12 04:49:49 +05:01
Ulf Nilsson c8f568c144 servo: Merge #10496 - Fix sandboxing on OS X (from kaksmet:fix-sandbox); r=pcwalton
The main issue was resources_dir_path. Every time it was called it would start from the executable's path and walk up the hierarchy to find a directory named "resources". The sandbox was granted permission to read from the found resources dir, but after the sandbox had been activated resources_dir_path would again start from the executable's path and try to find the resources dir. It would then fail with "Operation not permitted" when trying to canonicalize the path because it didn't have permissions to read metadata under ./target.

To fix this the resources dir path is now cached between resources_dir_path calls.

Source-Repo: https://github.com/servo/servo
Source-Revision: a162cfe45cceab123504289a7afc7bf06a4eeec8
2016-04-11 23:25:27 +05:01
Alan Jeffrey 538182bd9b servo: Merge #10423 - Removed sources of panic from piepline.rs (from asajeffrey:constellation-pipeline-hardening); r=emilio,jdm
Fixes #10422.

Source-Repo: https://github.com/servo/servo
Source-Revision: bcac1a3c95f6e34b6b0c060ee1f8283d0a384bf8
2016-04-08 06:35:38 +05:01
Alan Jeffrey ece8b6cabc servo: Merge #10424 - Removed uses of unwrap in compositor (from asajeffrey:compositor-hardening); r=Wafflespeanut
Fixes #10421.

Source-Repo: https://github.com/servo/servo
Source-Revision: 0e51be0c37c74a440d03b295c75a38d5f603c013
2016-04-07 01:28:25 +05:01
Paul Rouget e3fd7bc0f2 servo: Merge #9811 - forcetouch events (from paulrouget:forceTouch); r=mbrubeck
https://developer.apple.com/library/mac/documentation/AppleApplications/Conceptual/SafariJSProgTopics/RespondingtoForceTouchEventsfromJavaScript.html

Not sure how we want to land that yet. Maybe reproduce the webkit events (as in this PR), or as touch/mousemouse events.

Source-Repo: https://github.com/servo/servo
Source-Revision: 0ff8adb09778402e88fe0d0ad92f4b399ca8ca01
2016-04-05 20:38:05 +05:01
dhaval0603 f4a65d8ac1 servo: Merge #10399 - Private browsing - Initial steps (from jdm:pb); r=jdm
Rebase of #10160.

Source-Repo: https://github.com/servo/servo
Source-Revision: d1e8b79583a6d9ff5a0860307d55b72b7177f77a
2016-04-05 17:12:11 +05:01
Alan Jeffrey 9c1f3dfa8f servo: Merge #10343 - Comment explaining constellation panic for recv (from asajeffrey:document-constellation-recv-panic); r=jdm
A retry of #10294, which was closed due to homu issues.

Source-Repo: https://github.com/servo/servo
Source-Revision: 85f9f9626eaff12b66299eb6190955f2726b432c
2016-04-02 22:39:45 +05:01
Patrick Walton 7dc62af17a servo: Merge #10321 - compositing: Send only one mouse move event if WebRender is in use (from pcwalton:webrender-mouse-move); r=glennw
In WebRender mode, we were sending two mouse move events: one with the
proper coordinates and one with the wrong coordinates, because of
incorrect fall-through. The script task would usually (but not always,
depending on timing) ignore the first event in favor of the second
event, resulting in incorrect mouse move event coordinates in most
cases.

Closes servo/webrender#238.
Closes #10298.

r? @metajack

Source-Repo: https://github.com/servo/servo
Source-Revision: 0bf0f61a56eae3e3797c73847763e6c8b882d160
2016-04-02 01:27:39 +05:01
Alan Jeffrey 32e63d851d servo: Merge #10295 - Miscellaneous fixes to harden the constellation (from asajeffrey:remove-constellation-misc-panic); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 7f06b467a4ed988154bae3bb58c235b969e750c8
2016-04-01 18:45:48 +05:01
Alan Jeffrey d1ced17746 servo: Merge #10082 - Removed panicking when frame or pipeline lookup fails (from asajeffrey:remove-constellation-panic); r=glennw
Removed the methods `pipeline(id)`, `pipeline_mut(id)`, `frame(id)` and `frame_mut(id)` from constellation, which panicked when the table lookup failed.

The panics were causing race conditions, e.g. visiting google.com and resizing the page would cause a panic, most likely due to an iframe being added and removed, with the `DOMLoad` event arriving after the iframe had been removed, causing a panic.

This patch fixes #10017 and #8769 (although in non-webrender builds there's now a different panic, see https://github.com/servo/servo/issues/10017#issuecomment-198160200).

There are a few `TODO` items in the initial commit, for cases where it's not completely obvious what to do in the case of failure.

Source-Repo: https://github.com/servo/servo
Source-Revision: 7518c4de9317af3a643fc35131e556104b8693fa
2016-04-01 03:01:57 +05:01
Anthony Ramine 63c293056b servo: Merge #10297 - Update webrender with crates.io's offscreen_gl_context (fixes #10296) (from servo:the-offscreens); r=pcwalton
Crate webrender is bumped to the first commit in https://github.com/servo/webrender/pull/248.
Crate webrender_traits is bumped to the merge of https://github.com/servo/webrender_traits/pull/21.

Source-Repo: https://github.com/servo/servo
Source-Revision: 436f7316d97eabff4238c774a8ff7cc66fca08a0
2016-03-31 06:13:31 +05:01
Alan Jeffrey 308d5371ce servo: Merge #10242 - Replace any uses of .send().unwrap() by .send().unwrap_or_else() (from asajeffrey:remove-constellation-send-panic); r=metajack
This is part of the effort to harden the constellation (#10124), in this case against panics caused by channel send.

Source-Repo: https://github.com/servo/servo
Source-Revision: 821afa071e0bb4aa3c48f35b44ab8984a1ec92bc
2016-03-30 18:37:38 +05:01
Michael Howell f47e88f413 servo: Merge #8641 - No more headless compositor. Just the normal one (from notriddle:no_headless); r=glennw
Fixes #8573

Source-Repo: https://github.com/servo/servo
Source-Revision: aac2da75f40f4c55a4b450b6d9d134429fcf741e
2016-03-29 12:13:01 +05:01
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
Alan Jeffrey 4050bfcee0 servo: Merge #10179 - Added ability to randomly kill pipelines to the constellation (from asajeffrey:chaotic-good); r=emilio
Added flags:

* `--random-pipeline-closure-probability`: probability of each event triggering a forced exit of a randomly chosen pipeline.
* `--random-pipeline-closure-seed`: seed to use for the RNG (to remove a source of intermittent failure).

These are designed for testing the hardness of the constellation.

Source-Repo: https://github.com/servo/servo
Source-Revision: dc0e541747d41a53989fd08eb88c39ceb6036d4e
2016-03-26 20:46:59 +05:01
Connor Brewster a69ac9833f servo: Merge #10112 - Fixed jump tag issue (from cbrewster:jump-tag-fix); r=glennw
Fixes the issue where once a jump tag is clicked, the viewport rects are not updated. #9671

Source-Repo: https://github.com/servo/servo
Source-Revision: f1baba973f9bc788a65d77b59528b3719c198315
2016-03-24 05:59:58 +05:01
Ms2ger 6bc75cd680 servo: Merge #10106 - Remove renderer ids (from Ms2ger:renderer-id); r=ecoal95
Source-Repo: https://github.com/servo/servo
Source-Revision: 767b11cd676327cfb71f21d2cbcee8c16a74e2b3
2016-03-22 08:21:28 +05:01
Paul Rouget b19e374949 servo: Merge #10100 - Add history information to mozbrowserlocationchange event (from paulrouget:historyOnLocationChange); r=paulrouget
This is a change in the Browser API itself.

Before, on `mozbrowserlocationchange`, we would call `getCanGoBack()` and `getCanGoForward()`. Two asynchronous methods called on an event, which doesn't make much sense, especially because we already know on `mozbrowserlocationchange` if we can go back/forward. So here I'm adding 2 new properties to the event to tell if the iframe can go back/forward.

The way `event.detail` is defined also changed. Before, `event.detail` was a string (the new uri), now it's an object (`{uri:String,canGoBack:bool,canGoForward:bool}`).

This is one of the design flaw of the early Browser API: not using objects for the detail property, making it hard to extend the event payload.

So that makes this event not backward compatible. We can:
1. just don't care. It's up to the client to test if event.detail is a string or not if it needs to be compatible with Gecko
2. fix it in Gecko. The client will still have to test `event.detail` to make it compatible with older version of gecko
3. rename `mozbrowserlocationchange` to something else (`mozbrowserlocationchange2` ?)

Please advise.

Source-Repo: https://github.com/servo/servo
Source-Revision: db63aa423fcfc87e47d9250680737ef11d2c3d26
2016-03-22 07:22:19 +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
Patrick Walton e84cd4ad5f servo: Merge #10026 - compositing: In borderless mode, don't show the window until the page has loaded (from pcwalton:no-browserhtml-flash); r=metajack
This avoids a flash of unstyled content, which looks especially bad in
browser.html since unstyled content is white and browser.html has a
transparent background.

Closes #9996.

r? @metajack
cc @jdm since you had some concerns

Source-Repo: https://github.com/servo/servo
Source-Revision: 84d3ba075977c55d226bd6b70d695a292b2329c9
2016-03-16 23:17:59 +05:01
Patrick Walton b028b65531 servo: Merge #9851 - Implement support for overscrolling on the Mac (from pcwalton:overscroll); r=glennw
Requires tomaka/glutin#734, servo/webrender_traits#14, and
servo/webrender#217.

r? whoever (waiting on the landing of the above)

Source-Repo: https://github.com/servo/servo
Source-Revision: 881d6b4220f2391a22d4ea73b79415071626501f
2016-03-14 23:49:05 +05:01
Anthony Ramine 3ba3376dfd servo: Merge #9943 - Preliminary bumps for bumping Serde (from servo:serde-preliminaries); r=jdm
We need to bump webrender before being able to bump Serde, but we also needs these bumps, so let's include them ASAP first because bumping a lot of things is always a pain.

Source-Repo: https://github.com/servo/servo
Source-Revision: 0f526054ebfa164ca2545d881b8392a744af7870
2016-03-10 00:21:36 +05:01
Glenn Watson 44f92cb1ae servo: Merge #9858 - Fix animation smoothness when using requestAnimationFrame (from glennw:anim-smoothness); r=pcwalton
Previously, the flow for ticking animations was:

Compositor -> Constellation -> Layout -> Script

However, this means that the compositor <-> layout messages can thrash, meaning layout thread is very rarely idle.

This means that the script thread (which joins on the layout thread during reflow) was unable to execute and run rAF callbacks.

With this change, the flow is now:

Compositor -> Constellation -> Script (when rAF is active).
Compositor -> Constellation -> Layout (when transitions / animations are active and no rAF is present).

This makes rAF based animation *much* smoother.

Source-Repo: https://github.com/servo/servo
Source-Revision: aba500a698584e66975cd93006ca8cf745370f7d
2016-03-04 05:21:50 +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
Ulf Nilsson 18490a8945 servo: Merge #9790 - Use piston_image instead of stb_image for decoding JPEGs (from kaksmet:piston-jpeg); r=metajack
The main reason stb_image was used for decoding JPEGs was the lack of progressive support in piston_image.
With version 0.7, piston_image gained support for decoding progressive JPEGs through use of the [jpeg-decoder](https://crates.io/crates/jpeg-decoder) crate.

This PR removes the dependency on stb_image and instead uses piston_image 0.7 for decoding JPEGs.

Source-Repo: https://github.com/servo/servo
Source-Revision: a8c321a7e0402bcfc8d8da10cc94a5b287d29ffc
2016-03-02 13:48:50 +05:01
Glenn Watson 85c56fc373 servo: Merge #9813 - With WebRender, only send resize events when window size is valid (from glennw:iframe-sizing); r=pcwalton
Fixes WR 112.

Source-Repo: https://github.com/servo/servo
Source-Revision: 4035f7ae2c4925675263f514884ec702ac3d5460
2016-03-01 06:17:01 +05:01
Corey Farwell d4fdaf9720 servo: Merge #9789 - Minor constellation refactoring (from frewsxcv:constellation-cleanup); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 39502d6bed76343930b9d6409203e9c2e9ff09fc
2016-02-28 08:56:18 +05:01
Patrick Walton 9228b91ce3 servo: Merge #9663 - compositing: Stop compositing unnecessarily after each animation frame (from pcwalton:browser-html-jank-fix); r=glennw
Instead, schedule a delayed composite after each frame of an animation.

The previous code would cause jank, because the following sequence
frequently occurred:

1. The page uses `requestAnimationFrame()` to request a frame.

2. The compositor receives the message, schedules a composite,
dispatches the rAF message to the script thread, composites, and goes to
sleep waiting for vblank (frame 1).

3. The script makes a change and sends it through the pipeline.
Eventually it gets painted and is sent to the compositor, but the
compositor is sleeping.

4. The compositor wakes up, sees the new painted content, page flips,
and goes to sleep (frame 2). Repeat from step 1.

The problem is that we have two composition frames, not just one. This
halves Web apps' framerate!

This commit fixes the problem by scheduling the composite in step 2 to
12 ms in the future. We already have this delayed-composition
functionality in the form of the scrolling timer, which I repurposed and
renamed to the "delayed composition timer" for this task. This change
gives the page 12 ms to prepare the frame, which seems to usually be
enough, especially with WebRender.

Note that simply removing the scheduled composite after rAF is not the
correct solution. If this is done, then pages that call rAF and don't
modify the page won't receive future rAFs, since the compositor will be
sleeping and won't be notified of vblank.

Fixes a bunch of jank in browser.html. The remaining jank seems to be a
problem with browser.html itself.

r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: 9d47b344d9d0cf6faa3430bb32bdb4ba3eb11cf7
2016-02-25 03:27:02 +05:01
Corey Farwell 4332d6ca83 servo: Merge #9733 - Update webrender crate refs to reflect ownership change (from servo:servo-webrender); r=glennw
Source-Repo: https://github.com/servo/servo
Source-Revision: 33f0040496bde88683cfadb4068183f7d08a5f1c
2016-02-24 06:23:40 +05:01
Paul Rouget 830aca7743 servo: Merge #9710 - do not send mouseevent twice (from paulrouget:fix9702); r=glennw
Fix #9702

Source-Repo: https://github.com/servo/servo
Source-Revision: 875f1e92ccafebc8ddebc722f430e5037007b9dc
2016-02-20 11:04:06 +05:01
Glenn Watson c6d5efc75f servo: Merge #9589 - Add WebRender integration to Servo (from glennw:webrender); r=pcwalton
WebRender is an experimental GPU accelerated rendering backend for Servo.

The WebRender backend can be specified by running Servo with the -w option (otherwise the default rendering backend will be used).

WebRender has many bugs, and missing features - but it is usable to browse most websites - please report any WebRender specific rendering bugs you encounter!

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

--HG--
rename : servo/tests/unit/net_traits/lib.rs => servo/resources/shaders/clear.fs.glsl
rename : servo/tests/unit/net_traits/lib.rs => servo/resources/shaders/debug_color.fs.glsl
rename : servo/tests/unit/net_traits/lib.rs => servo/resources/shaders/mask.fs.glsl
2016-02-19 00:25:06 +05:01
Anthony Ramine 31c444dd4c servo: Merge #9636 - Move util::cursor to style_traits (from nox:mv-cursor); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: f0d4c03bd9c9e181aa1225aec978c2f539e9aeb0

--HG--
rename : servo/components/util/cursor.rs => servo/components/style_traits/cursor.rs
2016-02-16 16:21:20 +05:01
Anthony Ramine c0e4adbd32 servo: Merge #9622 - Bump heapsize to 0.3 (from nox:heapsize); r=ecoal95
Source-Repo: https://github.com/servo/servo
Source-Revision: a164176876bb6abccf729eb5d6334e3c22230103
2016-02-13 18:21:41 +05:01
Josh Matthews 401a4eb0e3 servo: Merge #6677 - Make iframes block the enclosing document's load event (from jdm:iframeblockonload); r=Ms2ger
It occurs to me as I write this that this doesn't handle the case of removing the iframe from the document before it's finished loading. Consider this an early feedback release!

Source-Repo: https://github.com/servo/servo
Source-Revision: a31f31e81977be5215f31851885e8ab46890c556
2016-02-10 19:21:29 +05:01
Anthony Ramine 08f5c3da70 servo: Merge #9532 - Say farewell to in-tree HeapSizeOf (from nox:dedup-heapsize); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 2a6707ce58df27d93e865bffb6b44d396b810c99
2016-02-05 03:11:36 +05:01
Tim van der Meij 29008e359b servo: Merge #9512 - Remove old features 'clone_from_slice' and 'convert' (from timvandermeij:feature-cleanup); r=frewsxcv
Fixes #9495.

Source-Repo: https://github.com/servo/servo
Source-Revision: 647637193d12eb4869afa93106d3aa14721a0935
2016-02-04 17:42:52 +05:01
Ms2ger 2eaac7c861 servo: Merge #9519 - Update Euclid (from Ms2ger:euclid); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 712b053f4f597a097767a0812013b95c7db8b3c9
2016-02-04 16:06:48 +05:01
Keith Yeung 5f946e83b6 servo: Merge #9498 - Update rust-url (from KiChjang:update-url); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 64ad9e17d9323862833daa60290b037ea8334424
2016-02-03 11:09:51 +05:01
Ms2ger 080772e91a servo: Merge #9485 - Update references to pcwalton's repositories (from servo:pcwalton); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: e7371b36dd0d3142e65fa54f87e023671c509e35
2016-02-01 20:51:07 +05:01
Mátyás Mustoha f023e4cd95 servo: Merge #9447 - Fix AArch64 target triplets (from mmatyas:aarch64_target_fix); r=larsbergstrom
The AArch64 platform uses the `aarch64-linux-gnu` triplet.

Source-Repo: https://github.com/servo/servo
Source-Revision: f8bdda499ef8c13f65cbc20215bd36dbc42b6439
2016-01-30 23:48:48 +05:01
Glenn Watson a495c8cb58 servo: Merge #9401 - Fixes additional calls to rAF (from glennw:raf-timing); r=jdm
Often, a rAF callback will request another rAF from the callback itself.

Previously, the constellation would quickly receive two messages saying
that there were no animations, and then there are animations again in the
situation above. This would make the compositor tick the new animation straight
away, causing strange fluctuations and timings in rAF callbacks.

Instead, only send the NoAnimationCallbacks message if the animation
callback queue is still empty after invoking the callbacks.

This fixes rAF timing, which now runs at the correct (vsync) framerate.

Source-Repo: https://github.com/servo/servo
Source-Revision: bc44ae679f0d4a01194777c56e09a48fbebea1ad
2016-01-28 10:49:24 +05:01
Josh Matthews ad47e88950 servo: Merge #9421 - compositing: Fix a couple of bugs that prevented iframes from painting after navigation (from jdm:iframe-painting-after-navigation-redux); r=jdm
The first bug was that iframes were not reflowed in their parent DOM when the child page navigated. This is fixed by simply having the constellation notify the appropriate script thread when navigation occurs.

The second bug was that the compositor was unable to adjust the pipeline for existing iframe layers, only new ones. This patch adds logic to do that.

The third bug was that we have ad-hoc reflow calls throughout script/, and we didn't trigger any reflow from the code that dispatches the `load` event for the iframe so the test for the first two issues would always time out. The second commit adds another reflow call to do that, and also bites the bullet and adds a catch-all reflow (which does nothing if there's no dirty nodes in the document) at the return to the event loop.

Closes #8081.

Extension of #9285.

Source-Repo: https://github.com/servo/servo
Source-Revision: 0fa9d32c6915c9cad18e5430c10973399599458a
2016-01-28 04:26:04 +05:01
Patrick Walton 9c109d7fbb servo: Merge #9429 - Dispatch scroll events to layers above others (from pcwalton:iframe-scroll-stacking); r=mbrubeck
Closes #9416.

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: b66a0014510aaebb7c926160923738fc4fe88ca2
2016-01-26 06:59:23 +05:01
Lars Bergstrom 5d2bc22040 servo: Merge #9385 - Win32 support (from larsbergstrom:win32); r=frewsxcv,pcwalton,jdm,ecoal95
r? @frewsxcv for python stuff
r? @pcwalton for the "remove usage of Gaol" stuff for Win32
r? anybody else for misc cargo.lock updates, etc.

This replaces #7878.

This works best with https://github.com/servo/mozjs/pull/71, too, to enable static linking, but can be run without (via some PATH hackery).

The instructions are here, and will be added to a .md file in the repo once the mozjs changes also land:
https://hackpad.com/Servo-on-Windows-C1LPcI2bP25

I'd like to get these changes landed because I've been rebasing them for months, they're otherwise quite stable, and don't affect our other platforms and targets.

Source-Repo: https://github.com/servo/servo
Source-Revision: 525e77f64fc65ea2397b4ff3849f5b1f39386698
2016-01-23 06:58:27 +05:01
Matthew Kuo 0e37316f1a servo: Merge #9352 - Convert private types to public (from mattkuo:cleanup-private-types); r=nox
fixes #9347

Source-Repo: https://github.com/servo/servo
Source-Revision: 380541bd48bb7ce0b36a8be90f756734e531ca5f
2016-01-18 01:29:01 +05:01