Flow DiagramEdit this page on GitHub

  • Opener/Parent tab(P) opens up a new Child tab(C).
  • C initiates a handshake with the P tab by sending a postMessage.
  • P acknowledges the request and sends C it's identity i.e. UUID along with P information.
  • This sets up a communication channel between Parent and Child tab.
  • Now, P and C can share custom messages with each other.
  • Whenever C gets closed/refreshed, P is notified.
  • Whenever P is closed/refreshed, all children of P tab gets notified.

Explanation of diagram

  • Parent(P) opens CHild tab(C1) at t=1.
  • c1a - When C1 initiates a handshake with the Parent.
  • P1 - When P receives C1 message.
  • P2 - P acknowledges the request and sends the C1 its identity.
  • c1b - When C1 receives acknowledgemnet message along with identity from P.

Total Tabs Associated: 1 | Opened Tabs: 1 | Closed Tabs: 0


  • Parent(P) opens CHild tab(C2) at t=10.
  • c2a - When C2 initiates a handshake with the Parent.
  • P3 - When P receives C2 message.
  • P4 - P acknowledges the request and sends the C2 its identity.
  • c2b - When C2 receives acknowledgemnet message along with identity from P.

Total Tabs Associated: 2 | Opened Tabs: 2 | Closed Tabs: 0


  • c1c - Tab C1 closes.
  • P5 - P is notified about the C1. Parent updates the list.

Total Tabs Associated: 2 | Opened Tabs: 1 | Closed Tabs: 1


  • Parent(P) opens CHild tab(C3) at t=25.
  • c3a - When C3 initiates a handshake with the Parent.
  • P6 - When P receives C3 message.
  • c2c - Tab C2 sends a custom message.
  • P7 - When P receives a message from tab C2. It processes it.
  • P8 - P acknowledges the request and sends the C3 its identity.
  • c3b - When C3 receives acknowledgemnet message along with identity from P.

Total Tabs Associated: 3 | Opened Tabs: 2 | Closed Tabs: 1


  • When Parent Tab P is closed, all the opened tabs are notified about it.