title: Navigation Timing API events not firing in order
body: <p>I'm using the Navigation Timing API to get load events from a page. I've added the snippet of JS below to output the information. One thing I noticed that was strange was that the <code>loadEventEnd</code> time came back sooner than the <code>loadEventStart</code> time when I check the console. I would think that shouldn't be possible.</p>
  
  <pre><code>var startTime = new Date().getTime();
  // retrieve the performance object in a cross browser way. Check window.performance first.
  window.performance = window.performance || window.mozPerformance || window.msPerformance || window.webkitPerformance || {};
  var timing = window.performance.timing || {};
  var navigation = window.performance.navigation || {};
  
  // if the Navigation Timing API is supported
  if (window.performance &amp;&amp; window.performance.timing) {
      pageRequestStart = timing.requestStart;
      pageResponseStart = timing.responseStart;
      pageResponseEnd = timing.responseEnd;
      pageLoadEventStart = timing.loadEventStart;
      pageLoadEventEnd = timing.loadEventEnd;
      pageLoadTime = timing.navigationStart;
  }
  var timingOutput =
      "requestStart: " + pageRequestStart + "\n"
      + "responseStart: " + pageResponseStart + "\n"
      + "responseEnd: " + pageResponseEnd + "\n"
      + "loadEventStart: " + pageLoadEventStart + "\n"
      + "loadEventEnd: " + pageLoadEventEnd + "\n"
      + "navigationStart: " + pageLoadTime;
  console.log(timingOutput);
  </code></pre>