mirror of
https://github.com/servo/servo.git
synced 2025-08-03 04:30:10 +01:00
Auto merge of #20702 - servo:window-mixins, r=SimonSapin,nox
Implement WindowOrWorkerGlobalScope.origin This is needed for the next WPT sync. <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/20702) <!-- Reviewable:end -->
This commit is contained in:
commit
b4c86d3eba
191 changed files with 4808 additions and 1988 deletions
|
@ -75,28 +75,6 @@ Window implements WindowEventHandlers;
|
|||
[NoInterfaceObject]
|
||||
interface WindowProxy {};
|
||||
|
||||
// https://html.spec.whatwg.org/multipage/#timers
|
||||
[NoInterfaceObject, Exposed=(Window,Worker)]
|
||||
interface WindowTimers {
|
||||
long setTimeout(Function handler, optional long timeout = 0, any... arguments);
|
||||
long setTimeout(DOMString handler, optional long timeout = 0, any... arguments);
|
||||
void clearTimeout(optional long handle = 0);
|
||||
long setInterval(Function handler, optional long timeout = 0, any... arguments);
|
||||
long setInterval(DOMString handler, optional long timeout = 0, any... arguments);
|
||||
void clearInterval(optional long handle = 0);
|
||||
};
|
||||
Window implements WindowTimers;
|
||||
|
||||
// https://html.spec.whatwg.org/multipage/#atob
|
||||
[NoInterfaceObject, Exposed=(Window,Worker)]
|
||||
interface WindowBase64 {
|
||||
[Throws]
|
||||
DOMString btoa(DOMString btoa);
|
||||
[Throws]
|
||||
DOMString atob(DOMString atob);
|
||||
};
|
||||
Window implements WindowBase64;
|
||||
|
||||
// https://html.spec.whatwg.org/multipage/#Window-partial
|
||||
partial interface Window {
|
||||
void captureEvents();
|
||||
|
|
|
@ -4,21 +4,26 @@
|
|||
|
||||
// https://html.spec.whatwg.org/multipage/#windoworworkerglobalscope
|
||||
|
||||
// FIXME(nox): https://github.com/servo/servo/issues/20700
|
||||
// typedef (DOMString or Function) TimerHandler;
|
||||
|
||||
[NoInterfaceObject, Exposed=(Window,Worker)]
|
||||
interface WindowOrWorkerGlobalScope {
|
||||
// [Replaceable] readonly attribute USVString origin;
|
||||
[Replaceable] readonly attribute USVString origin;
|
||||
|
||||
// base64 utility methods
|
||||
// DOMString btoa(DOMString data);
|
||||
// DOMString atob(DOMString data);
|
||||
[Throws] DOMString btoa(DOMString data);
|
||||
[Throws] DOMString atob(DOMString data);
|
||||
|
||||
// timers
|
||||
// long setTimeout(TimerHandler handler, optional long timeout = 0, any... arguments);
|
||||
// void clearTimeout(optional long handle = 0);
|
||||
// long setInterval(TimerHandler handler, optional long timeout = 0, any... arguments);
|
||||
// void clearInterval(optional long handle = 0);
|
||||
// FIXME(nox): https://github.com/servo/servo/issues/20700
|
||||
long setTimeout(Function handler, optional long timeout = 0, any... arguments);
|
||||
long setTimeout(DOMString handler, optional long timeout = 0, any... arguments);
|
||||
void clearTimeout(optional long handle = 0);
|
||||
// FIXME(nox): https://github.com/servo/servo/issues/20700
|
||||
long setInterval(Function handler, optional long timeout = 0, any... arguments);
|
||||
long setInterval(DOMString handler, optional long timeout = 0, any... arguments);
|
||||
void clearInterval(optional long handle = 0);
|
||||
|
||||
// ImageBitmap
|
||||
// Promise<ImageBitmap> createImageBitmap(ImageBitmapSource image, optional ImageBitmapOptions options);
|
||||
|
|
|
@ -22,5 +22,3 @@ partial interface WorkerGlobalScope { // not obsolete
|
|||
void importScripts(DOMString... urls);
|
||||
readonly attribute WorkerNavigator navigator;
|
||||
};
|
||||
WorkerGlobalScope implements WindowTimers;
|
||||
WorkerGlobalScope implements WindowBase64;
|
||||
|
|
|
@ -22,7 +22,7 @@ use dom::bindings::num::Finite;
|
|||
use dom::bindings::refcounted::Trusted;
|
||||
use dom::bindings::reflector::DomObject;
|
||||
use dom::bindings::root::{Dom, DomRoot, MutNullableDom};
|
||||
use dom::bindings::str::DOMString;
|
||||
use dom::bindings::str::{DOMString, USVString};
|
||||
use dom::bindings::structuredclone::StructuredCloneData;
|
||||
use dom::bindings::trace::RootedTraceableBox;
|
||||
use dom::bindings::utils::{GlobalStaticData, WindowProxyHandler};
|
||||
|
@ -1038,6 +1038,11 @@ impl WindowMethods for Window {
|
|||
fn Name(&self) -> DOMString {
|
||||
self.window_proxy().get_name()
|
||||
}
|
||||
|
||||
// https://html.spec.whatwg.org/multipage/#dom-origin
|
||||
fn Origin(&self) -> USVString {
|
||||
USVString(self.origin().immutable().ascii_serialization())
|
||||
}
|
||||
}
|
||||
|
||||
impl Window {
|
||||
|
|
|
@ -12,7 +12,7 @@ use dom::bindings::inheritance::Castable;
|
|||
use dom::bindings::reflector::DomObject;
|
||||
use dom::bindings::root::{DomRoot, MutNullableDom};
|
||||
use dom::bindings::settings_stack::AutoEntryScript;
|
||||
use dom::bindings::str::DOMString;
|
||||
use dom::bindings::str::{DOMString, USVString};
|
||||
use dom::bindings::trace::RootedTraceableBox;
|
||||
use dom::crypto::Crypto;
|
||||
use dom::dedicatedworkerglobalscope::DedicatedWorkerGlobalScope;
|
||||
|
@ -328,6 +328,11 @@ impl WorkerGlobalScopeMethods for WorkerGlobalScope {
|
|||
self.navigation_start_precise)
|
||||
})
|
||||
}
|
||||
|
||||
// https://html.spec.whatwg.org/multipage/#dom-origin
|
||||
fn Origin(&self) -> USVString {
|
||||
USVString(self.upcast::<GlobalScope>().origin().immutable().ascii_serialization())
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue