Interface definition language extensions
First Claim
1. A computer program product comprising one or more computer-readable storage memories comprising code which, when executed by one or more processors, cause the processors 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, wherein extending the global object of the scripting engine, comprises enabling existence of alternate forms of extended IDL file to support different global objects;
one or more code generation attributes, andone or more API availability attributes;
receive one or more Property Description Language (PDL) files defining the web content layout engine programming objects and associated APIs and defining one or more dispatch objects to enable communication with the scripting engine;
the one or more IDL files and the one or more Property Description Language (PDL) 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.
2 Assignments
0 Petitions
Accused Products
Abstract
Various embodiments provide an interface between a Web browser'"'"'s layout engine and a scripting engine. The interface enables objects from the layout engine to be recognized by a memory manager in the scripting engine and interact in a streamlined, efficient manner. In accordance with one or more embodiments, the interface allows browser layout engine objects to be created as objects that are native to the scripting engine. Alternately or additionally, in some embodiments, the native objects are further configured to proxy functionality between the layout engine and the scripting engine.
158 Citations
18 Claims
-
1. A computer program product comprising one or more computer-readable storage memories comprising code which, when executed by one or more processors, cause the processors 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, wherein extending the global object of the scripting engine, comprises enabling existence of alternate forms of extended IDL file to support different global objects; one or more code generation attributes, and one or more API availability attributes; receive one or more Property Description Language (PDL) files defining the web content layout engine programming objects and associated APIs and defining one or more dispatch objects to enable communication with the scripting engine; the one or more IDL files and the one or more Property Description Language (PDL) 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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system comprising:
-
one or more processor; one or more computer readable storage memories comprising instructions which, when executed by the one or more processors, cause the processors to instantiate a compiler configured to; receive one or more Property Description Language (PDL) files, each PDL file defining one or more layout engine programming objects and associated APIs and defining one or more dispatch objects which enable a scripting engine to lookup and obtain objects from a layout engine object through dynamic binding; receive at least one Interface Definition Language (IDL) file that includes alternate descriptions of at least some of the APIs and objects included in the PDL files and one or more global object extension attributes which identify an interface to be grafted as a global object of the scripting engine and extend the global object of the scripting engine, wherein extending the global object of the scripting engine, comprises enabling existence of alternate forms of extended IDL file to support different global object; and process the PDL files and the at least one IDL file to produce a source code file comprising one or more trampoline functions, produce a header file comprising trampoline definitions, and produce a type system initialization file comprising per type initialization functions which bind the layout engine and the scripting engine, the trampoline functions, trampoline definitions, and per type initialization functions configured to enable integration between a Web browser'"'"'s layout engine and scripting engine. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A computer implemented method comprising:
-
receiving one or more Property Description Language (PDL) files, each PDL file defining one or more layout engine programming objects and associated APIs and defining one or more dispatch objects which enable a scripting engine to lookup and obtain objects from a layout engine object through dynamic binding; receiving at least one Interface Definition Language (IDL) file that includes alternate descriptions of at least some of the APIs and objects included in the PDL files, the alternate descriptions including one or more of the following attributes; 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, wherein extending the global object of the scripting engine, comprises enabling existence of alternate forms of extended IDL file to support different global object; one or more code generation attributes, and one or more API availability attributes; processing the PDL and IDL files to generate a source code file comprising one or more trampoline functions, generate an associated header file comprising trampoline definitions referring to the trampoline functions of the source code file, and generate a type system initialization file comprising at least one type system initialization function to bind the scripting engine and the layout engine and generate code configured to effect a bridge between the content layout engine and the scripting engine. - View Dependent Claims (16, 17, 18)
-
Specification