pub trait HistoryMethods {
// Required methods
fn GetLength(&self) -> Result<u32, Error>;
fn GetState(&self, cx: SafeJSContext) -> Result<JSVal, Error>;
fn Go(&self, delta: i32) -> Result<(), Error>;
fn Back(&self) -> Result<(), Error>;
fn Forward(&self) -> Result<(), Error>;
fn PushState(
&self,
cx: SafeJSContext,
data: HandleValue<'_>,
title: DOMString,
url: Option<USVString>
) -> Result<(), Error>;
fn ReplaceState(
&self,
cx: SafeJSContext,
data: HandleValue<'_>,
title: DOMString,
url: Option<USVString>
) -> Result<(), Error>;
}