Memory Model for a Layout Engine and Scripting Engine

US2016335233A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016335233-A1
Application numberUS-201615220033-A
CountryUS
Kind codeA1
Filing dateJul 26, 2016
Priority dateJun 6, 2013
Publication dateNov 17, 2016
Grant date

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).

1 . A computing device comprising: at least one processor; memory coupled to the at least one processor; a web browser that includes a layout engine and a scripting engine; a first memory space within the memory that forms a first domain in which the computing device is configured to execute the layout engine; a second memory space within the memory that forms a second domain that is separate from the first domain and in which the computing device is configured to execute the scripting engine; and the layout engine and the scripting engine configured for securely communicating with each other across the first domain and the second domain via a first object and a second object, the first object in the first memory space and native to the layout engine, the first object bound to a corresponding second object in the second memory space and native to the scripting engine. 2 . The computing device of claim 1 where the securely communicating comprises the layout engine and the scripting engine calling functionality within each other across the first domain and the second domain. 3 . The computing device of claim 1 where the securely communicating comprises redirecting a call, based on a direct call by the scripting engine to the second object in the second memory space and native to the scripting engine, from the second object in the second memory space and native to the scripting engine into the first object in the first memory space and native to the layout engine. 4 . The computing device of claim 1 where the securely communicating is via a bridge function interposed between the layout engine and the scripting engine. 5 . The computing device of claim 4 where the second object in the second memory space and native to the scripting engine and the first object in the first memory space and native to the layout engine are bound together via an access link provided via the bridge function. 6 . The computing device of claim 4 where the bridge function is configured to validate calling objects including the first object and the second object, where a validated calling object has a correct calling type. 7 . The computing device of claim 4 where the bridge function is configured to be wrapped by a native function of the scripting engine. 8 . A method performed on a computing device comprising at least one processor and memory, the method comprising: first executing, by the computing device, a layout engine in a first domain formed in a first memory space within the memory; second executing, by the computing device, a scripting engine in a second domain formed second memory space within the memory; and securely communicating, by the layout engine and the scripting engine with each other, across the first domain and the second domain via a first object and a second object, the first object in the first memory space and native to the layout engine, the first object bound to a corresponding second object in the second memory space and native to the scripting engine. 9 . The method of claim 8 where the securely communicating comprises the layout engine and the scripting engine calling functionality within each other across the first domain and the second domain. 10 . The method of claim 8 where the securely communicating comprises redirecting a call, based on a direct call by the scripting engine to the second object in the second memory space and native to the scripting engine, from the second object in the second memory space and native to the scripting engine into the first object in the first memory space and native to the layout engine. 11 . The method of claim 8 where the securely communicating is via a bridge function interposed between the layout engine and the scripting engine. 12 . The method of claim 11 where the second object in the second memory space and native to the scripting engine and the first object in the first memory space and native to the layout engine are bound together via an access link provided via the bridge function. 13 . The method of claim 11 where the bridge function is configured to validate calling objects including the first object and the second object, where a validated calling object has a correct calling type. 14 . The method of claim 11 where the bridge function is configured to be wrapped by a native function of the scripting engine. 15 . At least one hardware computer-readable medium that includes computer-executable instructions that, based on execution by at least one processor of a computing device that further comprises memory, configure the computing device to perform actions comprising: first executing, by the computing device, a layout engine in a first domain formed in a first memory space within the memory; second executing, by the computing device, a scripting engine in a second domain formed second memory space within the memory; and securely communicating, by the layout engine and the scripting engine with each other, across the first domain and the second domain via a first object and a second object, the first object in the first memory space and native to the layout engine, the first object bound to a corresponding second object in the second memory space and native to the scripting engine. 16 . The method of claim 15 where the securely communicating comprises the layout engine and the scripting engine calling functionality within each other across the first domain and the second domain. 17 . The method of claim 15 where the securely communicating comprises redirecting a call, based on a direct call by the scripting engine to the second object in the second memory space and native to the scripting engine, from the second object in the second memory space and native to the scripting engine into the first object in the first memory space and native to the layout engine. 18 . The method of claim 15 where the securely communicating is via a bridge function interposed between the layout engine and the scripting engine. 19 . The method of claim 18 where the second object in the second memory space and native to the scripting engine and the first object in the first memory space and native to the layout engine are bound together via an access link provided via the bridge function. 20 . The method of claim 18 where the bridge function is configured to validate calling objects including the first object and the second object, where a validated calling object has a correct calling type, or where the bridge function is configured to be wrapped by a native function of the scripting engine.

Assignees

Inventors

Classifications

  • Creation or generation of source code · CPC title

  • Programming languages or programming paradigms · CPC title

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

  • Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation · 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 US2016335233A1 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 Thu Nov 17 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).