| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 | 'use strict';/* global WorkerGlobalScope self */var _require = require('./log'),    log = _require.log;function reloadApp(_ref, _ref2) {  var hotReload = _ref.hotReload,      hot = _ref.hot,      liveReload = _ref.liveReload;  var isUnloading = _ref2.isUnloading,      currentHash = _ref2.currentHash;  if (isUnloading || !hotReload) {    return;  }  if (hot) {    log.info('[WDS] App hot update...');    var hotEmitter = require('webpack/hot/emitter');    hotEmitter.emit('webpackHotUpdate', currentHash);    if (typeof self !== 'undefined' && self.window) {      // broadcast update to window      self.postMessage("webpackHotUpdate".concat(currentHash), '*');    }  } // allow refreshing the page only if liveReload isn't disabled  else if (liveReload) {      var rootWindow = self; // use parent window for reload (in case we're in an iframe with no valid src)      var intervalId = self.setInterval(function () {        if (rootWindow.location.protocol !== 'about:') {          // reload immediately if protocol is valid          applyReload(rootWindow, intervalId);        } else {          rootWindow = rootWindow.parent;          if (rootWindow.parent === rootWindow) {            // if parent equals current window we've reached the root which would continue forever, so trigger a reload anyways            applyReload(rootWindow, intervalId);          }        }      });    }  function applyReload(rootWindow, intervalId) {    clearInterval(intervalId);    log.info('[WDS] App updated. Reloading...');    rootWindow.location.reload();  }}module.exports = reloadApp;
 |