Revision be26c4f22f52f4c488d8e9d586db50eea2428a10 authored by Jim Evans on 15 March 2018, 21:21:56 UTC, committed by Jim Evans on 15 March 2018, 21:21:56 UTC
For the domain attribute of a returned cookie, if the attribute value
conatains a domain with a single dot ('.'), some user agents prepend a
leading dot onto the beginning of the attribute value. This is consistent
with RFC 2965. Some user agents expressly omit the leading dot, which is
consistent with the later RFC 6265. This commit allows both values as the
returned value of the domain attribute.
1 parent 750cfaf
Raw File
po-entries-sort.any.js
// META: script=performanceobservers.js

  async_test(function (t) {
    var stored_entries = [];
    var stored_entries_by_type = [];
    var observer = new PerformanceObserver(
        t.step_func(function (entryList, obs) {

          stored_entries = entryList.getEntries();
          stored_entries_by_type = entryList.getEntriesByType("mark");
          stored_entries_by_name = entryList.getEntriesByName("name-repeat");
          var startTimeOfMark2 = entryList.getEntriesByName("mark2")[0].startTime;

          checkSorted(stored_entries);
          checkEntries(stored_entries, [
            {entryType: "measure", name: "measure1"},
            {entryType: "measure", name: "measure2"},
            {entryType: "measure", name: "measure3"},
            {entryType: "measure", name: "name-repeat"},
            {entryType: "mark", name: "mark1"},
            {entryType: "mark", name: "mark2"},
            {entryType: "measure", name: "measure-matching-mark2-1"},
            {entryType: "measure", name: "measure-matching-mark2-2"},
            {entryType: "mark", name: "name-repeat"},
            {entryType: "mark", name: "name-repeat"},
          ]);

          checkSorted(stored_entries_by_type);
          checkEntries(stored_entries_by_type, [
            {entryType: "mark", name: "mark1"},
            {entryType: "mark", name: "mark2"},
            {entryType: "mark", name: "name-repeat"},
            {entryType: "mark", name: "name-repeat"},
          ]);

          checkSorted(stored_entries_by_name);
          checkEntries(stored_entries_by_name, [
            {entryType: "measure", name: "name-repeat"},
            {entryType: "mark", name: "name-repeat"},
            {entryType: "mark", name: "name-repeat"},
          ]);

          observer.disconnect();
          t.done();
        })
      );

    observer.observe({entryTypes: ["mark", "measure"]});

    self.performance.mark("mark1");
    self.performance.measure("measure1");
    wait(); // Ensure mark1 !== mark2 startTime by making sure performance.now advances.
    self.performance.mark("mark2");
    self.performance.measure("measure2");
    self.performance.measure("measure-matching-mark2-1", "mark2");
    wait(); // Ensure mark2 !== mark3 startTime by making sure performance.now advances.
    self.performance.mark("name-repeat");
    self.performance.measure("measure3");
    self.performance.measure("measure-matching-mark2-2", "mark2");
    wait(); // Ensure name-repeat startTime will differ.
    self.performance.mark("name-repeat");
    wait(); // Ensure name-repeat startTime will differ.
    self.performance.measure("name-repeat");
  }, "getEntries, getEntriesByType, getEntriesByName sort order");
back to top