Browser Process Intermediary for Sandboxed Webview Communication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In a sandboxed, multi-process browser environment, embedded web pages cannot communicate directly with their embedder pages, limiting the ability to send events and render content effectively, as they run as independent processes to maintain security and isolation.

Innovation Solution

A method where the browser process acts as an intermediary, generating a mapping between renderer processes and using inter-process communication to facilitate event handling and display data transfer between embedder and guest processes, allowing for seamless integration and rendering of embedded web pages without compromising sandbox security.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If embedded web pages run as independent sandboxed processes, then security and isolation are improved, but communication and event handling between embedder and guest pages deteriorate

Engineering Contradiction:
Improvesecurity and isolationVSAvoidcommunication and event handling
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent introduces the browser process as an intermediary between the embedder renderer process and guest renderer process. The browser process receives events from the embedder, determines whether they are destined for the guest, and forwards them appropriately. This mediator approach maintains the sandboxed isolation of child processes while enabling necessary communication through the parent browser process.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If direct communication channels are established between embedder and guest processes, then event handling efficiency is improved, but sandbox security and process isolation deteriorate

Engineering Contradiction:
Improveevent handling efficiencyVSAvoidsandbox security and process isolation
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The browser process serves as a mandatory intermediary that all communication between embedder and guest processes must pass through. Events are sent from the embedder to the browser process, which then determines the appropriate routing to the guest process. This ensures that direct communication channels are not established, maintaining sandbox security while still enabling event handling through the controlled intermediary path.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9070211B1Webview tag for a sandboxed multiprocess browser
Publication Date: 2015.06.30 GOOGLE LLC
  • US9070211B1 patent drawing
  • US9070211B1 patent drawing
  • US9070211B1 patent drawing

AI summary

A computer-implemented method executed by at least one processor performs operations for a web browser running a browser process and at least one renderer process on a computing system. The method includes identifying a webview tag in a web page, the web page being associated with the at least one renderer process. The method also includes forking another renderer process responsive to identifying the webview tag, generating a mapping between the at least one renderer process and the other renderer process at the browser process, and using the browser process as an intermediary for communications between the at least one renderer process and the another renderer process based on the mapping.