Commit Graph

119 Commits

Author SHA1 Message Date
Takanori Ishibashi
2bd5bfe9d2 servo: Merge #14001 - Fix typo recieve -> receive (from 11Takanori:recieve-typo-fix); 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: -->
- [ ] `./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 _____

<!-- 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: daf13ec0d25b6831ab94d2525a89c21af96ba40e
2016-10-31 08:56:40 -05:00
Ms2ger
0e48cd6985 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
94868cc314 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
91036c836c 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
Glenn Watson
89fec93361 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
Alan Jeffrey
7b39d36cf4 servo: Merge #13627 - Pipeline always stores frame (from asajeffrey:pipeline-always-stores-frame-id); r=ConnorGBrewster
<!-- Please describe your changes on the following line: -->

This change makes the pipeline always store the frame id, not just optionally. This is the first part of a long slog to use FrameIds rather than PipelineIds to identify frames. cc @ConnorGBrewster

---
<!-- 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 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: 51b806fcc0542c5e49ebc9f00a9f527d52b4556c
2016-10-10 14:58:14 -05:00
Glenn Watson
5ce9cbb70e 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
Alan Jeffrey
b39d300540 servo: Merge #13498 - IFrame elements now manage FrameIds rather than the constellation (from asajeffrey:script-iframe-stores-frameid); r=glennw
<!-- Please describe your changes on the following line: -->

This PR stores the FrameId as well as the PipelineId in an html iframe. The iframes are now responsible for creating frame ids, not the constellation.

This is the first step in fixing #633, because it means we know the frame id of each script thread when it is created. It also means we can share the frame id, for example using it in the debugger.

cc @jdm, @ConnorGBrewster and @ejpbruel.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes do not require tests because it's a 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: d01a8662154924a551c8d7a2f12b22bcaf998a7c
2016-10-07 14:54:31 -05:00
Ms2ger
8da53a3591 servo: Merge #13334 - Inline push_pending_frame into its callers (from servo:push_pending_frame); r=nox
The recently added replace argument makes it less readable, especially with
the second boolean argument I am adding in #11893.

Source-Repo: https://github.com/servo/servo
Source-Revision: 0d7e747acb7815dfc0cabeed8bd1df7d057f289e
2016-09-20 07:04:38 -05:00
Connor Brewster
b1fa1a13fe servo: Merge #13167 - Replace current session entry when reloading (from cbrewster:reload_replace_current); r=asajeffrey
<!-- Please describe your changes on the following line: -->
This PR adds a replacement option when navigating. It replaces the current session history entry after a new page has been loaded. This will prevent reloading from adding a new entry to the session history.

---
<!-- 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 #13123 (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: 9876923b29ae7c4f2b763e368fc34fe8a051afc4
2016-09-19 14:32:45 -05:00
Emilio Cobos Álvarez
d1b38bab1a servo: Merge #13319 - constellation: Minor refactoring to aid legibility (from emilio:constellation-refactoring); 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

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

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

Two things changed, on one hand, avoid a dumb if chain that could be more
idiomatically written with a match expression, and also avoiding use map() to
change state.

In general I'm pretty surprised for our lack of error reporting in this
critical code, but that's not the purpose of this PR.

Source-Repo: https://github.com/servo/servo
Source-Revision: 55e459ca991ea982ecbaacd901bfcb01bffa6be2
2016-09-19 07:29:11 -05:00
jmr0
d5bcf9034d servo: Merge #13227 - Pipeline visibility logic change (from jmr0:pipeline_visibility); r=jdm
<!-- Please describe your changes on the following line: -->

cc @paulrouget @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` does not report any errors
- [X] These changes fix #13191 (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: 157e3cc4e95e89e8c73a601028c09edaefe0f074
2016-09-18 21:21:45 -05:00
Rahul Sharma
ffa80ae74e servo: Merge #12910 - Implement postMessage for ServiceWorkers (from creativcoder:swsender); r=jdm
<!-- Please describe your changes on the following line: -->

Fixes #12773
r? @jdm

Changes:
* Implements `postMessage` on `ServiceWorker` object.
* Removes unused channels from sw and their scopes.
* Fixes a crash when calling `scope.script_chan()` in sw-scopes event handling.

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

<!-- Either: -->
- [X] There are tests for these changes at `tests/html/service-worker`

<!-- 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: 0ec4ea4ee188f2e5db9d387d182c34a9d97d07cd
2016-09-15 08:34:22 -05:00
Aneesh Agrawal
ef256065f3 servo: Merge #11698 - Excise SubpageId and use only PipelineIds (from aneeshusa:remove-subpage-id); r=notriddle
<!-- Please describe your changes on the following line: -->

SubpageId was originally introduced in 2013 to help iframes keep track of
their associated (children) pipelines. However, since each pipeline
already has a PipelineId, and those are unique, those are sufficient
to keep track of children.

---
<!-- 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 #11694  (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: 161e0741cd4942d337b8d0fca2e0eaa86482ad9a
2016-09-14 01:45:56 -05:00
Ms2ger
be6cadaf2b servo: Merge #13215 - Use extend() rather than extend_from_slice() in constellation (from servo:pointless-clones); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 10777a8a8ee745b2e6e454f221edeaca6aba0bf9
2016-09-09 22:25:59 -05:00
Ms2ger
6fe6439cd2 servo: Merge #13211 - Remove unused derivations from FrameState (from servo:FrameState-derive); r=ConnorGBrewster
Source-Repo: https://github.com/servo/servo
Source-Revision: b79401be312ef286b0aef68e5f03f7c7a072ea5d
2016-09-09 19:58:17 -05:00
UK992
a6ebcb8483 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
271c714e66 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
Connor Brewster
07afc30e00 servo: Merge #12909 - Add FrameState (from cbrewster:framestate); r=asajeffrey
<!-- Please describe your changes on the following line: -->
r? @asajeffrey
Might as well get this in now, since it may be a while before I can figure out what is causing the panics on the pending pipelines PR.

---
<!-- 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 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: 4e7c689a815198a51f96fdcac48a15eabf2157c0
2016-08-17 22:11:59 -05:00
Martin Robinson
4902811eaf 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
Alan Jeffrey
e1c08120b7 servo: Merge #12657 - Print backtraces for panics, even if the constellation has closed (from asajeffrey:panic-backtrace-println); r=nox
<!-- Please describe your changes on the following line: -->

At the moment, threads rely on the constellation to print out the reason for a panic, so panics that happen after the constellation closes are dropped on the floor. cc @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` does not report any errors
- [X] These changes fix #12626
- [X] These changes do not require tests because they are fixing panic behaviour

<!-- 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: 3c7de6b82165d251e37f699d8f724fba0a0f4556
2016-08-10 20:02:53 -05:00
Connor Brewster
1e1e02b1e8 servo: Merge #12685 - Implement history.length (from cbrewster:history_length); 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
- [ ] These changes fix #__ (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: 7aafc0d0ec898f7981a094a6b698fa94e1360a21
2016-08-03 22:22:57 -05:00
Zhen Zhang
e8917cb354 servo: Merge #12684 - Add cancellability to file manager load and related refactoring (from izgzhen:cancel-file-manager); r=Manishearth
Fixes #12589.

r? @Manishearth

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

Source-Repo: https://github.com/servo/servo
Source-Revision: b2f69f363574d5dea3cb96d4ef00c1d4e56bdd63
2016-08-02 16:57:46 -05:00
Ms2ger
8486f7cc24 servo: Merge #12692 - Simplify add_or_replace_pipeline_in_frame_tree (from Ms2ger:add_or_replace_pipeline_in_frame_tree); r=metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: e43d0e45d53800421b6c7d6b46ab2511a4758056
2016-08-02 11:30:20 -05:00
Alan Jeffrey
c0c4eb67f8 servo: Merge #12637 - Replaced mutex in constellation logging by a reentrant mutex (from asajeffrey:constellation-use-reentrant-logging-mutex); r=emilio
<!-- Please describe your changes on the following line: -->

The double-panic in #12553 may be caused by using a non-reentrant lock, which panics on reetry. This PR adds a reentrant lock type (slightly annoyingly, the implementation in std isn't exported) and uses it for logging. cc @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` does not report any errors
- [X] These changes fix #12619.
- [X] These changes do not require tests because they are designed to remove a class of intermittents.

<!-- 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: fdb1e511bde3fa9e3b3c524a07687dc52131fa0b
2016-07-29 12:49:08 -05:00
Alan Jeffrey
6c8dccd889 servo: Merge #12639 - Send logging messages even if the channel lock is poisoned (from asajeffrey:constellation-logging-when-poisoned); r=metajack
<!-- Please describe your changes on the following line: -->

Send panic and logging messages to the contellation even if the channel lock is poisoned.

---
<!-- 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 #12638.
- [X] These changes do not require tests because we don't have tests for panic.

<!-- 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: 89e129bf9f0d2d388f7506854aa2eb2456cb2d4d
2016-07-28 18:00:41 -05:00
Emilio Cobos Álvarez
592f0e00b4 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
Connor Brewster
3120d30784 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
d91603cf4c servo: Merge #12468 - Removed panic channel, replaced by integrated logging and issue reporting (from asajeffrey:constellation-remove-panic-channel); r=emilio
<!-- Please describe your changes on the following line: -->

Remove the previous ad hoc panic channel, replace it by an integrated logging and panicking mechanism, including crash reporting. All thread panics are now reported, not just content threads.

---
<!-- 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 #11838
- [X] These changes do not require tests because we don't test error reporting

<!-- 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: df1b00d43db615244e8e4bcf8296ed51b64249ea
2016-07-21 11:20:37 -05:00
Lars Bergstrom
6f0801ab94 servo: Merge #12507 - Remove clipboard crate to due disallowed usage of GPL code (from larsbergstrom:remove_clipboard); r=metajack
<!-- Please describe your changes on the following line: -->
Fixes #7578, removing usage of rust-clipboard, which contains a disallowed dependency on GPL code.

r? @metajack

---
<!-- 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's a dependency removal

<!-- 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: 46db988b906fbec0286fa07387bb34e76a5b3a94
2016-07-20 11:53:04 -05:00
Dirkjan Ochtman
9f5b10ca4c servo: Merge #12490 - Remove dependency on util::opts from canvas crate (from djc:canvas-no-opts); 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
- [x] These changes do not require tests because it's a small 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: ca9bc23b391b92d1a6e16f565b531a7fac68852c
2016-07-20 09:19:04 -05:00
Alan Jeffrey
0530a466f8 servo: Merge #12426 - Allow window elements as well as iframes to the the target of mozbrowser events (from asajeffrey:mozbrowser-event-targets); r=SimonSapin
<!-- Please describe your changes on the following line: -->
Allow mozbrowser events, in particular mozbrowsererror events, to target a window. Needed for https://github.com/browserhtml/browserhtml/issues/1182

---
<!-- 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 #12420
- [X] These changes do not require tests because we're not testing our issue reporting system, which this is intended for.

<!-- 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: b6c0ed9a44b076928ea816ca529702eec25d0029
2016-07-20 04:41:34 -05:00
Rahul Sharma
cbf85cb5a1 servo: Merge #11727 - Integrate service worker manager thread (from creativcoder:swmanager); 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 are part of #11091

<!-- Either: -->
- [X] There are tests for these changes at my [gh-pages](https://github.com/creativcoder/gsoc16/tree/gh-pages) branch to test  the instantiation of service workers by their manager, but will need to discuss how that would integrate into master.

Changes:
- Introduces a `ServiceWorkerManager`, which maintains an map of registered service workers as well as a map of active workers keyed by their `scope_url`.
- Adds the initialization of ServiceWorkerManager, at the `script::init()`, which makes it available as a single entity listening for requests from different script threads.
- Adds a timeout thread in `serviceworkerglobalscope`, which terminates the workers, after a timeout of 60 secs, thereby removing it from the active workers list.
- Adds the matching of scope urls, in longest prefix way rather than path structural way, according to [spec](https://slightlyoff.github.io/ServiceWorker/spec/service_worker/#scope-match-algorithm).
- Make ServiceWorkerManager, the holder of network sender, instead of script thread, so it can send `CustomResponse`.

<!-- 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: 513811f6b40d522bc425c2588320b889614f2973
2016-07-18 09:50:59 -07:00
Alan Jeffrey
cfd73c7510 servo: Merge #11841 - Send log messages to the constellation (from asajeffrey:constellation-logging); r=Manishearth
<!-- Please describe your changes on the following line: -->

Send all warnings and errors to the constellation. Warnings are bufferred up, and included in any subsequent error reports. Errors are reported in the same way as panics.

Note that this can't merge yet, as it needs https://github.com/rust-lang-nursery/log/pull/86 to land.

---
<!-- 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 #11776 (github issue number if applicable).
- [X] These changes do not require tests because we don't test crash reporting.

<!-- 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: a5cd4b95183da4ae9b754d9d4824bd23f4ad7eb8
2016-07-15 12:22:26 -07:00
Ms2ger
e024f1f5e9 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
305ec755df 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
dbbc05930b 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
2016-07-05 00:58:51 -07:00
Corey Farwell
335e26946e 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
Emilio Cobos Álvarez
4288252509 servo: Merge #11766 - Add @keyframes and animation-* support (from emilio:keyframes-parsing); r=SimonSapin,pcwalton
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors

<!-- Either: -->
- [x] There are tests for these changes

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

This adds support for parsing `@keyframes` rules, and animation properties. Stylo will need it sometime soonish, plus I want to make animations work in Servo.

The remaining part is doin the math and trigger the animations correctly from servo. I don't expect it to be *that* hard, but probaby I'll need to learn a bit more about the current animation infra (e.g. why the heck is the `new_animations_sender` guarded by a `Mutex`?).

I'd expect to land this, since this is already a bunch of work, this is the part exclusively required by stylo (at least if we don't use Servo's machinery), the media query parsing is tested, and the properties land after a flag, but if you prefer to wait until I finish this up it's fine for me too.

r? @SimonSapin

cc @pcwalton @bholley

Source-Repo: https://github.com/servo/servo
Source-Revision: d3a81373e44634c30d31da0457e1c1e86c0911ed
2016-06-28 17:31:01 -05:00
mrmiywj
0e207e74f6 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
Connor Brewster
0bc9be9e91 servo: Merge #11809 - Remove pipeline_to_frame_map (from cbrewster:remove_pipeline_to_frame_map); r=asajeffrey
<!-- Please describe your changes on the following line: -->
I think storing the `FrameId` on the `Pipeline` is cleaner than maintaining an extra `HashMap`. If not, I am ok with not making this change.

---
<!-- 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 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: 5c8a855d0e3ca447c31147514753329ed48c649f
2016-06-21 08:53:15 -05:00
Sagar Muchhal
22450cc083 servo: Merge #11544 - Implement private browsing for mozbrowser (from jdm:privatebrowsing); r=asajeffrey
<!-- Please describe your changes on the following line: -->
Support the `mozprivatebrowsing` attribute on mozbrowser iframes. This separates the non-private and private sessions in terms of cookies, HSTS lists, cached HTTP credentials, HTTP connection pools, and web storage. The private session is shared between all private mozbrowsers, and lasts until shutdown.

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

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 6166d8e74ffae4878709ce45221d3a9d31258534
2016-06-20 14:32:17 -05:00
jmr0
23a90f54a8 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
Alan Jeffrey
9aeda35147 servo: Merge #11749 - Check to see if about:failure failed (from asajeffrey:constellation-failing-failure); r=glennw
<!-- Please describe your changes on the following line: -->
Check to see if about:failure is failing,

---
<!-- 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 #11747
- [X] These changes do not require tests because we're not testing panic recovery

<!-- 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: 033786cd0dd0f74b5e2974aa67e000b832f17d17
2016-06-15 07:19:08 -05:00
Ms2ger
4c99a25ded servo: Merge #11676 - Create some channels on the constellation thread (from Ms2ger:constellation-channels); r=asajeffrey
Source-Repo: https://github.com/servo/servo
Source-Revision: 1b7ac699bc5bf21bc936386da5bc2296bcee6abb
2016-06-08 12:41:37 -05:00
Ms2ger
d5ea27d9bf 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
f9e6c2bcb0 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
Alan Jeffrey
abac45788d servo: Merge #11585 - Avoid deadlock when closing a pipeline (from asajeffrey:constellation-avoid-deadlock-during-pipeline-closure); r=larsbergstrom
<!-- Please describe your changes on the following line: -->
At the moment, the constellation blocks on a pipeline during closure. This PR makes pipeline closure asynchronous.

---
<!-- 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 #11546.
- [X] These changes do not require tests because testing for absence of deadlock is difficult.

<!-- 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: 6581e3504a60aa1e7c363cc93b1036b4a174c166
2016-06-03 22:22:49 -05:00
Abelardo E. Mendoza
8e11795849 servo: Merge #11497 - send a reply when thread is done exiting (from ab22:11467-resource-threads-race-with-shutdown-to-write-out-data); r=Ms2ger
<!-- Please describe your changes on the following line: -->

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

<!-- Either: -->
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because: in this case if code compiles then it's good enough.

<!-- 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: 351b851e21ab34f30280b506e48c2d61aa115f1a
2016-06-01 06:46:58 -05:00
Ms2ger
48e58ca2a6 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