diff options
author | Attila Dusnoki <dati91@gmail.com> | 2016-03-02 15:00:13 +0100 |
---|---|---|
committer | Attila Dusnoki <dati91@gmail.com> | 2016-03-16 10:34:48 +0100 |
commit | e7d70cfabf5ad412045fd4088379afd1bedfaece (patch) | |
tree | 864717991d59edd654547256df45dd60f099f61b /components/script/dom/navigator.rs | |
parent | 00628704ca5f3318a4b97b7586cd17b31eabf5f6 (diff) | |
download | servo-e7d70cfabf5ad412045fd4088379afd1bedfaece.tar.gz servo-e7d70cfabf5ad412045fd4088379afd1bedfaece.zip |
WebBluetooth API classes
Diffstat (limited to 'components/script/dom/navigator.rs')
-rw-r--r-- | components/script/dom/navigator.rs | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/components/script/dom/navigator.rs b/components/script/dom/navigator.rs index 5fa0465d361..9803b6562b6 100644 --- a/components/script/dom/navigator.rs +++ b/components/script/dom/navigator.rs @@ -5,8 +5,9 @@ use dom::bindings::codegen::Bindings::NavigatorBinding; use dom::bindings::codegen::Bindings::NavigatorBinding::NavigatorMethods; use dom::bindings::global::GlobalRef; -use dom::bindings::js::Root; -use dom::bindings::reflector::{Reflector, reflect_dom_object}; +use dom::bindings::js::{JS, MutNullableHeap, Root}; +use dom::bindings::reflector::{Reflector, Reflectable, reflect_dom_object}; +use dom::bluetooth::Bluetooth; use dom::navigatorinfo; use dom::window::Window; use util::str::DOMString; @@ -14,12 +15,14 @@ use util::str::DOMString; #[dom_struct] pub struct Navigator { reflector_: Reflector, + bluetooth: MutNullableHeap<JS<Bluetooth>>, } impl Navigator { fn new_inherited() -> Navigator { Navigator { - reflector_: Reflector::new() + reflector_: Reflector::new(), + bluetooth: Default::default(), } } @@ -65,4 +68,9 @@ impl NavigatorMethods for Navigator { fn AppVersion(&self) -> DOMString { navigatorinfo::AppVersion() } + + // https://webbluetoothcg.github.io/web-bluetooth/#dom-navigator-bluetooth + fn Bluetooth(&self) -> Root<Bluetooth> { + self.bluetooth.or_init(|| Bluetooth::new(self.global().r())) + } } |