Confirmed users, Bureaucrats and Sysops emeriti
419
edits
No edit summary |
No edit summary |
||
| Line 39: | Line 39: | ||
Let origin(s) = (s matches 'scheme://hostpart') || unknown. | Let origin(s) = (s matches 'scheme://hostpart') || unknown. | ||
Let | Let pseudo(s) = (!s || matches 'about:' || s matches 'data:' || s matches('javascript:'). | ||
Let global() = stack.top().global | Let global() = stack.top().global. | ||
Let subject() = stack.top().subject | Let subject() = stack.top().subject. | ||
Let | Let urlPrincipal(s) = pseudo(s) ? subject() : origin(s). | ||
Let open(s) = new Window(null, s, urlPrincipal(s), global()). | |||
Let principal(x) = (x is Window) ? x.principal : principal(x.parent). | Let principal(x) = (x is Window) ? x.principal : principal(x.parent). | ||
Let access(o) = principal(o) <= (stack[0] ^ ... ^ stack.top()). | Let access(o) = principal(o) <= (stack[0] ^ ... ^ stack.top()). | ||