diff options
author | Javier Rueda <leofigueres@yahoo.com> | 2017-02-09 15:28:12 +0100 |
---|---|---|
committer | Javier Rueda <leofigueres@yahoo.com> | 2017-02-09 15:34:24 +0100 |
commit | 1aeca9c2557752153d2ba8a790c1611ee8ca7309 (patch) | |
tree | 1c1c011b02d8f24e0fafb6bba4f0abf19aad93b7 | |
parent | f7e75fd0012b9a063718f56e5aab093dde40d42f (diff) | |
download | servo-1aeca9c2557752153d2ba8a790c1611ee8ca7309.tar.gz servo-1aeca9c2557752153d2ba8a790c1611ee8ca7309.zip |
Only expose Storage/StorageEvent in Window
-rw-r--r-- | components/script/dom/storage.rs | 6 | ||||
-rw-r--r-- | components/script/dom/storageevent.rs | 5 | ||||
-rw-r--r-- | components/script/dom/webidls/Storage.webidl | 2 | ||||
-rw-r--r-- | components/script/dom/webidls/StorageEvent.webidl | 2 | ||||
-rw-r--r-- | components/script/dom/window.rs | 4 | ||||
-rw-r--r-- | tests/wpt/mozilla/meta/MANIFEST.json | 2 | ||||
-rw-r--r-- | tests/wpt/mozilla/tests/mozilla/interfaces.worker.js | 2 |
7 files changed, 10 insertions, 13 deletions
diff --git a/components/script/dom/storage.rs b/components/script/dom/storage.rs index 45966a687a8..605a862951b 100644 --- a/components/script/dom/storage.rs +++ b/components/script/dom/storage.rs @@ -11,8 +11,8 @@ use dom::bindings::refcounted::Trusted; use dom::bindings::reflector::{DomObject, Reflector, reflect_dom_object}; use dom::bindings::str::DOMString; use dom::event::{Event, EventBubbles, EventCancelable}; -use dom::globalscope::GlobalScope; use dom::storageevent::StorageEvent; +use dom::window::Window; use ipc_channel::ipc::{self, IpcSender}; use net_traits::IpcSend; use net_traits::storage_thread::{StorageThreadMsg, StorageType}; @@ -35,7 +35,7 @@ impl Storage { } } - pub fn new(global: &GlobalScope, storage_type: StorageType) -> Root<Storage> { + pub fn new(global: &Window, storage_type: StorageType) -> Root<Storage> { reflect_dom_object(box Storage::new_inherited(storage_type), global, StorageBinding::Wrap) } @@ -196,7 +196,7 @@ impl Runnable for StorageEventRunnable { let window = global.as_window(); let storage_event = StorageEvent::new( - &global, + &window, atom!("storage"), EventBubbles::DoesNotBubble, EventCancelable::NotCancelable, this.key.map(DOMString::from), this.old_value.map(DOMString::from), this.new_value.map(DOMString::from), diff --git a/components/script/dom/storageevent.rs b/components/script/dom/storageevent.rs index 9778976dc0f..ff2d6bb8aaf 100644 --- a/components/script/dom/storageevent.rs +++ b/components/script/dom/storageevent.rs @@ -11,7 +11,6 @@ use dom::bindings::js::{MutNullableJS, Root, RootedReference}; use dom::bindings::reflector::reflect_dom_object; use dom::bindings::str::DOMString; use dom::event::{Event, EventBubbles, EventCancelable}; -use dom::globalscope::GlobalScope; use dom::storage::Storage; use dom::window::Window; use servo_atoms::Atom; @@ -50,7 +49,7 @@ impl StorageEvent { StorageEventBinding::Wrap) } - pub fn new(global: &GlobalScope, + pub fn new(global: &Window, type_: Atom, bubbles: EventBubbles, cancelable: EventCancelable, @@ -70,7 +69,7 @@ impl StorageEvent { ev } - pub fn Constructor(global: &GlobalScope, + pub fn Constructor(global: &Window, type_: DOMString, init: &StorageEventBinding::StorageEventInit) -> Fallible<Root<StorageEvent>> { let key = init.key.clone(); diff --git a/components/script/dom/webidls/Storage.webidl b/components/script/dom/webidls/Storage.webidl index 3e2c0b78b4a..ba04dceee3e 100644 --- a/components/script/dom/webidls/Storage.webidl +++ b/components/script/dom/webidls/Storage.webidl @@ -7,7 +7,7 @@ * */ -[Exposed=(Window,Worker)] +[Exposed=Window] interface Storage { readonly attribute unsigned long length; diff --git a/components/script/dom/webidls/StorageEvent.webidl b/components/script/dom/webidls/StorageEvent.webidl index 16b21951884..e838bc9480a 100644 --- a/components/script/dom/webidls/StorageEvent.webidl +++ b/components/script/dom/webidls/StorageEvent.webidl @@ -9,7 +9,7 @@ * Event sent to a window when a storage area changes. */ -[Constructor(DOMString type, optional StorageEventInit eventInitDict), Exposed=(Window,Worker)] +[Constructor(DOMString type, optional StorageEventInit eventInitDict), Exposed=Window] interface StorageEvent : Event { readonly attribute DOMString? key; readonly attribute DOMString? oldValue; diff --git a/components/script/dom/window.rs b/components/script/dom/window.rs index f1834de260d..fe9bab6a5e6 100644 --- a/components/script/dom/window.rs +++ b/components/script/dom/window.rs @@ -469,12 +469,12 @@ impl WindowMethods for Window { // https://html.spec.whatwg.org/multipage/#dom-sessionstorage fn SessionStorage(&self) -> Root<Storage> { - self.session_storage.or_init(|| Storage::new(self.upcast(), StorageType::Session)) + self.session_storage.or_init(|| Storage::new(self, StorageType::Session)) } // https://html.spec.whatwg.org/multipage/#dom-localstorage fn LocalStorage(&self) -> Root<Storage> { - self.local_storage.or_init(|| Storage::new(self.upcast(), StorageType::Local)) + self.local_storage.or_init(|| Storage::new(self, StorageType::Local)) } // https://dvcs.w3.org/hg/webcrypto-api/raw-file/tip/spec/Overview.html#dfn-GlobalCrypto diff --git a/tests/wpt/mozilla/meta/MANIFEST.json b/tests/wpt/mozilla/meta/MANIFEST.json index aca38c42228..625ba20f9c8 100644 --- a/tests/wpt/mozilla/meta/MANIFEST.json +++ b/tests/wpt/mozilla/meta/MANIFEST.json @@ -25645,7 +25645,7 @@ "support" ], "mozilla/interfaces.worker.js": [ - "3fbec39bafa473f0eeb7af3461f38151856bf362", + "9b3a3c96ec539bb323a0def92c747996deaa7331", "testharness" ], "mozilla/iterable.html": [ diff --git a/tests/wpt/mozilla/tests/mozilla/interfaces.worker.js b/tests/wpt/mozilla/tests/mozilla/interfaces.worker.js index 7e889ad0937..780200349de 100644 --- a/tests/wpt/mozilla/tests/mozilla/interfaces.worker.js +++ b/tests/wpt/mozilla/tests/mozilla/interfaces.worker.js @@ -37,8 +37,6 @@ test_interfaces([ "ProgressEvent", "Request", "Response", - "Storage", - "StorageEvent", "TextDecoder", "TextEncoder", "URL", |