Revision 03598e505d3e3cd46ce992b3d6f358791125b04f authored by Ben Wells on 27 March 2018, 05:42:26 UTC, committed by Chromium WPT Sync on 27 March 2018, 05:42:26 UTC
This reverts commit aeecb4f32ece14a8a294e4f9b80a5bb2278091c9. Reason for revert: Causing lots of failures on webkit bots, e.g.: https://ci.chromium.org/buildbot/chromium.webkit/WebKit%20Linux%20Trusty/42143 Original change's description: > Don't adjust the NavigationTimings on redirects > > We adjust the timings in WebDocumentLoaderImpl::UpdateNavigation(), > shouldn't update in each AddRedirect() (which is called in a batch > way after all the redirects are handled in the browser process with PlzNavigate, > adjusting timings there with current timestamp is totally wrong) > > R=​ksakamoto,arthursonzogni > > Bug: 813889 > Change-Id: I3a57d3fdf1833c300feb5ee61737b64cece0946b > Reviewed-on: https://chromium-review.googlesource.com/974673 > Reviewed-by: Kunihiko Sakamoto <ksakamoto@chromium.org> > Commit-Queue: Kinuko Yasuda <kinuko@chromium.org> > Cr-Commit-Position: refs/heads/master@{#546001} TBR=kinuko@chromium.org,ksakamoto@chromium.org,arthursonzogni@chromium.org Change-Id: I467ed888084ea0eda06faa903d1797fabffc47da No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 813889 Reviewed-on: https://chromium-review.googlesource.com/981912 Reviewed-by: Ben Wells <benwells@chromium.org> Commit-Queue: Ben Wells <benwells@chromium.org> Cr-Commit-Position: refs/heads/master@{#546025}
1 parent 8ec345b
storage_enumerate.html
<!DOCTYPE HTML>
<html>
<head>
<title>WebStorage Test: Storage - enumerate and built-in properties</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<div id="log"></div>
<script>
["localStorage", "sessionStorage"].forEach(function(name) {
test(function() {
assert_true(name in window, name + " exist");
var storage = window[name];
storage.clear();
Storage.prototype.prototypeTestKey = "prototypeTestValue";
storage.foo = "bar";
storage.fu = "baz";
storage.batman = "bin suparman";
storage.bar = "foo";
storage.alpha = "beta";
storage.zeta = "gamma";
const enumeratedArray = Object.keys(storage);
enumeratedArray.sort(); // Storage order is implementation-defined.
const expectArray = ["alpha", "bar", "batman", "foo", "fu", "zeta"];
assert_array_equals(enumeratedArray, expectArray);
// 'prototypeTestKey' is not an actual storage key, it is just a
// property set on Storage's prototype object.
assert_equals(storage.length, 6);
assert_equals(storage.getItem("prototypeTestKey"), null);
assert_equals(storage.prototypeTestKey, "prototypeTestValue");
}, name + ": enumerate a Storage object and get only the keys as a result and the built-in properties of the Storage object should be ignored");
test(function() {
const storage = window[name];
storage.clear();
storage.setItem("foo", "bar");
storage.baz = "quux";
storage.setItem(0, "alpha");
storage[42] = "beta";
for (let prop in storage) {
if (!storage.hasOwnProperty(prop))
continue;
const desc = Object.getOwnPropertyDescriptor(storage, prop);
assert_true(desc.configurable);
assert_true(desc.enumerable);
assert_true(desc.writable);
}
const keys = Object.keys(storage);
keys.sort(); // Storage order is implementation-defined.
assert_array_equals(keys, ["0", "42", "baz", "foo"]);
const values = Object.values(storage);
values.sort(); // Storage order is implementation-defined.
assert_array_equals(values, ["alpha", "bar", "beta", "quux"]);
}, name + ": test enumeration of numeric and non-numeric keys");
});
</script>
</body>
</html>
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...