chromium/third_party/blink/web_tests/external/wpt/service-workers/service-worker/resources/immutable-prototype-serviceworker.js

function prototypeChain(global) {
  let result = [];
  while (global !== null) {
    let thrown = false;
    let next = Object.getPrototypeOf(global);
    try {
      Object.setPrototypeOf(global, {});
      result.push('mutable');
    } catch (e) {
      result.push('immutable');
    }
    global = next;
  }
  return result;
}

self.onmessage = function(e) {
  e.data.postMessage(prototypeChain(self));
};