Security:Strawman Model: Difference between revisions

Line 13: Line 13:
Object    = record {parent:Object}          // record with parent field
Object    = record {parent:Object}          // record with parent field


Document  = record {parent:Object,
Document  = record {children:Array = [],
                     children:Array = []}
                     parent:Object = null}
             where appendChild(c) = (c.parent = this, this.children.push(c))
             where appendChild(c) = (c.parent = this, this.children.push(c))


Link      = record {parent:Object = null,
Link      = record {href:String,
                     href:String,
                     text:String,
                     text:String}
                     parent:Object = null}


Button    = record {parent:Object = null,
Button    = record {onclick:String,
                     onclick:String,
                     text:String,
                     text:String}
                     parent:Object = null}


IFrame    = record {parent:Object = null,
IFrame    = record {src:String,
                     src:String,
                     content:Window = null,
                     content:Window = null}
                     parent:Object = null}


Script    = record {parent:Object = null,
Script    = record {content:String,
                    content:String}
                    parent:Object = null}


Window    = record {parent:Object = null,
Window    = record {location:String,
                    location:String,
                     principal:Principal = urlPrincipal(location),
                     principal:Principal = urlPrincipal(location),
                     opener:Window = null,
                     opener:Window = null,
                     document:Document = null}
                     document:Document = null,
                    parent:Object = null}
</pre>
</pre>


Confirmed users, Bureaucrats and Sysops emeriti
419

edits