diff options
author | Ms2ger <ms2ger@gmail.com> | 2014-06-22 18:07:14 +0200 |
---|---|---|
committer | Ms2ger <ms2ger@gmail.com> | 2014-07-15 22:29:03 +0200 |
commit | 712955e96abd9606dbc69bf48d9e171c06ce1299 (patch) | |
tree | a9a7e93d5a3b48f11766dd4577bac506e6f7eb51 | |
parent | d97ec6995773ee79fbde053520bc580e7b33d15d (diff) | |
download | servo-712955e96abd9606dbc69bf48d9e171c06ce1299.tar.gz servo-712955e96abd9606dbc69bf48d9e171c06ce1299.zip |
Implement a stub Worker interface.
Part of #2811.
-rw-r--r-- | src/components/script/dom/webidls/Worker.webidl | 20 | ||||
-rw-r--r-- | src/components/script/dom/worker.rs | 31 | ||||
-rw-r--r-- | src/components/script/script.rs | 1 | ||||
-rw-r--r-- | src/test/content/test_interfaces.html | 1 |
4 files changed, 53 insertions, 0 deletions
diff --git a/src/components/script/dom/webidls/Worker.webidl b/src/components/script/dom/webidls/Worker.webidl new file mode 100644 index 00000000000..273ab8e5bfd --- /dev/null +++ b/src/components/script/dom/webidls/Worker.webidl @@ -0,0 +1,20 @@ +/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +// http://www.whatwg.org/html/#abstractworker +[NoInterfaceObject/*, Exposed=Window,Worker*/] +interface AbstractWorker { + // attribute EventHandler onerror; +}; + +// http://www.whatwg.org/html/#worker +[Constructor(DOMString scriptURL)/*, Exposed=Window,Worker*/] +interface Worker : EventTarget { + //void terminate(); + + //void postMessage(any message/*, optional sequence<Transferable> transfer*/); + // attribute EventHandler onmessage; +}; +Worker implements AbstractWorker; diff --git a/src/components/script/dom/worker.rs b/src/components/script/dom/worker.rs new file mode 100644 index 00000000000..6c79525a139 --- /dev/null +++ b/src/components/script/dom/worker.rs @@ -0,0 +1,31 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +use dom::bindings::error::{Fallible, Security}; +use dom::bindings::global::GlobalRef; +use dom::bindings::js::Temporary; +use dom::bindings::utils::{Reflectable, Reflector}; +use dom::eventtarget::EventTarget; + +use servo_util::str::DOMString; + +#[deriving(Encodable)] +pub struct Worker { + eventtarget: EventTarget, +} + +impl Worker { + pub fn Constructor(_global: &GlobalRef, _scriptURL: DOMString) -> Fallible<Temporary<Worker>> { + Err(Security) + } +} + +pub trait WorkerMethods { +} + +impl Reflectable for Worker { + fn reflector<'a>(&'a self) -> &'a Reflector { + self.eventtarget.reflector() + } +} diff --git a/src/components/script/script.rs b/src/components/script/script.rs index e5a3ab69867..48b1676a0c4 100644 --- a/src/components/script/script.rs +++ b/src/components/script/script.rs @@ -173,6 +173,7 @@ pub mod dom { pub mod validitystate; pub mod virtualmethods; pub mod window; + pub mod worker; pub mod xmlhttprequest; pub mod xmlhttprequesteventtarget; pub mod xmlhttprequestupload; diff --git a/src/test/content/test_interfaces.html b/src/test/content/test_interfaces.html index 5d851b39092..6fe71e025eb 100644 --- a/src/test/content/test_interfaces.html +++ b/src/test/content/test_interfaces.html @@ -155,6 +155,7 @@ var interfaceNamesInGlobalScope = [ "URLSearchParams", "ValidityState", "Window", + "Worker", "XMLHttpRequest", "XMLHttpRequestUpload", ]; |