1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
   22
   23
   24
   25
   26
   27
   28
   29
   30
   31
   32
   33

content / test / data / back_forward_cache / page_with_broadcastchannel.html [blame]

<html>
  <title>BroadcastChannel test</title>
</html>
<script>

let channel;
let shouldCloseChannelInPageHide;
let shouldAcquireBroadcastChannelInPageHide;

function acquireBroadcastChannel() {
  channel = new BroadcastChannel('foo');
}

function setShouldCloseChannelInPageHide(close) {
  shouldCloseChannelInPageHide = close;
}

function setShouldAcquireBroadcastChannelInPageHide(acquire) {
  shouldAcquireBroadcastChannelInPageHide = acquire;
}

function setOnMessage() {}

window.onpagehide = event => {
  if (shouldCloseChannelInPageHide) {
    channel.close();
  }
  if (shouldAcquireBroadcastChannelInPageHide) {
    acquireBroadcastChannel();
  }
}

</script>