use dom_struct::dom_struct;
use js::context::JSContext;
use script_bindings::codegen::GenericBindings::DocumentBinding::DocumentMethods;
use script_bindings::codegen::GenericBindings::HTMLDocumentBinding::HTMLDocumentMethods;
use script_bindings::root::DomRoot;
use script_bindings::str::DOMString;
use crate::dom::bindings::codegen::Bindings::DocumentBinding::NamedPropertyValue;
use crate::dom::types::{Document, Location};
#[dom_struct]
pub(crate) struct HTMLDocument {
document: Document,
}
impl HTMLDocumentMethods<crate::DomTypeHolder> for HTMLDocument {
fn GetLocation(&self, cx: &mut JSContext) -> Option<DomRoot<Location>> {
self.document.GetLocation(cx)
}
fn SupportedPropertyNames(&self) -> Vec<DOMString> {
self.document.SupportedPropertyNames()
}
fn NamedGetter(
&self,
cx: &mut js::context::JSContext,
name: DOMString,
) -> Option<NamedPropertyValue> {
self.document.NamedGetter(cx, name)
}
}