Commit graph

184 commits

Author SHA1 Message Date
Jack Moffitt
2f97a7cbc3 servo: Merge #13453 - Implement matchMedia and MediaQueryList (from metajack:media-query-list); 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 #13376 (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. -->

Fixes #13376.

Source-Repo: https://github.com/servo/servo
Source-Revision: 6ef46ab9e4ec08d5f5226d41f0cac77c3584bae9
2016-11-02 14:51:12 -05:00
Ms2ger
a368498d31 servo: Merge #13742 - Use the fetch stack for documents (from servo:fetch-documents); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: ba2fb4e2e29125e66ed1d6a129735858604709fc
2016-11-02 03:26:42 -05:00
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
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
Bobby Holley
e65ee3c0ea servo: Merge #13866 - Stop ticking animations on non-dirty nodes during traversal (from bholley:expire_animations); r=emilio
See #13865.

r? @emilio

Source-Repo: https://github.com/servo/servo
Source-Revision: 202dfd5c2770f53283d28e83a43d5b420f302c17
2016-10-20 21:57:54 -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
Ms2ger
3e9051996f servo: Merge #13741 - Remove some unused support for the legacy network stack in script (from servo:fetch-doc-unused); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 740464df8af6e0f167bafa1a760078e420172eb7
2016-10-13 09:55:00 -05:00
Alan Jeffrey
83a1404060 servo: Merge #13728 - Setting a devtools timeline marker may fail, due to pipeline lookup failure (from asajeffrey:devtools-set-timeline-marker-may-fail); r=fitzgen
<!-- Please describe your changes on the following line: -->

Allow setting a devtools timeline marker to fail, due to pipeline lookup failure. This is part of tidying up pipeline lookup.

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 do not require tests because I'm not sure how to test devtools.

<!-- 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: bb75e2e727eae64477c128ace7bd5cff35e0ea81
2016-10-13 03:21:47 -05:00
Keith Yeung
cbf9b31fea servo: Merge #13056 - Implement transition event and infrastructure (from KiChjang:transition-event); r=mbrubeck
Fixes #10245.

Source-Repo: https://github.com/servo/servo
Source-Revision: cd2f950de3bcbf88208dec16f7025ff516473e0d
2016-10-12 02:08:37 -05:00
Anthony Ramine
cf69fd522f servo: Merge #13647 - Unify all rooting traits under RootedReference (from nox:rootedreference); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: cf2a6475cb3d7d98b925e7a235ebf36f6abe883d
2016-10-11 17:00:55 -05:00
Anthony Ramine
4adf074ce8 servo: Merge #13675 - Clean up the parsers into a single interface (from nox:servoparser); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 928e5ad1e5ca4344e69cd8029749ecb623eabd9f

--HG--
rename : servo/components/script/parse/html.rs => servo/components/script/dom/servoparser/html.rs
rename : servo/components/script/parse/xml.rs => servo/components/script/dom/servoparser/xml.rs
rename : servo/components/script/dom/webidls/ServoXMLParser.webidl => servo/components/script/dom/webidls/ServoParser.webidl
2016-10-11 10:16:23 -05:00
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
Anthony Ramine
b95407a112 servo: Merge #13596 - Get rid of dom::bindings::global (from nox:inline); r=Ms2ger
Globals in that PR are now represented by the fake IDL interface `GlobalScope`.

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

--HG--
rename : servo/components/script/dom/webidls/ServoXMLParser.webidl => servo/components/script/dom/webidls/GlobalScope.webidl
2016-10-07 07:52:09 -05:00
Alan Jeffrey
968ff9f63b servo: Merge #13580 - Removed the session history from BrowsingContext (from asajeffrey:script-browsingcontext-without-session-history); r=ConnorGBrewster.
<!-- Please describe your changes on the following line: -->

The session history is stored in the constellation and accessed via the `History` object, so `BrowsingContext` doesn't need to track it.

cc @jdm @ConnorGBrewster @Ms2ger

---
<!-- 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: 896be066dd34e4d5f5f2c6425c093f5fa091401b
2016-10-05 13:19:37 -05:00
Anthony Ramine
5298bce936 servo: Merge #13554 - Some cleanups related to globals (from nox:cleanup-global); r=<try>
Source-Repo: https://github.com/servo/servo
Source-Revision: 522734de22ddbbc256cad94d1f07a8149e6e58fa
2016-10-03 04:48:13 -05:00
Josh Matthews
bbc61ddf79 servo: Merge #12830 - Implement promise bindings (from jdm:promises); r=Ms2ger
This implements support for using Promises in WebIDL, executing promise callbacks in batches (equivalent to running all enqueued jobs from a setTimeout(0)), and attaching native callbacks to promise objects. This is the combined work of myself, @dati91, and @mmatyas based on the following prior work in Gecko:
* Codegen.py
* Promise.webidl
* Promise.cpp/Promise.h
* PromiseNativeHandler.h

This does not implement microtasks per #4283. This allows us to make progress on testing code that requires the use of Promises right now; the microtasks work is more complicated, but also largely orthogonal to implement.

Requires https://github.com/servo/mozjs/pull/89, https://github.com/servo/rust-mozjs/pull/287, and https://github.com/servo/rust-mozjs/pull/294.

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 2b1a39c2ae14b78e437551d05f0e691a13e5d183
2016-09-22 15:23:23 -05:00
Connor Brewster
00492ad634 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
Rahul Sharma
4dc69a4645 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
16d75f6b59 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
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
Alan Jeffrey
ff7ad35009 servo: Merge #13106 - Remove mutex from Trusted (from servo:trusted); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 9e726b4d83fc169c38f176b9958cfb1b66363e8f
2016-08-29 05:00:39 -05:00
Ashwin R
1e80a24d10 servo: Merge #13068 - Fixed calling unwrap on an Err value (from ashrko619:shut_down_layout_panic); 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 #13046  (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: 0ced8cd1f12addf18094b3a9824a7f145d201179
2016-08-26 22:06:28 -05:00
Josh Matthews
1e538847df servo: Merge #12980 - Fix ridiculous DOM proxy getter performance (from jdm:proxychanges); r=nox
This implements the missing shadowing checks that were causing us to take many slow paths when dealing with proxy objects. Verified by running `tests/html/binding_perf.html` before and after and observing a 12x improvement.

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 78344754826e938c004a83a21c898552a8e77b17
2016-08-25 06:31:46 -05:00
Guillaume Gomez
2ceae6c5a3 servo: Merge #12954 - Update rust-mozjs (from GuillaumeGomez:dictionary_error); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 3c4a08c016c0fd62496bcc7ffdbe850ce8813ccd
2016-08-24 06:19:37 -05:00
Ms2ger
f612660bd1 servo: Merge #12970 - Move thread_state to style (from servo:thread-state); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 1911606e5c7d81e41b79fa25c41b1d7def7aef62

--HG--
rename : servo/components/util/thread_state.rs => servo/components/style/thread_state.rs
2016-08-22 10:39:51 -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
Steve Melia
1938063073 servo: Merge #11726 - Issue 7720: Add target selector and update when scrolling to fragment (from sjmelia:7720_add_target_selector); r=mbrubeck
<!-- Please describe your changes on the following line: -->
Add the target pseudo selector and set/unset it during scrolling to fragment. This change is not complete as no repaint is triggered after the selector is added - it will only take effect after a repaint is triggered by e.g. hovering over another element. (See manual test)

I would like some help because i'm not sure how to resolve this; I can only think to call window.reflow.

I added a manual test case, don't think this counts really! I think the applicable automated test is in /tests/wpt/web-platform-tests/dom/nodes/Element-matches.html but it currently fails, I think due to the above.

---
<!-- 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 #7720  (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: 7a7bdf51adc3c5051f93c8044797c8fcaf89953c
2016-08-03 14:53:30 -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
David Raifaizen
0a6a67fa2d servo: Merge #11791 - Pipeline lookup in webdriver (from craftytrickster:11712/pipeline-lookup); r=asajeffrey
Fixes #11712

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

Removed a method that seemed to duplicate already existing functionality, and returned BrowsingContextErrors in the web_handler file where panics were previously occurring.

I am not sure if I like all the unwrapping that occurs in the script thread, but the current methods are not set up to return Option/Result.

Also, should line the method on line 37 `find_node_by_unique_id` of components/script/webdriver_handlers.rs return None if the context is not found like I have it currently? Or should it return a `Result<Option...>` instead?

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

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because I simply removed a method that duplicated already existing functionality. On the other part, I added better error sending instead of forcing a panic, which does not require testing to my knowledge.

<!-- 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: a94b92f8c4f3e3edbc8db7c106fe2b6d3a5d82ae
2016-07-26 00:44:28 -05:00
Dirkjan Ochtman
dabb8fb913 servo: Merge #12560 - Hoist retrieval of layout_threads from opts into Constellation (from djc:layout-threads-hoist); r=emilio
<!-- Please describe your changes on the following line: -->

This makes the lower-level crates less dependent on `util::opts`.

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

<!-- 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: 2d0178863de61f3cbe3ab24e193dff783dcfc9a3
2016-07-24 14:53:34 -05:00
Alan Jeffrey
528ece6c24 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
Emilio Cobos Álvarez
4853fe4b89 servo: Merge #12392 - style: Add support to test animations programatically (from emilio:test-animations); r=SimonSapin
<!-- 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 #12120

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

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

r? @SimonSapin for the style changes, @Ms2ger or @jdm for the dom and test changes

Source-Repo: https://github.com/servo/servo
Source-Revision: 14aeccc33ab44d706df86fbce67339218efe710c
2016-07-20 13:38:31 -05:00
Alan Jeffrey
413d971d84 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
7fc9b5fc26 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
Aravind Gollakota
78fcf243f3 servo: Merge #12441 - Implement referrer policy delivery by header (from aravind-pg:referrer-pol-header); r=jdm
Adds a new `Option<ReferrerPolicy>` field to Document and sets it appropriately in `ScriptThread::load` if a Referrer-Policy header is present.

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` does not report any errors
- [X] These changes fix #11860
- [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: b382cc2103180f7dfd8df9c34970a95ed57a2d88
2016-07-15 11:25:43 -07:00
Nazım Can Altınova
19dce5ea54 servo: Merge #12416 - Implement Document.referrer (from canaltinova:referrer); 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 #12389 (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: 4b78b9adab916cc4fdde6248e785030b79f406da
2016-07-14 11:55:44 -07:00
Keith Yeung
0e04a592f6 servo: Merge #12448 - Implement file reading task source (from jdm:file-reading-task-source-2); r=KiChjang
Implement the task source API for the File Reader task source, enabling using task sources from non-main threads.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix (partially) #7959 (github issue number if applicable).
- [X] These changes do not require tests because they're refactoring existing code

Source-Repo: https://github.com/servo/servo
Source-Revision: 48a912f57ec51e55e7905983b2bf368a07a9902f
2016-07-14 10:55:17 -07:00
Connor Brewster
e82a09e24a servo: Merge #12404 - Clean up task sources and make all tasks cancellable (from cbrewster:task_source_cleanup); r=asajeffrey
<!-- Please describe your changes on the following line: -->
This makes it so each task is a thin wrapper over a runnable and whenever a task is queued, it is automatically wrapped by the window's `runnable_wrapper`.

---
<!-- 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  #11703 (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: 3011d4b450b107f87fab54f6c59245ac1478fa79
2016-07-13 10:18:15 -07:00
Connor Brewster
c49f6db0dd servo: Merge #12277 - Make network listener runnable cancellable (from cbrewster:network_listener_cancellable); r=Manishearth
<!-- Please describe your changes on the following line: -->
This keeps scripts from executing after its script thread has been shut down.

---
<!-- 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 (maybe) #12048 (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: 12260b24d0e97ee33116d4b730203e5a2619a499
2016-07-08 09:56:31 -07:00
Connor Brewster
f94a5eebaf servo: Merge #12292 - Consolidate runnable variants on DOMManipulationTask into a single Runnable variant (from cbrewster:runnable_variant); r=KiChjang
<!-- Please describe your changes on the following line: -->
Consolidates the runnable variants on `DOMManipulationTask` into a single `Runnable` variant.
Also combines `MainThreadRunnable` into the `Runnable` trait.

I plan on filing a few E-Easy issues after this lands to implement `name` on each of the structs that implement `Runnable`.

---
<!-- 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: fdfde1c5ebfcbc1586a9f549886e3b54de1bcbde
2016-07-07 14:26:44 -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
Eduard Burtescu
da092febcb servo: Merge #11872 - Replace return_address usage for rooting with stack guards and convenience macros (from eddyb:back-to-roots); r=Ms2ger
The existing `Rooted` and `RootedVec` users were migrated the the following two macros:
```rust
let x = Rooted::new(cx, value);
// Was changed to:
rooted!(in(cx) let x = value);
// Which expands to:
let mut __root = Rooted::new_unrooted(value);
let x = RootedGuard::new(cx, &mut __root);
```
```rust
let mut v = RootedVec::new();
v.extend(iterator);
// Was changed to:
rooted_vec!(let v <- iterator);
// Which expands to:
let mut __root = RootableVec::new();
let v = RootedVec::new(&mut __root, iterator);
```

The `rooted!` macro depends on servo/rust-mozjs#272.
These APIs based on two types, a container to be rooted and a rooting guard, allow implementing both `Rooted`-style rooting and `Traceable`-based rooting in stable Rust, without abusing `return_address`.

Such macros may have been tried before, but in 1.9 their hygiene is broken, they work only since 1.10.

Sadly, `Rooted` is a FFI type and completely exposed, so I cannot prevent anyone from creating their own, although all fields but the value get overwritten by `RootedGuard::new` anyway.
`RootableVec` OTOH is *guaranteed* to be empty when not rooted, which makes it harmless AFAICT.

By fixing rust-lang/rust#34227, this PR enables Servo to build with `-Zorbit`.

---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix rust-lang/rust#34227
- [x] These changes do not require tests because they are not functional changes

Source-Repo: https://github.com/servo/servo
Source-Revision: 80cb0cf8214fd52d2884724614c40cb278ee7575
2016-07-04 11:03:35 -07:00
Emilio Cobos Álvarez
c399260cd8 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
Dan Robertson
827980c736 servo: Merge #10826 - Add webdriver commands for (Get|Add)Cookie (from danlrobertson:cookies); r=asajeffrey
Add the webdriver commands for GetCookie and AddCookie. In addition the basic messages for sending cookie data back and forth from the resource thread needed to be created and the handlers for those messages were created as well.

Do we plan to have some sort of test suite for the webdriver at some point? At this point I primarily test my PRs with basic shell scripts with a lot of `curl` and `jq`.

Source-Repo: https://github.com/servo/servo
Source-Revision: 054bb381e94b82fad4e502bc0f3229f39195c713
2016-06-26 03:19:14 -05:00
Alan Jeffrey
ba5e86ad89 servo: Merge #11695 - Removed some sources of panic from script thread (from asajeffrey:script-thread-dont-panic); r=Ms2ger
<!-- Please describe your changes on the following line: -->
**This PR needs some thought!**

It removes some sources of panic from script_thread.rs, caused by pipeline lookup failure. It's incomplete, as there are some uses of `get_browsing_context` elsewhere in the code.

---
<!-- 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 #11693 and #11685 (and probably some other intermittents)
- [X] These changes do not require tests because it is fixing intermittent 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: 04271124bb00567acfec546a469f5cc680a34ffd
2016-06-24 15:19:01 -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
Ms2ger
874621db97 servo: Merge #11754 - Move ServoLayoutNode and related structs to script (from Ms2ger:wrapper-traits-prep2); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: ee8c5c5a67e1181eca163d3cd1189866d230b8f0

--HG--
rename : servo/components/script/reporter.rs => servo/components/script_layout_interface/reporter.rs
rename : servo/components/layout/incremental.rs => servo/components/script_layout_interface/restyle_damage.rs
2016-06-20 12:54:20 -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
Darin Minamoto
c398a138ca servo: Merge #11734 - Replace RefCell in SCRIPT_THREAD_ROOT with Cell (from DarinM223:master); r=Ms2ger
<!-- Please describe your changes on the following line: -->
Replaced RefCell usage in SCRIPT_THREAD_ROOT with Cell.
---
<!-- 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 #11732  (github issue number if applicable).

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

<!-- 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: df4693489d677cd65e1bd8745ef193fc29f3113c
2016-06-12 20:29:47 -05:00
Manish Goregaokar
abc4d8d572 servo: Merge #11556 - Make fetch happen (from Manishearth:make-fetch-happen); r=jdm
<!-- Please describe your changes on the following line: -->
Moves XHR over to the fetch backend.

Previous PR: https://github.com/servo/servo/pull/114

---
<!-- 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
- [ ] `./mach test-tidy` does not report any errors (Will fix later)

<!-- 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: 0c11e8340b26aa86faf9ea40aae253392b338ba3
2016-06-11 19:30:28 -05:00
Patrick Walton
2120477f7d servo: Merge #11680 - script: When using WebRender, keep the DOM-side scroll positions for elements with overflow: scroll up to date, and take them into account when doing hit testing (from pcwalton:wr-overflow-scroll-hit-testing); r=jdm
Closes #11648.

r? @jdm
cc @paulrouget

Source-Repo: https://github.com/servo/servo
Source-Revision: 2d9338085561e7908c80ec7b2dd6d30125489aac
2016-06-11 11:01:36 -05:00
Josh Matthews
0bfbf56b98 servo: Merge #11707 - Avoid frequent intermittent failure in tests (from jdm:resize_warn); r=Ms2ger
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #11613 (github issue number if applicable).
- [X] These changes do not require tests because they address a frequent nondeterministic panic that occurs in other tests.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2fb8525919a72a1e1d5c873fb18a97c67c93bd95
2016-06-10 10:06:29 -05:00
Ms2ger
2bd56defd3 servo: Merge #11684 - Avoid an index-out-of-bounds error in ScriptMemoryFailsafe (from servo:fix-failsafe); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 0ac1ff066107def0781d18e1d76856380a349bef
2016-06-09 11:33:17 -05:00
Alan Jeffrey
75a888e78c servo: Merge #11644 - Mozbrowser top level browsing context (from asajeffrey:mozbrowser-top-level-browsing-context); r=ConnerGBrewster
<!-- Please describe your changes on the following line: -->
Got `window.top` and `window.parent` to return the right result inside a `mozbrowser` iframe.

---
<!-- 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: 280bfc961a013bec58ba23d756db002b3e44fdef
2016-06-07 13:27:44 -05:00
Josh Matthews
ca9965b104 servo: Merge #11593 - Make the net monitor panel in FF's devtools show meaningful output (from jdm:netmon); r=nox
<!-- Please describe your changes on the following line: -->
1. Advertise support for the network monitor in the initial protocol communication.
1. Only notify the developer tools server about the final request in an HTTP transaction.
1. Add timing information for connecting to the HTTP server and sending the HTTP request.
1. Reduce duplication between various networkEventUpdate structures by creating a helper function
that merges two JSON structures together. This also corrects the JSON structure so the devtools
client interprets the output correctly.
1. Calculate various header size fields correctly.
1. Remove unnecessary usize->u32 casts by making the appropriate fields usize.
1. Add header values to request and response header messages.
1. Support triggering page reloads via the devtools client.

I apologize that these aren't broken apart. I was making a lot of changes trying to figure out why the panel wasn't working right, and a lot of them were tangled together.

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

<!-- 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: 1bc94c132e6820293c2178bf95991518b1e8a677
2016-06-05 21:19:22 -05:00
Anthony Ramine
bdd5c96847 servo: Merge #11610 - Fix all the links to the UI Events spec (from nox:dom3events); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 573c0a74684dc0043da4800a84065d72453641fd
2016-06-04 20:25:36 -05:00
Ms2ger
a9b041b2e8 servo: Merge #11607 - Remove the layout and paint shutdown channels (from Ms2ger:shutdown-channels); r=asajeffrey
Source-Repo: https://github.com/servo/servo
Source-Revision: 80a58cadc5f864bfb44671e2e7228d7c6cdf4ab4
2016-06-04 14:24:56 -05:00
Alan Jeffrey
7ceb3d690c 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
Rahul Sharma
d38a9a1c80 servo: Merge #11114 - implement related service worker interface and register method (from creativcoder:nav-sw); r=jdm
Fixes  #11091

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

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

The design is still immature, welcome comments!

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 3d7b17681dc9c20358fda9efc72575feb968cc81
2016-06-01 05:09:21 -05:00
Rafael Quintero
2a9c972bb2 servo: Merge #11480 - rename (from rafaqtro:local_b); r=emilio
rename

<!-- Please describe your changes on the following line: -->
rename of page_fetch_complete and handle_page_fetch_complete for page_headers_available and handle_page_headers_available .

---
<!-- 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 #11418 (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: 5d86b9b2ae801685cbae7a1d96587a25d993fdf6
2016-06-01 00:15:51 -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
Anthony Ramine
f6c508b0f1 servo: Merge #11520 - Bump rust-mozjs for the safe Runtime::new (fixes #11512) (from nox:runtime); r=tschneidereit
Source-Repo: https://github.com/servo/servo
Source-Revision: d0f5a5fd747e42da0863434f6ede10bafed3a509
2016-05-31 08:40:43 -05:00
Ms2ger
b4d017565f servo: Merge #11511 - Add a missing JSAutoCompartment to javascript url handling (from Ms2ger:jsurl-crash); r=nox
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] There are tests for these changes OR

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

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

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 3ec20d9cf517c67f4d280e8958cc58c4c2b4fbb2
2016-05-27 18:14:25 -05:00
Ms2ger
ce64c413c5 servo: Merge #11463 - Remove the LayoutChan type (from Ms2ger:LayoutChan); 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` 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. -->

It is a pointless abstraction.

Source-Repo: https://github.com/servo/servo
Source-Revision: d160f8cb8037db0f4fa0b592d5f59162c1428494
2016-05-27 10:26:23 -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
Till Schneidereit
12e19131ff servo: Merge #11372 - Pass a parent JS runtime when creating DOM Worker runtimes (from tschneidereit:parent-js-runtime-for-workers); r=nox
This enables sharing data with the parent runtime, decreasing memory usage and startup time. Also contains an update to current rust-mozjs, because that's required for this to work.

- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy --faster` does not report any errors
- [x] These changes don't fix a github issue

Either:
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because the changes don't change any observable behavior

Source-Repo: https://github.com/servo/servo
Source-Revision: 5a81470c4db563fce4f84949507b25206b0dbedb
2016-05-26 00:08:42 -05:00
Ms2ger
1c5c58f3e6 servo: Merge #11370 - Remove the IterableContext trait (from Ms2ger:IterableContext); 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
- [ ] 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.

It serves no purpose.

Source-Repo: https://github.com/servo/servo
Source-Revision: edf121324e475270f56f539900ff24f9005f3fdb
2016-05-25 22:42:31 -05:00
Ms2ger
1eb77c2d1c servo: Merge #11375 - Remove ScriptThread::layout_to_constellation_chan (from servo:layout_to_constellation_chan); 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 refactoring

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

Instead, pass it along in NewLayoutInfo when needed.

Source-Repo: https://github.com/servo/servo
Source-Revision: f03e8fc937b5bc5b22c2595ffd17bee41a825b5f
2016-05-25 09:26:04 -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
9fa81b0ace servo: Merge #11373 - Use associated types to improve LayoutThreadFactory and ScriptThreadFactory (from servo:threadfactory); r=larsbergstrom
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: 586c0702a0c80174d19c1eacb49c8295f2963ecc
2016-05-25 04:25:50 -05:00
Ms2ger
e35d119d3e servo: Merge #11366 - Stop storing CSS errors on the Document (from Ms2ger:css_errors_store); r=SimonSapin
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 removing dead code

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

They are never read.

Source-Repo: https://github.com/servo/servo
Source-Revision: a3fe756cdbe1ce4ea478a2026e0735a62f9411f5
2016-05-25 00:09:16 -05:00
Anthony Ramine
5aa3cb5ed3 servo: Merge #11326 - Move DOMString back to script (from nox:non-geckolib); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 6abcd793d780369767385b01b02ee725d6b10585
2016-05-24 02:07:29 -07:00
Ms2ger
ec933c529c servo: Merge #11338 - Take ScriptThread::compositor out of its RefCell (from Ms2ger:compositor-refcell); 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.

There's no reason for it; IpcSender::send takes &self.

Source-Repo: https://github.com/servo/servo
Source-Revision: ef81e6982ab79722fd16b9cf0da615054bcd6520
2016-05-23 19:16:12 -07:00
Alan Jeffrey
796b631fca servo: Merge #11179 - Implemented webdriver SetWindowSize (from asajeffrey:webdriver-resize-window); r=jgraham
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 #10467 (github issue number if applicable).

Either:
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because the new tests are in https://github.com/w3c/web-platform-tests/pull/3024

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: 2063bde0a4dc512494e6548a036448ded3056762
2016-05-23 02:53:48 -07:00
Rahul Sharma
934afa2733 servo: Merge #10961 - adding interface for custom responses (from creativcoder:custom_response_iface); r=jdm
Fixes #10960

Source-Repo: https://github.com/servo/servo
Source-Revision: 1a34137ac41276239850d91073bec2c0ef2344d9
2016-05-21 01:12:54 -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
Josh Matthews
b10b472b1a servo: Merge #11239 - Add timeline markers for HTTP requests, JS evaluation, and HTML parsing (from jdm:time-profile); r=nox
Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data:
- [ ] `./mach build -d` does not report any errors (didn't try to compile past a rustc upgrade on airplane wifi)
- [X] `./mach test-tidy --faster` does not report any errors
- [X] These changes fix #11218 (github issue number if applicable).

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

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

Source-Repo: https://github.com/servo/servo
Source-Revision: 96a86bd952c4c0e41d6164fbd16244ea4420106a
2016-05-18 06:07:10 -07:00
Ms2ger
4c6a748229 servo: Merge #11244 - Report panics in web worker threads (from Ms2ger:catch-panics-workers); 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 #11234 (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: bed6d45b35df9f0d3ef734633e40f9be2e0d749d
2016-05-18 04:24:41 -07:00
Ms2ger
6d664715e1 servo: Merge #11173 - Stop using JSAutoRequest (from servo:requests); 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` 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 functional change

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

Source-Repo: https://github.com/servo/servo
Source-Revision: ea84601bf08618254200b3faca055c36e9ff29b4
2016-05-13 06:41:22 -07:00
Keith Yeung
c30ed37c65 servo: Merge #10714 - Implement user interaction task source (from KiChjang:user-interaction-task); r=Ms2ger
Part of #7959.

Source-Repo: https://github.com/servo/servo
Source-Revision: 42141870e764d0763bfbbdbed70b74399ee342de
2016-05-12 09:00:14 -07:00
Connor Brewster
95730ed890 servo: Merge #11044 - Combine Page into BrowsingContext (from cbrewster:page_to_browsing_context); r=jdm
Fixes #11031.

`Page` and `BrowsingContext` have similar use cases and we decided it would be best to join the two.

This is the ground work for actually using session history in the `BrowsingContext` to implement the History API.

r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: 685dc99e3ef9cf6c88487704709dc13a26812889
2016-05-11 20:53:02 -07:00
Josh Matthews
006edb3c13 servo: Merge #11113 - Trace and finalize BrowsingContext (from jdm:trace_browsingcontext); r=Ms2ger
This is a prerequisite for merging #11044, and is an important correctness fix on its own.

r? @Ms2ger

Source-Repo: https://github.com/servo/servo
Source-Revision: 91cabf8427ae8a7693a56c11abfd32b5058c21de
2016-05-11 05:43:41 -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
Josh Matthews
1379121bd9 servo: Merge #8454 - Implement basic <media> infrastructure (from jdm:media); r=KiChjang
This gets us to the point where we can start playing with actually integrating rust-media to process the data received by the network request, as currently it's just ignored.

Source-Repo: https://github.com/servo/servo
Source-Revision: f9d9cd3aaed3326e8935f710f800288a50156c71
2016-05-03 16:42:46 -07:00
Anthony Ramine
da31a4c64f servo: Merge #10756 - Update SpiderMonkey (from servo:smup); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 2c69278067a23703b251a69c875bee49449c6bfc
2016-05-03 15:46:40 -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
Ms2ger
fc7055d9f4 servo: Merge #10918 - Avoid some clones (from Ms2ger:clones); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 9770e3c1e37a29c4b01ebfc243db2c7be58ec006
2016-04-29 06:33:34 -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
Keith Yeung
4afedbf0a7 servo: Merge #10890 - Remove extraneous script_chan parameter from Trusted::new (from servo:trusted); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 78e23f4c9b54c51012c672839545682b38455d67
2016-04-28 01:57:52 -07:00
Connor Brewster
a169b8b4a6 servo: Merge #10647 - Finish hooking up XML parser (from cbrewster:parse_xml); r=jdm
This is a work in progress PR for #10581. I just want to make sure I am headed in the right direction.

cc @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: daa1a2a0a82d336205dae340d705ea6c0bed4ed2
2016-04-27 07:50:54 -07:00
Martin Broesamle
92bb89e398 servo: Merge #10866 - Move abstract parser infrastructure from servohtmlparser.rs to parse (from broesamle:issue10856-a); r=Ms2ger
Fixes #10856

Source-Repo: https://github.com/servo/servo
Source-Revision: 5fd93de7be21220ec309969e7795061d835b0e84
2016-04-27 03:29:50 -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