pub(crate) trait BaseCommand {
// Required method
fn execute(
&self,
cx: &mut JSContext,
document: &Document,
selection: &Selection,
value: DOMString,
) -> bool;
// Provided methods
fn is_indeterminate(&self) -> bool { ... }
fn current_state(&self, _document: &Document) -> Option<bool> { ... }
fn current_value(&self, _document: &Document) -> Option<DOMString> { ... }
}