Memory model for a layout engine and scripting engine

US9430452B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9430452-B2
Application numberUS-201313911514-A
CountryUS
Kind codeB2
Filing dateJun 6, 2013
Priority dateJun 6, 2013
Publication dateAug 30, 2016
Grant dateAug 30, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

The invention claimed is: 1. A computer-implemented method comprising: creating at least one layout engine object in a layout engine memory space; creating a first scripting language object in a scripting engine memory space, wherein the first scripting language object is bound to the at least one layout engine object via a linkage, wherein the linkage utilizes a custom object that is configured to represent relationships between objects in the scripting engine memory space and objects in the layout engine memory space, and wherein the custom object includes one or more pointers and at least some of the one or more pointers are configured to point to other objects in the scripting engine memory space; assigning a pointer associated with a second scripting language object to a predefined pointer slot associated with the custom object; and accessing the second scripting language object using the pointer assigned to the predefined pointer slot associated with the custom object. 2. The computer-implemented method of claim 1 , wherein accessing the second scripting language object further comprises accessing the second scripting language object from the scripting engine memory space and without crossing into the layout engine memory space. 3. The computer-implemented method of claim 2 , wherein accessing the second scripting language object further comprises accessing the second scripting language object using one or more accessor functions. 4. The computer-implemented method of claim 1 , wherein assigning the second scripting language object further comprises accessng the second scripting language object as a property object associated with the first scripting language object. 5. The computer-implemented method of claim 4 , wherein the first scripting language object comprises a window object. 6. The computer-implemented method of claim 1 , wherein accessing the second scripting language object further comprises performing one or more security checks effective to determine that access to the second scripting language object is allowed. 7. The computer-implemented method of claim 6 , wherein at least one security check of the one or more security checks comprises comparing type information associated with a calling object with allowed types associated with access to the second scripting language object. 8. One or more computer-readable hardware storage memories storing one or more computer-executable instructions which, responsive to execution by at least one processor, are configured to: enable one or more Interface Definition Language (IDL) files and one or more Property Description Language (PDL) files to be created that enable one or more bindings between a Web browser's layout engine and an associated scripting engine, wherein the one or more PDL files are configured to describe one or more scripting language objects, wherein the one or more IDL files are configured to include one or more attributes associated with the one or more bindings between the Web browser's layout engine and the associated scripting engine, wherein at least one attribute of the one or more attributes is configured to annotate a number of predefined pointer slots to reserve and include in a custom object associated with a scripting language object of the one or more scripting language objects, wherein the custom object includes one or more pointers and at least some of the one or more pointers are configured to point to other objects in a scripting engine memory space associated with the associated scripting engine, and wherein at least one attribute of the one or more attributes is configured to annotate information associated with determining allowable access to a scripting language object of the one or more scripting language objects. 9. The one or more computer-readable hardware storage memories of claim 8 , wherein the at least one attribute of the one or more attributes is further configured to annotate the number of predefined pointer slots to reserve based, at least in part, on a hierarchy associated with the scripting language object of the one or more scripting language objects. 10. The one or more computer-readable hardware storage memories of claim 8 , wherein at least one attribute of the one or more attributes is configured to identify a scripting language object of the one or more scripting language objects to associate with a predefined pointer slot contained within the custom object. 11. The one or more computer-readable hardware storage memories of claim 10 , wherein the one or more computer-executable instructions are further configured to enable deferred initialization of the scripting language object of the one or more scripting language objects associated with the predefined pointer slot contained within the custom object, and wherein deferred initialization comprises initializing the scripting language object of the one or more scripting language objects when the scripting language object of the one or more scripting language objects is accessed. 12. The one or more computer-readable hardware storage memories of claim 10 , wherein the one or more bindings further comprise one or more accessor functions associated with the scripting language object of the one or more scripting language objects associated with the predefined pointer slot contained within the custom object, and wherein the one or more accessor functions are configured to call functionality within the scripting engine memory space associated with the associated scripting engine and without crossing into a layout engine memory space associated with the Web browser's layout engine. 13. A system comprising: at least one processor; and One or more computer-readable hardware storage memories storing one or more computer-executable instructions which, responsive to execution by the at least one processor, are configured to: create at least one layout engine object in a layout engine memory space; create a first scripting language object in a scripting engine memory space, wherein the first scripting language object is bound to the at least one layout engine object via a linkage, wherein the linkage utilizes a custom object that is configured to represent relationships between objects in the scripting engine memory space and objects in the layout engine memory space, and wherein the custom object includes one or more pointers and at least some of the one or more pointers are configured to point to other objects in the scripting engine memory space; assign a pointer associated with a second scripting language object to a predefined pointer slot associated with the custom object, wherein the second scripting language object comprises a property object associated with the at least one layout engine object; and access the second scripting language object using the pointer assigned to the predefined pointer slot associated with the custom object using an accessor function associated with the property object while remaining in the scripting engine memory space. 14. The system of claim 13 , wherein the accessor function comprises a getter accessor function described within the scripting engine memory space. 15. The system of claim 13 , wherein the one or more computer-executable instructions to access the second scripting language object are further configured to access the second scripting language object as a property object associated with a window object. 16. The system of claim 15 , wherein the second scripting language object comprises a document object. 17. The system of claim 13 , wherein the one or more computer-execu

Assignees

Inventors

Classifications

  • Programming languages or programming paradigms · CPC title

  • Remote procedure calls [RPC]; Web services · CPC title

  • Command shells · CPC title

  • Creation or generation of source code · CPC title

  • Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9430452B2 cover?
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 na…
Who is the assignee on this patent?
Microsoft Corp, Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06F9/548. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 30 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).