// Grab a lock, then query the lock manager for state to
      // determine this client's id according to the lock manager.
      await navigator.locks.request('lock-name', async lock => {
        const lock_state = await navigator.locks.query();
        const held_lock = lock_state.held.filter(l => l.name === lock.name)[0];
        window.parent.postMessage(held_lock.clientId, '*');
      });
      return;
    }

    window.parent.postMessage(`unknown request: ${event.data}`, '*');
  } catch (ex) {
    // 