Binding between a layout engine and a scripting engine

US9244896B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9244896-B2
Application numberUS-201414507568-A
CountryUS
Kind codeB2
Filing dateOct 6, 2014
Priority dateMay 24, 2011
Publication dateJan 26, 2016
Grant dateJan 26, 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. One or more computer readable hardware storage devices comprising computer readable instructions which, responsive to execution by at least one processor, implement a binding module configured to enable unified programming access between a scripting engine and a layout engine, the binding module comprising: a module configured to initialize, using multiple stages, one or more types of a type system associated with the scripting engine, a first stage of the multiple stages configured to expose a definition of each type of the one or more types to the type system, a second stage of the multiple stages configured to defer full substantiation of a respective type in a memory space associated with the scripting engine until the respective type is accessed effective to reserve the memory space for active types of the type system; a module configured to bridge calls between the scripting engine and the layout engine using native access associated with the scripting engine; and a module configured to enable the layout engine to override capabilities associated with the scripting engine. 2. The one or more computer readable hardware storage device of claim 1 , the binding module further comprising: a module configured to enable dynamic modification of at least one Application Programming Interface (API) associated with the layout engine. 3. The one or more computer readable hardware storage device of claim 1 , the binding module further comprising: a module configured to enable at least one or more objects associated with the scripting engine to be transferred to at least a second scripting engine with at least some modified attributes associated with the at least one or more objects to be preserved when transferred. 4. The one or more computer readable hardware storage device of claim 1 , the binding module further comprising: a module configured to enable direct access, from the scripting engine, to one or more accessors associated with the layout engine without one or more parameters that are configured to distinguish between the one or more accessors. 5. The one or more computer readable hardware storage device of claim 1 , the binding module further comprising: a module configured to enable a read-only property associated with the layout engine to be virtually replaceable through the scripting engine. 6. The one or more computer readable hardware storage device of claim 1 , the binding module further comprising: a module configured to enable prevention of code execution based upon an evaluation of code usage. 7. The one or more computer readable hardware storage device of claim 1 , wherein the module configured to bridge calls is further configured to perform caller validation. 8. The one or more computer readable hardware storage device of claim 1 , wherein the module configured to enable the layout engine to override capabilities associated with the scripting engine is further configured to modify type operations associated with the scripting engine. 9. The one or more computer-readable memory storages devices of claim 1 , wherein the module configured to bridge calls between the scripting engine and the layout engine using native access associated with the scripting engine is further configured to access a dual nature object using a custom object that resides in the memory space associated with the scripting engine, the custom object including information that points to a backing object in a memory space associated with the layout engine. 10. A system comprising: at least one processor; and one or more computer readable storage media comprising computer readable instructions which, responsive to execution by the at least one processor, implement a binding module configured to enable unified programming access between a scripting engine and a layout engine, the binding module comprising: a module configured to initialize, using multiple stages, one or more types of a type system associated with the scripting engine, a first stage of the multiple stages configured to expose a definition of each type of the one or more types to the type system, a second stage of the multiple stages configured to defer full substantiation of a respective type in a memory space associated with the scripting engine until the respective type is accessed effective to reserve the memory space for active types of the type system; a module configured to bridge calls between the scripting engine and the layout engine using native access associated with the scripting engine; and a module configured to enable the layout engine to override capabilities associated with the scripting engine. 11. The system of claim 10 , the binding module further comprising: a module configured to enable dynamic modification of at least one Application Programming Interface (API) associated with the layout engine. 12. The system of claim 10 , the binding module further comprising: a module configured to enable at least one or more objects associated with the scripting engine to be transferred to at least a second scripting engine with at least some modified attributes associated with the at least one or more objects to be preserved when transferred. 13. The system of claim 10 , the binding module further comprising: a module configured to enable direct access, from the scripting engine, to one or more accessors associated with the layout engine without one or more parameters that are configured to distinguish between the one or more accessors. 14. The system of claim 10 , the binding module further comprising: a module configured to enable a read-only property associated with the layout engine to be virtually replaceable through the scripting engine. 15. The system of claim 10 , the binding module further comprising: a module configured to enable prevention of code execution based upon an evaluation of code usage. 16. The system of claim 10 , wherein the module configured to bridge calls is further configured to perform caller validation. 17. The system of claim 10 , wherein the module configured to enable the layout engine to override capabilities associated with the scripting engine is further configured to modify type operations associated with the scripting engine. 18. A computer-implemented method for enabling unified programming access between a scripting engine and a layout engine, the method comprising: initializing, using multiple stages, one or more types of a type system associated with the scripting engine, the initializing comprising a first stage of the multiple stages exposing a definition of each type of the one or more types to the type system, and a second stage of the multiple stages deferring full substantiation of a respective type in a memory space associated with the scripting engine until the respective type is accessed effective to reserve the memory space for active types of the type system; bridging calls between the scripting engine and the layout engine using native access associated with the scripting engine; and enabling the layout engine to override capabilities associated with the scripting engine. 19. The system of claim 10 , wherein the module configured to bridge calls between the scripting engine and the layout engine using native access associated with the scripting engine further comprises at least one scripting language wrapper function that is native to the scripting engine and configured to call into at least one bridge function, the at least one bridge function configured to marshal data bet

Assignees

Inventors

Classifications

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

  • via adapters, e.g. between incompatible applications · CPC title

  • for providing a confidential data exchange among entities communicating through data packet networks · CPC title

  • Creation or generation of source code · CPC title

  • Command shells · 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 US9244896B2 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 Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification G06F17/2247. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 26 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).