#[non_exhaustive]pub enum RemoteDebugging {
Disabled,
Port {
port: u16,
allowed_origins: Vec<String>,
},
Pipe,
}Expand description
Whether Chromium’s DevTools protocol server is reachable, and how.
This is the server behind chrome://inspect, not the DevTools window: it drives the
browser from outside the process, so anything that can reach it can read and rewrite
every page the application shows.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Disabled
No server. The runtime additionally pins Chromium’s
devtools.remote_debugging.allowed preference off, so a --remote-debugging-port
or --remote-debugging-pipe that reaches Chromium another way is refused too.
Port
Listen on a TCP port, as --remote-debugging-port does.
The port must be between 1024 and 65535; CEF ignores anything else. The port number
is also written to DevToolsActivePort in the cache directory.
Chromium accepts a WebSocket connection from localhost and from any origin named
in allowed_origins (--remote-allow-origins); leave that empty unless a browser
page has to attach.
A listening port is reachable by every process on the machine, and the protocol has
no authentication. Prefer Self::Pipe where the debugger is a child process.
Fields
Pipe
Speak the protocol over inherited file descriptors instead of a socket, as
--remote-debugging-pipe does.
Reachable only by the process that launched this one, so it exposes nothing to the rest of the machine.
Trait Implementations§
Source§impl Clone for RemoteDebugging
impl Clone for RemoteDebugging
Source§impl Debug for RemoteDebugging
impl Debug for RemoteDebugging
Source§impl Default for RemoteDebugging
impl Default for RemoteDebugging
impl Eq for RemoteDebugging
Source§impl PartialEq for RemoteDebugging
impl PartialEq for RemoteDebugging
impl StructuralPartialEq for RemoteDebugging
Auto Trait Implementations§
impl Freeze for RemoteDebugging
impl RefUnwindSafe for RemoteDebugging
impl Send for RemoteDebugging
impl Sync for RemoteDebugging
impl Unpin for RemoteDebugging
impl UnsafeUnpin for RemoteDebugging
impl UnwindSafe for RemoteDebugging
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T, U> ConvertReturnValue<U> for Twhere
T: Into<U>,
impl<T, U> ConvertReturnValue<U> for Twhere
T: Into<U>,
fn wrap_result(self) -> U
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.