servo/components
bors-servo 2dfbbd0ca2
Auto merge of #23368 - gterzian:clean_up_navigation, r=asajeffrey
Clean-up navigation

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

1. Navigation as a result of following a hyperlink should be done in a task: https://html.spec.whatwg.org/multipage/links.html#following-hyperlinks:dom-manipulation-task-source
2. The javascript url navigation should also be done in a task: https://html.spec.whatwg.org/multipage/browsing-the-web.html#navigating-across-documents:dom-manipulation-task-source
3. In `window.load_url`, it seems there is no need to send a message to the script-thread(the entirety of `load_url` should instead be done in a task when appropriate), so we can just do that last part "sync" by calling a method on the script, which will send a message to the constellation(for the parallel navigation steps), or queue task(for the JS navigation), as appropriate.
4. Separate the "normal" navigation flow from the handling of "navigate an iframe" message from constellation, since doing everything in one method as was previously done with `handle_navigate`, is confusing.

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

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

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

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

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/23368)
<!-- Reviewable:end -->
2019-07-18 14:22:03 -04:00
..
allocator
atoms atoms: Add some static atoms in code that is shared with gecko. 2019-05-29 16:14:33 +02:00
background_hang_monitor Remove uses of mem::uninitialized 2019-07-17 10:48:54 +02:00
bluetooth
bluetooth_traits Update regex to 1.1 2019-04-29 22:25:12 +09:00
canvas Auto merge of #23763 - servo:jdm-patch-40, r=Manishearth 2019-07-12 19:42:02 -04:00
canvas_traits Make GL/GLES decisions based on the API in use. 2019-07-12 13:36:44 -04:00
compositing Auto merge of #23770 - matharumanpreet00:update_cursor_on_scroll, r=paulrouget 2019-07-15 02:42:49 -04:00
config Update test API, hook it up to webxr mocking 2019-07-11 11:12:59 -07:00
config_plugins
constellation Auto merge of #23368 - gterzian:clean_up_navigation, r=asajeffrey 2019-07-18 14:22:03 -04:00
debugger Upgrade ws. 2019-06-12 15:01:03 -04:00
deny_public_fields
derive_common Update darling to 0.9 2019-05-23 12:14:56 +02:00
devtools Upgrade headers, headers-core, and hyper_serde. 2019-06-13 11:08:16 -04:00
devtools_traits
dom_struct Can collect webidl paths. 2019-04-20 22:39:22 +02:00
domobject_derive
embedder_traits WebRender units are no longer reexported. 2019-07-09 10:50:27 -04:00
fallible
geometry WebRender units are no longer reexported. 2019-07-09 10:50:27 -04:00
gfx Update dwrote. 2019-07-12 08:10:16 -04:00
gfx_traits
hashglobe Upgrade ws. 2019-06-12 15:01:03 -04:00
jstraceable_derive
layout Update rayon to dedupe crossbeam-epoch 2019-07-12 21:01:33 +02:00
layout_2020 Add ./mach build --with-layout-2020 2019-07-04 18:16:44 +02:00
layout_thread Create a solid rectangle display list entry for the page background. 2019-07-09 10:51:56 -04:00
layout_thread_2020 Add ./mach build --with-layout-2020 2019-07-04 18:16:44 +02:00
layout_traits Fix some new warnings 2019-06-22 14:59:09 +02:00
malloc_size_of Fix some new warnings 2019-06-22 14:59:09 +02:00
media Final tweaks: use expect and remove unnecessary crate attributes 2019-07-04 10:43:32 +02:00
metrics
msg Update servo media to include global mute support 2019-07-05 11:01:19 +02:00
net WebRender units are no longer reexported. 2019-07-09 10:50:27 -04:00
net_traits Add PerformanceResourceTiming: domainLookupStart 2019-06-30 00:20:26 +02:00
pixels
profile #[global_allocator] is stable 2019-07-01 14:55:01 +02:00
profile_traits fixup! Measure layout queries blocked by ongoing layout 2019-04-17 17:23:17 +02:00
rand Upgrade headers, headers-core, and hyper_serde. 2019-06-13 11:08:16 -04:00
range Remove unused code from a bunch of crates 2019-06-03 04:18:12 +02:00
remutex Remove unused code from a bunch of crates 2019-06-03 04:18:12 +02:00
script Auto merge of #23368 - gterzian:clean_up_navigation, r=asajeffrey 2019-07-18 14:22:03 -04:00
script_layout_interface Fix some new warnings 2019-06-22 14:59:09 +02:00
script_plugins Upgrade to rustc 1.38.0-nightly (4b65a86eb 2019-07-15) 2019-07-17 10:48:54 +02:00
script_traits Auto merge of #23368 - gterzian:clean_up_navigation, r=asajeffrey 2019-07-18 14:22:03 -04:00
selectors Rustfmt and fix tidy on recent changes. 2019-06-25 13:11:31 +02:00
servo Auto merge of #23764 - jdm:hl-startup, r=paulrouget 2019-07-13 11:31:26 -04:00
servo_arc style: Rustfmt recent changes. 2019-07-08 12:56:47 +02:00
size_of_test
std_test_override
style Update rayon to dedupe crossbeam-epoch 2019-07-12 21:01:33 +02:00
style_derive Update darling to 0.9 2019-05-23 12:14:56 +02:00
style_traits WebRender units are no longer reexported. 2019-07-09 10:50:27 -04:00
to_shmem style: Add an owned slice type which cbindgen can understand. 2019-05-10 12:43:02 +02:00
to_shmem_derive Update darling to 0.9 2019-05-23 12:14:56 +02:00
url style: Fix servo build, and appease tidy / fmt. 2019-04-12 12:20:15 +02:00
webdriver_server Auto merge of #23368 - gterzian:clean_up_navigation, r=asajeffrey 2019-07-18 14:22:03 -04:00
webrender_traits WebRender units are no longer reexported. 2019-07-09 10:50:27 -04:00
webvr Update to latest xrtest api 2019-07-01 17:42:46 -07:00
webvr_traits Update to latest xrtest api 2019-07-01 17:42:46 -07:00