Security:Strawman Model: Difference between revisions

Line 105: Line 105:
Let urlPrincipal(s) = pseudo(s) ? subject() : origin(s).
Let urlPrincipal(s) = pseudo(s) ? subject() : origin(s).


Let open(s) = load(new Window(urlString(s), urlPrincipal(s), global()), s).
Let parse(w, s) = parse string s in scope of w according to the Grammar.
 
Let load(w, s) = stack.push({global:w, subject:w.principal}),
                w.location = urlString(s),
                parse(w, fetch(w, w.location))
                stack.pop()
 
Let open(s) = load(new Window('about:blank', urlPrincipal(s), global()), s).


Let principal(x) = (x is Window) ? x.principal : principal(x.parent).
Let principal(x) = (x is Window) ? x.principal : principal(x.parent).
Confirmed users, Bureaucrats and Sysops emeriti
419

edits