chromium/chrome/test/data/web_apps/test_utils.js

// Copyright 2021 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

function addManifestLinkTag(optionalCustomUrl) {
  const url = new URL(window.location.href);
  let manifestUrl = url.searchParams.get('manifest');
  if (!manifestUrl) {
    manifestUrl = optionalCustomUrl || 'basic.json';
  }

  var linkTag = document.createElement("link");
  linkTag.id = "manifest";
  linkTag.rel = "manifest";
  linkTag.href = `./${manifestUrl}`;
  document.head.append(linkTag);

  setWindowControlsOverlayGeometryChange(document.title);
}

function startWorker(worker, options) {
  navigator.serviceWorker.register(worker, options);
}

// For this to work, the linked manifest.json must contain
// "display_override": ["window-controls-overlay"].
function setWindowControlsOverlayGeometryChange(siteTitle) {
  document.title = siteTitle;
  if (navigator.windowControlsOverlay) {
    navigator.windowControlsOverlay.ongeometrychange = (e) => {
      document.title =
        navigator.windowControlsOverlay.visible
          ? siteTitle + ": WCO Enabled"
          : siteTitle;
    }
  }
}