IP Library Granted Patent US 9,342,386
Granted Patent B1
US 9,342,386 · App. 14/019,502 · Granted May 17, 2016

Messaging channel for web pages, extensions, and applications to communicate

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 9,342,386
App. No.
14/019,502
Granted
May 17, 2016
Kind
B1
Abstract

A web page itself, unmodified by any injected content script, may communicate with installed extensions or installed packaged applications. A web page initiates a request for a browser extension or a web application via a messaging channel provided by the web browser. A system determines if a URL of the web page matches a pattern specified by a manifest file of the browser extension or the web application, and sends the request to a browser extension or a web application if the URL of the web page matches the pattern.

Claims (38)

1. A method for mediating messages using a web browser of a computing device, the method comprising:

initiating a request for a browser extension or a web application by a web page via a messaging channel provided by the web browser, wherein the browser extension is installed in a browser executing on a local client computing device, and wherein the web application is a packaged web application, whose code is bundled for downloading to a local client computing device and for execution of the downloaded code by a browser running on the local client computing device, the request including an identifier of the browser extension or the web application;

listening, by the browser extension or the web application, for the request via the messaging channel;

determining if a URL of the web page matches a pattern specified by a manifest file of the browser extension or the web application, the browser extension and the web application each being separately packaged as an installable bundle of files including the manifest file and at least one HTML file; and

sending the request to a browser extension or a web application if the URL of the web page matches the pattern and not sending the request if the URL of the web page does not match the pattern.

2. The method of claim 1 , further comprising:

determining, by the browser extension or the web application, if the web page is one of a set of blacklisted pages; and

rejecting, by the browser extension or the web application, the request if the web page is one of the set of blacklisted pages.

3. The method of claim 1 , wherein the browser extension implements a first extension process isolated from a second process that is implemented by the web page.

4. The method of claim 1 , wherein the web application implements a first process isolated from a second process that is implemented by the web page.

5. The method of claim 1 , further comprising:

sending a response to the request from the browser extension or the web application.

6. A system comprising:

a memory; and

a processor operably coupled to the memory and configured to execute code to:

initiate a request for a browser extension or a web application by a web page via a messaging channel provided by a web browser, wherein the browser extension is installed in a browser executing on a local client computing device, and wherein the web application is a packaged web application, whose code is bundled for downloading to a local client computing device and for execution of the downloaded code by a browser running on the local client computing device, the request including an identifier of the browser extension or the web application;

listen, by the browser extension or the web application, for the request via the messaging channel;

determine if a URL of the web page matches a pattern specified by a manifest file of the browser extension or the web application, the browser extension and the web application each being separately packaged as an installable bundle of files including the manifest file and at least one HTML file; and

send the request to a browser extension or a web application if the URL of the web page matches the pattern and not sending the request if the URL of the web page does not match the pattern.

7. The system of claim 6 , the processor further configured to execute the code to:

determine, by the browser extension or the web application, if the web page is one of a set of blacklisted pages; and

reject, by the browser extension or the web application, the request if the web page is one of the set of blacklisted pages.

8. The system of claim 6 , wherein the browser extension implements a first extension process isolated from a second process that is implemented by the web page.

9. The system of claim 6 , wherein the web application implements a first process isolated from a second process that is implemented by the web page.

10. The system of claim 6 , the processor further configured to execute the code to:

send a response to the request from the browser extension or the web application.

11. A non-transitory computer-readable storage medium having instructions recorded and stored thereon, the instructions, when executed by a computing device, cause the computing device to:

initiate a request for a browser extension or a web application by a web page via a messaging channel provided by a web browser, wherein the browser extension is installed in a browser executing on a local client computing device, and wherein the web application is a packaged web application, whose code is bundled for downloading to a local client computing device and for execution of the downloaded code by a browser running on the local client computing device, the request including an identifier of the browser extension or the web application;

listen, by the browser extension or the web application, for the request via the messaging channel;

determine if a URL of the web page matches a pattern specified by a manifest file of the browser extension or the web application, the browser extension and the web application each being separately packaged as an installable bundle of files including the manifest file and at least one HTML file; and

send the request to a browser extension or a web application if the URL of the web page matches the pattern and not sending the request if the URL of the web page does not match the pattern.

12. The non-transitory computer-readable storage medium of claim 11 , wherein the instructions, when executed by the computing device, further cause the computing device to:

determine, by the browser extension or the web application, if the web page is one of a set of blacklisted pages; and

reject, by the browser extension or the web application, the request if the web page is one of the set of blacklisted pages.

13. The non-transitory computer-readable storage medium of claim 11 , wherein the browser extension implements a first extension process isolated from a second process that is implemented by the web page.

14. The non-transitory computer-readable storage medium of claim 11 , wherein the web application implements a first process isolated from a second process that is implemented by the web page.

15. The non-transitory computer-readable storage medium of claim 11 , wherein the instructions, when executed by the computing device, further cause the computing device to:

send a response to the request from the browser extension or the web application.

Assignments (2)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044566/0657 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 11, 2013
From: SARGENT, ANTONY JOHN
To: GOOGLE INC.
Reel/Frame 031184/0969 →