function allowAutoBootstrap(document) {
  if (!document.currentScript) {
    return true;
  }
  var src = document.currentScript.getAttribute('src');
  var link = document.createElement('a');
  link.href = src;
  var scriptProtocol = link.protocol;
  var docLoadProtocol = document.location.protocol;
  if ((scriptProtocol === 'resource:' ||
       scriptProtocol === 'chrome-extension:') &&
      docLoadProtocol !== scriptProtocol) {
    return false;
  }
  return true;
}
The software constructs all or part of a command, data structure, or record using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify how it is parsed or interpreted when it is sent to a downstream component.