use dom_struct::dom_struct;
use js::context::JSContext;
use script_bindings::reflector::{Reflector, reflect_dom_object_with_cx};
use crate::dom::bindings::codegen::Bindings::DissimilarOriginLocationBinding::DissimilarOriginLocationMethods;
use crate::dom::bindings::error::{Error, ErrorResult, Fallible};
use crate::dom::bindings::root::{Dom, DomRoot};
use crate::dom::bindings::str::{DOMString, USVString};
use crate::dom::dissimilaroriginwindow::DissimilarOriginWindow;
#[dom_struct]
pub(crate) struct DissimilarOriginLocation {
reflector: Reflector,
window: Dom<DissimilarOriginWindow>,
}
impl DissimilarOriginLocation {
fn new_inherited(window: &DissimilarOriginWindow) -> DissimilarOriginLocation {
DissimilarOriginLocation {
reflector: Reflector::new(),
window: Dom::from_ref(window),
}
}
pub(crate) fn new(
cx: &mut JSContext,
window: &DissimilarOriginWindow,
) -> DomRoot<DissimilarOriginLocation> {
reflect_dom_object_with_cx(
Box::new(DissimilarOriginLocation::new_inherited(window)),
window,
cx,
)
}
}
impl DissimilarOriginLocationMethods<crate::DomTypeHolder> for DissimilarOriginLocation {
fn GetHref(&self) -> Fallible<USVString> {
Err(Error::Security(None))
}
fn SetHref(&self, _: USVString) -> ErrorResult {
Err(Error::Security(None))
}
fn Assign(&self, _: USVString) -> Fallible<()> {
Err(Error::Security(None))
}
fn Replace(&self, _: USVString) -> Fallible<()> {
Err(Error::Security(None))
}
fn Reload(&self) -> Fallible<()> {
Err(Error::Security(None))
}
fn Stringifier(&self) -> Fallible<DOMString> {
Err(Error::Security(None))
}
}