commit | 950f7f23ed5a060b0af65f914230f46eee858c01 | [log] [tgz] |
---|---|---|
author | Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> | Mon Oct 02 20:04:10 2017 |
committer | Commit Bot <commit-bot@chromium.org> | Mon Oct 02 20:04:10 2017 |
tree | a5f946f8f95d437ea45507965af63edece683764 | |
parent | b7a2616cce819b0d9eefc6af199918da865fef3d [diff] |
Storage.idl: Drop [NotEnumerable], remove anonymous getter/setter/deleter. Fix a few TODO items by making our IDL closer to the spec: * There is nothing in the spec saying the operations declared in the Storage interface should not be enumerable. Since the default according to WebIDL is for operations to be enumerable, drop the non-standard [NotEnumerable] extended attribute. This is a user-visible behavior change that matches the spec, as well as Gecko (since Firefox 34) and WebKit (since r195760, Safari 10.1). * Merge the anonymous getter, setter and deleter into the existing getItem, setItem and removeItem operations as mandated by the spec. One visible difference is that the anonymous getter returned a DOMString, whereas getItem() returns a DOMString? (i.e. null is valid return value). Adjust a few tests in the process: * external/wpt/webstorage/storage_enumerate.html: the first test did not make a lot of sense; now that Storage's operations are enumerable, looping with a for-in would add them to |enumeratedArray| unless we add a hasOwnProperty() check. Adding that check no longer adds "prototypeTestKey" to |enumeratedArray| though, but that is working as expected since it is not really a key but rather something inherited from Storage's prototype. Add a test for that as well. * Drop a few Blink-only tests from storage/domstorage that were duplicating the same checks done by the test above. It makes sense to rely on WPT instead of fixing them as well. Bug: 651774 Change-Id: Ibf90700eb3d472f66b4ff2dc6ab9b6e6a4b2f211 Reviewed-on: https://chromium-review.googlesource.com/691974 Commit-Queue: Raphael Kubo da Costa (rakuco) <raphael.kubo.da.costa@intel.com> Reviewed-by: Joshua Bell <jsbell@chromium.org> Cr-Commit-Position: refs/heads/master@{#505745}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .