aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/navigator.rs
diff options
context:
space:
mode:
authorAttila Dusnoki <dati91@gmail.com>2016-03-02 15:00:13 +0100
committerAttila Dusnoki <dati91@gmail.com>2016-03-16 10:34:48 +0100
commite7d70cfabf5ad412045fd4088379afd1bedfaece (patch)
tree864717991d59edd654547256df45dd60f099f61b /components/script/dom/navigator.rs
parent00628704ca5f3318a4b97b7586cd17b31eabf5f6 (diff)
downloadservo-e7d70cfabf5ad412045fd4088379afd1bedfaece.tar.gz
servo-e7d70cfabf5ad412045fd4088379afd1bedfaece.zip
WebBluetooth API classes
Diffstat (limited to 'components/script/dom/navigator.rs')
-rw-r--r--components/script/dom/navigator.rs14
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()))
+ }
}