IP Library Granted Patent US 8,924,943
Granted Patent B2
US 8,924,943 · App. 12/505,411 · Granted Dec 30, 2014

Browser emulator system

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,924,943
App. No.
12/505,411
Granted
Dec 30, 2014
Kind
B2
Abstract

A browser emulator is provided. An example browser emulator system includes a communications module to receive requests for web pages from a browser application, a document object model (DOM) interceptor to intercept an initial document object model (DOM) provided by the web application, an activator to activate a browser emulator, and a DOM manipulator to generate a modified DOM. A marked-up document that corresponds to the modified DOM includes an event interceptor that replaces JavaScript code associated with the original DOM provided by the web application.

Claims (54)

1. A computer-implemented system comprising:

a communications module to receive, using at least one processor, a request for a web page;

a document object model (DOM) interceptor to intercept, using at least one processor, an original document object model (DOM) provided by a web application in response to the request;

an activator to activate, using at least one processor, a browser emulator, the browser emulator being a Java runtime configured to execute JavaScript code;

a DOM manipulator to extract JavaScript code from the original DOM and to replace, using at least one processor, JavaScript code in the original DOM with an event interceptor to produce a modified DOM, the modified DOM corresponding to the requested web page, the event interceptor to facilitate communications over a specialized communications channel between a browser application that renders the web page and the browser emulator; and

the browser emulator to:

receive a request issued by the event interceptor loaded in the browser application, and

commence executing the JavaScript code extracted from the original DOM.

2. The system of claim 1 , wherein the communications module is to:

generate the requested web page corresponding to the modified DOM; and

provide the web page to the browser application.

3. The system of claim 1 , wherein the browser emulator is to:

receive an event from the browser application that renders the web page via the specialized communications channel;

execute JavaScript code associated with the event; and

propagate a result of the execution of the JavaScript code associated with the event to the browser application.

4. The system of claim 3 , wherein the browser emulator is to update the modified DOM in response to the execution of the JavaScript code associated with the event.

5. The system of claim 3 , wherein the event is associated with a user action.

6. The system of claim 5 , wherein the result of the execution of the JavaScript code associated with the event is associated with a visual presentation of the web page.

7. The system of claim 1 , wherein the browser emulator is in communication with a debugging module, the browser emulator to provide data associated with execution of the JavaScript code to the debugging module.

8. The system of claim 1 , wherein the browser emulator is provided as part of an integrated development environment.

9. The system of claim 1 , wherein the browser emulator and the browser application that renders the web page are provided on the same hardware.

10. The system of claim 1 , wherein the event interceptor is provided according to a type of the browser application that renders the web page.

11. A computer-implemented method comprising:

using one or more processors to perform at least some of operations of:

receiving a request for a web page;

intercepting an original document object model (DOM) provided by a web application in response to the request;

activating a browser emulator, the browser emulator being a Javaruntime configured to execute JavaScript code;

extracting JavaScript code from the original DOM;

replacing JavaScript code in the original DOM with an event interceptor to produce a modified DOM, the modified DOM corresponding to the requested web page, the event interceptor to facilitate communications over a specialized communications channel between a browser application that renders the web page and the browser emulator;

loading the event interceptor in the browser application;

receiving a request issued by the event interceptor loaded in the browser application; and commencing executing the JavaScript code extracted from the original DOM.

12. The method of claim 11 , comprising:

generating the requested web page corresponding to the modified DOM; and

providing the web page to the browser application.

13. The method of claim 11 , comprising:

receiving an event from the browser application that renders the web page via the specialized communications channel;

executing JavaScript code associated with the event; and

propagating a result of the execution of the JavaScript code associated with the event to the browser application.

14. The method of claim 13 , comprising updating the modified DOM in response to the executing of the JavaScript code associated with the event.

15. The method of claim 13 , wherein the event is associated with a user action.

16. The method of claim 15 , wherein the result of the executing of the JavaScript code associated with the event is associated with a visual presentation of the web page.

17. The method of claim 13 , comprising providing data associated with the executing of the JavaScript code to a debugging module.

18. The method of claim 13 , wherein the executing of the JavaScript code is performed in an integrated development environment.

19. The method of claim 11 , comprising:

determining a vendor-specific type of the browser application; and

replacing the JavaScript code in the original DOM with the event interceptor based on the vendor-specific type of the browser application.

20. A machine-readable non-transitory storage medium having instruction data to cause a machine to perform operations comprising:

receive a request for a web page;

intercept an original document object model (DOM) provided by a web application in response to the request;

activate a browser emulator, the browser emulator being a Java runtime configured to execute JavaScript code;

extract JavaScript code from the original DOM;

replace JavaScript code in the original DOM with an event interceptor to produce a modified DOM, the modified DOM corresponding to the requested web page, the event interceptor to facilitate communications over a specialized communications channel between a browser application that readers the we page and the browser emulator;

load the event interceptor in the browser application;

receive a request issued by the event interceptor loaded in the browser application; and commence executing the JavaScript code extracted from the original DOM.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 23, 2015
From: EBAY INC.
To: PAYPAL, INC.
Reel/Frame 036169/0680 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 19, 2009
From: WANG, PEI; YAO, YITAO; PALAIMA, MARK P.; ZARIV, HOMAYOUN; BHOGI, RAJASEKHAR
To: EBAY INC.
Reel/Frame 023120/0685 →