<!DOCTYPE html>
<html>

<head>
  <meta charset="utf-8">
  <meta name="variant" , content="?pipe=gzip">
  <title>contentEncoding in navigation timing</title>
  <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
  <link rel="help" href="http://www.w3.org/TR/navigation-timing/#sec-navigation-timing-interface" />
  <script src="/resources/testharness.js"></script>
  <script src="/resources/testharnessreport.js"></script>

  <script>
    async_test(function (t) {
      var observer = new PerformanceObserver(
        t.step_func(function (entryList) {
          assert_equals(entryList.getEntries()[0].contentEncoding, "gzip",
            "Expected contentEncoding to be gzip.");
          observer.disconnect();
          t.done();
        })
      );
      observer.observe({ entryTypes: ["navigation"] });

    }, "contentEncoding should be gzip.");
  </script>
</head>

<body>
  <h1>
    Description</h1>
  <p>
    This test validates that when a html is compressed with gzip, navigation timing reports contentEncoding as gzip</p>
</body>

</html>
