gecko-dev/servo/ports/cef
Paul Rouget 633c2172a9 servo: Merge #17425 - cleanup embedder/compositor/constellation/script messages (from paulrouget:attach-pipeline-2); r=asajeffrey
Fix: #17226 #17200 #17201

This is work in progress. Some tests still fail.
I'd like to get early feedback as it's a pretty large PR.

There is nothing fundamentally new. Basically, I added TopLevelBrowsingContrextId to the relevant messages between the embedder, the compositor and the constellation, and enforced the PipelineId to be attached to each ScriptMsg (see #17201).

I unaliased all the ScriptMsg. It was getting difficult to understand the nature of the message as ScriptMsg was used aliased CompositorMsg sometimes (CompositorMsg is an actually type of message already). I renamed constellation_chan to script_to_constellation_chan, again, for clarification.

This cleanup code is necessary for #15934 and for tabs support.

/cc @asajeffrey can I ask you to look at this? No need for a formal review, I need feedback at this stage.

Source-Repo: https://github.com/servo/servo
Source-Revision: 74558990b258cb55f230ebe8ec3fc557fd286f94

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : e254fc37d5b07b98c035873e2269f89acb3fafa0
2017-08-15 02:20:10 -05:00
..
.cargo servo: Merge #4719 - Update rustc to 00b112c45a604fa6f4b59af2a40c9deeadfdb7c6/rustc-1.0.0-dev (from servo:rustup_20150109); r=jdm 2015-01-27 18:15:50 -07:00
interfaces servo: Merge #13055 - Update Rust to 1.13.0-nightly (198713106 2016-08-26) (from servo:rustup); r=metajack 2016-08-28 07:53:33 -05:00
browser_host.rs servo: Merge #17685 - remove no-op InitializeCompositing message (from paulrouget:rm_InitializeCompositing); r=jdm 2017-07-13 07:46:32 -07:00
browser.rs servo: Merge #17425 - cleanup embedder/compositor/constellation/script messages (from paulrouget:attach-pipeline-2); r=asajeffrey 2017-08-15 02:20:10 -05:00
Cargo.toml servo: Merge #17694 - Upgrade to the latest version of WebRender (from glennw:webrender-update); r=glennw 2017-07-12 21:52:27 -07:00
command_line.rs servo: Merge #7257 - Replace uses of for foo in bar.iter(), (from jxs:master); r=Ms2ger 2015-08-18 02:46:46 -06:00
cookie.rs servo: Merge #5955 - Embedding rebase rage (from zmike:embedding-REBASE_RAGE); r=larsbergstrom 2015-05-07 14:10:29 -05:00
core.rs servo: Merge #17872 - Warning patrol (from servo:jdm-patch-1); r=KiChjang 2017-07-27 00:10:49 -05:00
drag_data.rs servo: Merge #4719 - Update rustc to 00b112c45a604fa6f4b59af2a40c9deeadfdb7c6/rustc-1.0.0-dev (from servo:rustup_20150109); r=jdm 2015-01-27 18:15:50 -07:00
eutil.rs servo: Merge #8446 - Rust upgrade to rustc 1.6.0-nightly (5b4986fa5 2015-11-08) (from servo:rustup_20151110); r=SimonSapin+Ms2ger+jdm+Manishearth 2015-11-27 10:18:00 +05:01
frame.rs servo: Merge #17425 - cleanup embedder/compositor/constellation/script messages (from paulrouget:attach-pipeline-2); r=asajeffrey 2017-08-15 02:20:10 -05:00
lib.rs servo: Merge #17694 - Upgrade to the latest version of WebRender (from glennw:webrender-update); r=glennw 2017-07-12 21:52:27 -07:00
macros.rs servo: Merge #6125 - Renderrenderrenderrender: Now for embedding! (from zmike:renderrenderrenderrender); r=larsbergstrom 2015-05-24 19:26:00 -05:00
print_settings.rs servo: Merge #4719 - Update rustc to 00b112c45a604fa6f4b59af2a40c9deeadfdb7c6/rustc-1.0.0-dev (from servo:rustup_20150109); r=jdm 2015-01-27 18:15:50 -07:00
process_message.rs servo: Merge #4719 - Update rustc to 00b112c45a604fa6f4b59af2a40c9deeadfdb7c6/rustc-1.0.0-dev (from servo:rustup_20150109); r=jdm 2015-01-27 18:15:50 -07:00
README.md servo: Merge #11817 - embedding README updates (from zmike:master); r=metajack 2016-06-21 14:15:17 -05:00
regen_interface_mod_rs.sh servo: Merge #7629 - sync cef interfaces with upstream (from zmike:THE_RETURN_OF_EMBEDDING); r=larsbergstrom 2015-09-14 14:24:18 -06:00
render_handler.rs servo: Merge #6125 - Renderrenderrenderrender: Now for embedding! (from zmike:renderrenderrenderrender); r=larsbergstrom 2015-05-24 19:26:00 -05:00
request_context.rs servo: Merge #5955 - Embedding rebase rage (from zmike:embedding-REBASE_RAGE); r=larsbergstrom 2015-05-07 14:10:29 -05:00
request.rs servo: Merge #4719 - Update rustc to 00b112c45a604fa6f4b59af2a40c9deeadfdb7c6/rustc-1.0.0-dev (from servo:rustup_20150109); r=jdm 2015-01-27 18:15:50 -07:00
response.rs servo: Merge #4719 - Update rustc to 00b112c45a604fa6f4b59af2a40c9deeadfdb7c6/rustc-1.0.0-dev (from servo:rustup_20150109); r=jdm 2015-01-27 18:15:50 -07:00
stream.rs servo: Merge #4719 - Update rustc to 00b112c45a604fa6f4b59af2a40c9deeadfdb7c6/rustc-1.0.0-dev (from servo:rustup_20150109); r=jdm 2015-01-27 18:15:50 -07:00
string_list.rs servo: Merge #14644 - Ever so slightly less unstable (from servo:ever-so-slightly-less-unstable); r=heycam 2016-12-19 22:09:02 -08:00
string_map.rs servo: Merge #8446 - Rust upgrade to rustc 1.6.0-nightly (5b4986fa5 2015-11-08) (from servo:rustup_20151110); r=SimonSapin+Ms2ger+jdm+Manishearth 2015-11-27 10:18:00 +05:01
string_multimap.rs servo: Merge #8446 - Rust upgrade to rustc 1.6.0-nightly (5b4986fa5 2015-11-08) (from servo:rustup_20151110); r=SimonSapin+Ms2ger+jdm+Manishearth 2015-11-27 10:18:00 +05:01
string.rs servo: Merge #9896 - rename deprecated utf16_units to encode_utf16 (from Swatinem:rename_utf16); r=Ms2ger 2016-03-08 06:03:43 +05:01
stubs.rs servo: Merge #16899 - Revert "Replace intrinsics::abort with process::abort" (from jdm:revertabort); r=emilio 2017-05-16 18:46:17 -05:00
switches.rs
task.rs servo: Merge #9201 - task -> thread (from ajnirp:8512-task-thread); r=jdm 2016-01-10 15:20:04 +05:01
types.rs servo: Merge #17905 - Issue 17882: Remove rendering_threads option in the CEF port (from abahmed:update_CEF_port); r=emilio 2017-07-28 08:15:05 -05:00
urlrequest.rs servo: Merge #5955 - Embedding rebase rage (from zmike:embedding-REBASE_RAGE); r=larsbergstrom 2015-05-07 14:10:29 -05:00
v8.rs servo: Merge #4756 - Fix various build warnings (from Ms2ger:warnings); r=mbrubeck 2015-01-28 13:15:53 -07:00
values.rs servo: Merge #5955 - Embedding rebase rage (from zmike:embedding-REBASE_RAGE); r=larsbergstrom 2015-05-07 14:10:29 -05:00
window.rs servo: Merge #17425 - cleanup embedder/compositor/constellation/script messages (from paulrouget:attach-pipeline-2); r=asajeffrey 2017-08-15 02:20:10 -05:00
wrappers.rs servo: Merge #14644 - Ever so slightly less unstable (from servo:ever-so-slightly-less-unstable); r=heycam 2016-12-19 22:09:02 -08:00
xml_reader.rs servo: Merge #4719 - Update rustc to 00b112c45a604fa6f4b59af2a40c9deeadfdb7c6/rustc-1.0.0-dev (from servo:rustup_20150109); r=jdm 2015-01-27 18:15:50 -07:00
zip_reader.rs servo: Merge #4719 - Update rustc to 00b112c45a604fa6f4b59af2a40c9deeadfdb7c6/rustc-1.0.0-dev (from servo:rustup_20150109); r=jdm 2015-01-27 18:15:50 -07:00

How to test:

  1. Build Servo's embedding crate (./mach build-cef [--release])
  2. Build ECEF (https://github.com/zmike/ecef)
  3. See ECEF README
  4. Enjoy CEF-powered crashes

Notes: