Cross-Origin Frame Communication via Hub Mediator
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current web browsers face challenges in implementing cross-origin communication between frames, particularly when enforcing a same origin security policy, which restricts program code interaction between frames from different origins, making it difficult to provide integrated functionality in graphical user interfaces (GUI) desktop environments.
Innovation Solution
A cross-domain communication mechanism is established through a hub that acts as a message broker, allowing frames from different origins to communicate by using a subscribe and publish scheme, with tools like EasyXDM facilitating cross-origin communication, enabling frames to share messages, actions, and variables while managing application states and enforcing access permissions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a same origin security policy is enforced between frames, then security against malicious code is improved, but communication capability between frames from different origins deteriorates
Solution Approach 1:
A hub frame is introduced as an intermediary component that all application frames must communicate with. The hub acts as a trusted mediator that receives messages from applications, validates them against security policies, and routes them to appropriate destinations. This allows secure cross-origin communication by centralizing security enforcement in the hub rather than requiring direct trust between all frame pairs.
2Adaptability or versatility
If direct cross-origin communication channels are established between all frame pairs, then communication flexibility is improved, but system complexity and security management deteriorate
Solution Approach 1:
The communication system is segmented into two distinct layers: application frames that generate messages, and a central hub that manages message routing. Instead of implementing complex peer-to-peer communication logic in each frame, the system divides responsibilities by having applications focus on message production while the hub handles routing, validation, and distribution. This segmentation simplifies individual frame implementation while maintaining overall system flexibility.
3Adaptability or versatility
If multiple cross-origin communication channels are established for each application, then communication capability is improved, but the number of communication channels and implementation complexity increases
Solution Approach 1:
The hub frame serves multiple functions simultaneously: it acts as a message broker, security validator, routing engine, and communication manager for all application frames. By implementing a universal hub that handles all communication needs, the system eliminates the need for separate dedicated communication channels between each frame pair. The hub's multi-functionality reduces the total number of communication channels from O(n²) potential frame-to-frame channels to just n channels from each frame to the hub.
Data Source
AI summary
There is provided a method and apparatus of providing communication between frames of a web browser which is arranged to enforce a same origin security policy for communication between frames. The method comprises, receiving a hub document of a hub origin into a hub frame of the web browser. Receiving a first application document of a first application origin into a first application frame of the web browser, the first application origin being different to the hub origin. Communicating between the hub document and the first application document within the web browser using a cross origin communication mechanism.


