1. A system comprising: one or more processors; one or more computer readable storage media comprising executable code, which, when executed by the one or more processors, cause the system to: enable one or more interface definition language (IDL) files to be created, the IDL files describing one or more interfaces between a Web content layout engine and a scripting engine, and the one or more IDL files including: one or more annotation/documentation attributes, one or more global object extension attributes which identify an interface to be grafted as a global object of the scripting engine and extends the global object of the scripting engine, one or more code generation attributes, and one or more API availability attributes; and the one or more IDL files being used as input to an IDL compiler which generates at least one type system initialization function to bind the content layout engine and the scripting engine and generates code configured to effect a bridge between the content layout engine and the scripting engine, wherein the one or more code generation attributes include one or more of the following attributes: attributes that can be used to control security aspects of a property and/or API; attributes that can be used to control default initialization of a property; or attributes that can be used to indicate entry points for associated code, and wherein the attributes that can be used to control default initialization of the property comprise attributes enabling configuration of the property to be locked-down, un-mutable, not enumerable, and/or not configurable.