Web resource load blocking API

US11258866B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11258866-B2
Application numberUS-202016791624-A
CountryUS
Kind codeB2
Filing dateFeb 14, 2020
Priority dateJun 5, 2015
Publication dateFeb 22, 2022
Grant dateFeb 22, 2022

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.

In various embodiments described herein, a content extension and programming interface enable third-party content extensions to supply transformation and filtering actions and associated criteria to native web clients on a system. In one embodiment, the native web client loads data for a third-party content filtering, blocking, or transformation extension and conducts extension defined actions without requiring additional intermediation by the third-party content. In one embodiment, a third-party application downloaded to a mobile or handheld device can include an extension data object that provides actions and triggers that are loaded by a native web client of the system. The third-party application is not required to execute continuously and can exit or be terminated once the web client retrieves the extension data object.

First claim

Opening claim text (preview).

What is claimed is: 1. A non-transitory computer readable medium storing instructions which, when executed by one or more processors of a data processing system, cause the one or more processors to perform operations comprising: requesting a web content filter extension via a content extension programming interface; receiving a data object in response to the request, the data object including one or more actions, each action having zero or more triggers; compiling the data object into a compiled data object; storing the compiled data object in memory; creating a virtual memory object backed by the compiled data object; and mapping the virtual memory object into a virtual memory address space of a web content process associated with a web client, the web content process to perform the one or more actions defined in the data object. 2. The medium as in claim 1 , wherein requesting the web content filter extension includes requesting the web content filter extension from a third-party application, the third-party application to provide the data object in response to the request and terminate execution after providing the data object. 3. The medium as in claim 2 , wherein requesting the web content filter extension is performed in response to a system-wide request to enable extensions on the data processing system. 4. The medium as in claim 1 , wherein receiving the data object in response to the request includes receiving JavaScript Object Notation (JSON) data including the one or more actions and associated triggers. 5. The medium as in claim 1 , wherein compiling the data object into the compiled data object includes compiling the data object into interpreted bytecode. 6. The medium as in claim 1 , wherein storing the compiled data object in the memory includes storing the compiled data object to a file system on a non-volatile memory device. 7. The medium as in claim 1 , wherein the web content process is a web content engine of the web client, the web content engine to load and process web content for the web client, and wherein the client is a native web client of the data processing system. 8. The medium as in claim 7 , further comprising: mapping the compiled data object into the virtual memory address space of each web content process of the web client; and passing a web content resource locator to at least one web content process. 9. The medium as in claim 8 , further comprising: applying the one or more actions to the web content resource locator based on the zero or more triggers associated with each of the one or more actions, the one or more actions including at least one of blocking loading of web content, blocking a setting or reading of a web cookie associated with the web content, whitelisting web content, injecting a style sheet rule. 10. A data processing system comprising: one or more processors coupled to memory, the one or more processors to execute instructions from the memory, the instructions to cause the one or more processors to perform operations for a plurality of processes including: a web client process to request a web content filter extension, receive a content extension filter object in response to the request, compile the content extension filter object into a compiled content extension filter object, and cause the compiled content extension object to be stored in memory as a compiled data object, create a virtual memory object backed by the compiled data object, the virtual memory object mapped to a virtual memory address space of a web client process associated with the web client; and one or more web content processes to load web content on behalf of the web client process, the one or more web content processes having access to the virtual memory address of the compiled content extension filter object, wherein the one or more web content processes are to compare web content resources to one or more triggers and apply one or more actions to the web content based on a comparison. 11. The system as in claim 10 , wherein the compiled content extension object is bytecode that is interpreted by a byte code interpreter on behalf of the one or more web content processes. 12. The system as in claim 10 , wherein the web client process is associated with a WebKit-based web client. 13. The system as in claim 10 , wherein each of the one or more web content processes has read-only access to the virtual memory address of the compiled content extension filter object. 14. The system as in claim 10 , wherein the one or more actions applied to the web content processes include to block load of web content, block load of a web cookie associated with the web content, whitelist web content, inject a style sheet rule into the web content, and block tracking by a provider of the web content. 15. The system as in claim 10 , wherein the content extension filter object includes JavaScript Object Notation (JSON) data.

Assignees

Inventors

Classifications

  • H04L67/51Primary

    Discovery or management thereof, e.g. service location protocol [SLP] or web services · CPC title

  • H04L67/16Primary

    Electricity · mapped topic

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 US11258866B2 cover?
In various embodiments described herein, a content extension and programming interface enable third-party content extensions to supply transformation and filtering actions and associated criteria to native web clients on a system. In one embodiment, the native web client loads data for a third-party content filtering, blocking, or transformation extension and conducts extension defined actions …
Who is the assignee on this patent?
Apple Inc
What technology area does this patent fall under?
Primary CPC classification H04L67/51. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Feb 22 2022 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).