<!DOCTYPE html>
<meta charset="utf-8"/>
<meta name="referrer" content="origin">
<script>
async function onLoad() {
  // Step 6 and Nested Step 9:
  // wpt/web-locks/partitioned-web-locks.tentative.https.html
  self.addEventListener('message', evt => {
    if (self.opener)
      self.opener.postMessage(evt.data, '*');
    else
      self.top.postMessage(evt.data, '*');
  }, { once: true });

  // Step 3 and Nested Step 3:
  // wpt/web-locks/partitioned-web-locks.tentative.https.html
  const params = new URLSearchParams(self.location.search);
  const frame = document.createElement('iframe');
  frame.src = params.get('target');
  document.body.appendChild(frame);

  // Step 4 and Nested Step 4:
  // wpt/web-locks/partitioned-web-locks.tentative.https.html
  frame.addEventListener('load', function(){
    frame.contentWindow.postMessage({op: 'request',
        name: 'testLock', ifAvailable: true}, '*');
  });
}
self.addEventListener('load', onLoad);
</script>
