diff --git a/Cargo.lock b/Cargo.lock index 098934e8a07..6310ecbcf70 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -345,7 +345,16 @@ dependencies = [ "block-padding", "byte-tools", "byteorder", - "generic-array", + "generic-array 0.12.3", +] + +[[package]] +name = "block-buffer" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" +dependencies = [ + "generic-array 0.14.4", ] [[package]] @@ -853,7 +862,6 @@ dependencies = [ "canvas_traits", "compositing", "crossbeam-channel", - "debugger", "devtools_traits", "embedder_traits", "euclid", @@ -1023,6 +1031,12 @@ dependencies = [ "libc", ] +[[package]] +name = "cpuid-bool" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8aebca1129a03dc6dc2b127edd729435bbc4a37e1d5f4d7513165089ceb02634" + [[package]] name = "crc32fast" version = "1.2.0" @@ -1202,15 +1216,6 @@ dependencies = [ "libdbus-sys", ] -[[package]] -name = "debugger" -version = "0.0.1" -dependencies = [ - "crossbeam-channel", - "log", - "ws", -] - [[package]] name = "deflate" version = "0.7.20" @@ -1323,7 +1328,16 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5" dependencies = [ - "generic-array", + "generic-array 0.12.3", +] + +[[package]] +name = "digest" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" +dependencies = [ + "generic-array 0.14.4", ] [[package]] @@ -1823,6 +1837,16 @@ dependencies = [ "typenum", ] +[[package]] +name = "generic-array" +version = "0.14.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "501466ecc8a30d1d3b7fc9229b122b2ce8ed6e9d9223f1138d4babb253e51817" +dependencies = [ + "typenum", + "version_check", +] + [[package]] name = "getopts" version = "0.2.17" @@ -2510,7 +2534,7 @@ dependencies = [ "headers-core", "http 0.1.21", "mime", - "sha-1", + "sha-1 0.8.2", "time", ] @@ -3189,7 +3213,6 @@ dependencies = [ "compositing", "constellation", "crossbeam-channel", - "debugger", "devtools", "devtools_traits", "embedder_traits", @@ -4011,6 +4034,12 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "51ecbcb821e1bd256d456fe858aaa7f380b63863eab2eb86eee1bd9f33dd6682" +[[package]] +name = "opaque-debug" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" + [[package]] name = "openssl" version = "0.10.30" @@ -5458,10 +5487,23 @@ version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f7d94d0bede923b3cea61f3f1ff57ff8cdfd77b400fb8f9998949e0cf04163df" dependencies = [ - "block-buffer", - "digest", + "block-buffer 0.7.3", + "digest 0.8.1", "fake-simd", - "opaque-debug", + "opaque-debug 0.2.1", +] + +[[package]] +name = "sha-1" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "170a36ea86c864a3f16dd2687712dd6646f7019f301e57537c7f4dc9f5916770" +dependencies = [ + "block-buffer 0.9.0", + "cfg-if", + "cpuid-bool", + "digest 0.9.0", + "opaque-debug 0.3.0", ] [[package]] @@ -5470,10 +5512,10 @@ version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "27044adfd2e1f077f649f59deb9490d3941d674002f7d062870a60ebe9bd47a0" dependencies = [ - "block-buffer", - "digest", + "block-buffer 0.7.3", + "digest 0.8.1", "fake-simd", - "opaque-debug", + "opaque-debug 0.2.1", ] [[package]] @@ -6391,9 +6433,9 @@ checksum = "e604eb7b43c06650e854be16a2a03155743d3752dd1c943f6829e26b7a36e382" [[package]] name = "tungstenite" -version = "0.11.0" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a5c7d464221cb0b538a1cd12f6d9127ed1e6bb7f3ffca98fb3cd4c6e3af8175c" +checksum = "f0308d80d86700c5878b9ef6321f020f29b1bb9d5ff3cab25e75e23f3a492a23" dependencies = [ "base64 0.12.0", "byteorder", @@ -6404,7 +6446,7 @@ dependencies = [ "log", "native-tls", "rand", - "sha-1", + "sha-1 0.9.1", "url", "utf-8", ] @@ -7082,7 +7124,7 @@ dependencies = [ "mio", "mio-extras", "rand", - "sha-1", + "sha-1 0.8.2", "slab", "url", ] diff --git a/components/config/opts.rs b/components/config/opts.rs index c5ca6907bee..8228336bae8 100644 --- a/components/config/opts.rs +++ b/components/config/opts.rs @@ -108,10 +108,6 @@ pub struct Opts { /// Periodically print out on which events script threads spend their processing time. pub profile_script_events: bool, - /// `None` to disable debugger or `Some` with a port number to start a server to listen to - /// remote Firefox debugger connections. - pub debugger_port: Option, - /// Port number to start a server to listen to remote Firefox devtools connections. /// 0 for random port. pub devtools_port: u16, @@ -484,7 +480,6 @@ pub fn default_opts() -> Opts { enable_subpixel_text_antialiasing: true, enable_canvas_antialiasing: true, trace_layout: false, - debugger_port: None, devtools_port: 0, devtools_server_enabled: false, webdriver_port: None, @@ -589,12 +584,6 @@ pub fn from_cmdline_args(mut opts: Options, args: &[String]) -> ArgumentParsingR "soft-fail", "Display about:failure on thread failure instead of exiting", ); - opts.optflagopt( - "", - "remote-debugging-port", - "Start remote debugger server on port", - "2794", - ); opts.optflagopt("", "devtools", "Start remote devtools server on port", "0"); opts.optflagopt( "", @@ -795,17 +784,6 @@ pub fn from_cmdline_args(mut opts: Options, args: &[String]) -> ArgumentParsingR bubble_inline_sizes_separately = true; } - let debugger_port = opt_match - .opt_default("remote-debugging-port", "2794") - .map(|port| { - port.parse().unwrap_or_else(|err| { - args_fail(&format!( - "Error parsing option: --remote-debugging-port ({})", - err - )) - }) - }); - let (devtools_enabled, devtools_port) = if opt_match.opt_present("devtools") { let port = opt_match .opt_str("devtools") @@ -887,7 +865,6 @@ pub fn from_cmdline_args(mut opts: Options, args: &[String]) -> ArgumentParsingR bubble_inline_sizes_separately: bubble_inline_sizes_separately, profile_script_events: debug_options.profile_script_events, trace_layout: debug_options.trace_layout, - debugger_port: debugger_port, devtools_port: devtools_port, devtools_server_enabled: devtools_enabled, webdriver_port: webdriver_port, diff --git a/components/constellation/Cargo.toml b/components/constellation/Cargo.toml index 29fbccd66d3..2bb5bf03b95 100644 --- a/components/constellation/Cargo.toml +++ b/components/constellation/Cargo.toml @@ -17,7 +17,6 @@ bluetooth_traits = { path = "../bluetooth_traits" } canvas_traits = { path = "../canvas_traits" } compositing = { path = "../compositing" } crossbeam-channel = "0.4" -debugger = { path = "../debugger" } devtools_traits = { path = "../devtools_traits" } embedder_traits = { path = "../embedder_traits" } euclid = "0.20" diff --git a/components/constellation/constellation.rs b/components/constellation/constellation.rs index a9b114fa7bd..5dbacfb939f 100644 --- a/components/constellation/constellation.rs +++ b/components/constellation/constellation.rs @@ -50,7 +50,7 @@ //! * The font cache, image cache, and resource manager, which load //! and cache shared fonts, images, or other resources. //! * The service worker manager. -//! * The devtools, debugger and webdriver servers. +//! * The devtools and webdriver servers. //! //! The constellation passes messages between the threads, and updates its state //! to track the evolving state of the browsing context tree. @@ -356,10 +356,6 @@ pub struct Constellation { /// cache thread. font_cache_thread: FontCacheThread, - /// A channel for the constellation to send messages to the - /// debugger thread. - debugger_chan: Option, - /// A channel for the constellation to send messages to the /// devtools thread. devtools_chan: Option>, @@ -526,9 +522,6 @@ pub struct InitialConstellationState { /// A channel through which messages can be sent to the compositor. pub compositor_proxy: CompositorProxy, - /// A channel to the debugger, if applicable. - pub debugger_chan: Option, - /// A channel to the developer tools, if applicable. pub devtools_chan: Option>, @@ -872,7 +865,6 @@ where compositor_proxy: state.compositor_proxy, active_browser_id: None, browsers: HashMap::new(), - debugger_chan: state.debugger_chan, devtools_chan: state.devtools_chan, bluetooth_thread: state.bluetooth_thread, public_resource_threads: state.public_resource_threads, @@ -2739,10 +2731,6 @@ where warn!("Exit resource thread failed ({})", e); } - if let Some(ref chan) = self.debugger_chan { - debugger::shutdown_server(chan); - } - if let Some(ref chan) = self.devtools_chan { debug!("Exiting devtools."); let msg = DevtoolsControlMsg::FromChrome(ChromeToDevtoolsControlMsg::ServerExitMsg); diff --git a/components/debugger/Cargo.toml b/components/debugger/Cargo.toml deleted file mode 100644 index 41f9714f41b..00000000000 --- a/components/debugger/Cargo.toml +++ /dev/null @@ -1,17 +0,0 @@ -[package] -name = "debugger" -version = "0.0.1" -authors = ["The Servo Project Developers"] -license = "MPL-2.0" -edition = "2018" -publish = false - -[lib] -name = "debugger" -path = "lib.rs" -crate_type = ["rlib"] - -[dependencies] -crossbeam-channel = "0.4" -log = "0.4" -ws = "0.9" diff --git a/components/debugger/lib.rs b/components/debugger/lib.rs deleted file mode 100644 index b26c843b0aa..00000000000 --- a/components/debugger/lib.rs +++ /dev/null @@ -1,71 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ - -#[macro_use] -extern crate log; - -use std::thread; -use ws::{self, Builder, CloseCode, Handler, Handshake}; - -enum Message { - ShutdownServer, -} - -pub struct Sender(crossbeam_channel::Sender); - -struct Connection { - sender: ws::Sender, -} - -impl Handler for Connection { - fn on_open(&mut self, _: Handshake) -> ws::Result<()> { - debug!("Connection opened."); - Ok(()) - } - - fn on_close(&mut self, _: CloseCode, _: &str) { - debug!("Connection closed."); - } - - fn on_message(&mut self, message: ws::Message) -> ws::Result<()> { - self.sender.send(message) - } -} - -pub fn start_server(port: u16) -> Sender { - debug!("Starting server."); - let (sender, receiver) = crossbeam_channel::unbounded(); - thread::Builder::new() - .name("debugger".to_owned()) - .spawn(move || { - let socket = Builder::new() - .build(|sender: ws::Sender| Connection { sender: sender }) - .unwrap(); - let sender = socket.broadcaster(); - thread::Builder::new() - .name("debugger-websocket".to_owned()) - .spawn(move || { - socket.listen(("127.0.0.1", port)).unwrap(); - }) - .expect("Thread spawning failed"); - while let Ok(message) = receiver.recv() { - match message { - Message::ShutdownServer => { - break; - }, - } - } - sender.shutdown().unwrap(); - }) - .expect("Thread spawning failed"); - Sender(sender) -} - -pub fn shutdown_server(sender: &Sender) { - debug!("Shutting down server."); - let &Sender(ref sender) = sender; - if let Err(_) = sender.send(Message::ShutdownServer) { - warn!("Failed to shut down server."); - } -} diff --git a/components/servo/Cargo.toml b/components/servo/Cargo.toml index 3b653fcac84..15aff372673 100644 --- a/components/servo/Cargo.toml +++ b/components/servo/Cargo.toml @@ -46,7 +46,6 @@ canvas_traits = { path = "../canvas_traits" } compositing = { path = "../compositing", features = ["gl"] } constellation = { path = "../constellation" } crossbeam-channel = "0.4" -debugger = { path = "../debugger" } devtools = { path = "../devtools" } devtools_traits = { path = "../devtools_traits" } embedder_traits = { path = "../embedder_traits" } diff --git a/components/servo/lib.rs b/components/servo/lib.rs index 09e6a3ef078..b6a0499f15d 100644 --- a/components/servo/lib.rs +++ b/components/servo/lib.rs @@ -27,7 +27,6 @@ pub use canvas; pub use canvas_traits; pub use compositing; pub use constellation; -pub use debugger; pub use devtools; pub use devtools_traits; pub use embedder_traits; @@ -354,8 +353,6 @@ where ); let mem_profiler_chan = profile_mem::Profiler::create(opts.mem_profiler_period); - let debugger_chan = opts.debugger_port.map(|port| debugger::start_server(port)); - let devtools_chan = if opts.devtools_server_enabled { Some(devtools::start_server( opts.devtools_port, @@ -500,7 +497,6 @@ where compositor_proxy.clone(), time_profiler_chan.clone(), mem_profiler_chan.clone(), - debugger_chan, devtools_chan, webrender_document, webrender_api_sender, @@ -857,7 +853,6 @@ fn create_constellation( compositor_proxy: CompositorProxy, time_profiler_chan: time::ProfilerChan, mem_profiler_chan: mem::ProfilerChan, - debugger_chan: Option, devtools_chan: Option>, webrender_document: webrender_api::DocumentId, webrender_api_sender: webrender_api::RenderApiSender, @@ -899,7 +894,6 @@ fn create_constellation( let initial_state = InitialConstellationState { compositor_proxy, embedder_proxy, - debugger_chan, devtools_chan, bluetooth_thread, font_cache_thread, diff --git a/servo-tidy.toml b/servo-tidy.toml index bdd97b77799..0a5db6203fc 100644 --- a/servo-tidy.toml +++ b/servo-tidy.toml @@ -67,6 +67,13 @@ packages = [ "core-graphics", "core-text", "lyon_geom", + + # Duplicated by webrender debugger via ws + "digest", + "generic-array", + "opaque-debug", + "sha-1", + "block-buffer", ] # Files that are ignored for all tidy and lint checks. files = [