web: Fail gracefully if LocalStorage is unavailable (fix #1590)
This commit is contained in:
parent
2d463629e2
commit
d13a95eafa
|
@ -282,13 +282,15 @@ impl Ruffle {
|
||||||
|
|
||||||
let current_domain = window.location().href().unwrap();
|
let current_domain = window.location().href().unwrap();
|
||||||
|
|
||||||
let local_storage = window
|
let local_storage = match window.local_storage() {
|
||||||
.local_storage()
|
Ok(Some(s)) => {
|
||||||
.unwrap()
|
|
||||||
.map(|s| {
|
|
||||||
Box::new(LocalStorageBackend::new(s, current_domain)) as Box<dyn StorageBackend>
|
Box::new(LocalStorageBackend::new(s, current_domain)) as Box<dyn StorageBackend>
|
||||||
})
|
}
|
||||||
.unwrap_or_else(|| Box::new(MemoryStorageBackend::default()));
|
err => {
|
||||||
|
log::warn!("Unable to use localStorage: {:?}\nData will not save.", err);
|
||||||
|
Box::new(MemoryStorageBackend::default())
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
let trace_observer = Arc::new(RefCell::new(JsValue::UNDEFINED));
|
let trace_observer = Arc::new(RefCell::new(JsValue::UNDEFINED));
|
||||||
let log = Box::new(WebLogBackend::new(trace_observer.clone()));
|
let log = Box::new(WebLogBackend::new(trace_observer.clone()));
|
||||||
|
|
Loading…
Reference in New Issue