Fixing bug with Firefox extension content scripts (#2099)

This commit is contained in:
Pauan
2020-04-22 16:12:14 +02:00
committed by GitHub
parent 3c40492fa3
commit a93b778b5c

View File

@ -4747,9 +4747,11 @@ pub fn global() -> Object {
fn get_global() -> Result<Object, JsValue>; fn get_global() -> Result<Object, JsValue>;
} }
let static_object = Global::get_global_this() // The order is important: in Firefox Extension Content Scripts `globalThis`
.or_else(|_| Global::get_self()) // is a Sandbox (not Window), so `globalThis` must be checked after `window`.
let static_object = Global::get_self()
.or_else(|_| Global::get_window()) .or_else(|_| Global::get_window())
.or_else(|_| Global::get_global_this())
.or_else(|_| Global::get_global()); .or_else(|_| Global::get_global());
if let Ok(obj) = static_object { if let Ok(obj) = static_object {
if !obj.is_undefined() { if !obj.is_undefined() {