https://github.com/web-platform-tests/wpt
Revision fb91c34278e7a3bded510a3601b6edbcf4567d13 authored by Raphael Kubo da Costa on 02 October 2017, 20:17:37 UTC, committed by Blink WPT Bot on 02 October 2017, 20:25:45 UTC
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}
1 parent 6063e33
History
Tip revision: fb91c34278e7a3bded510a3601b6edbcf4567d13 authored by Raphael Kubo da Costa on 02 October 2017, 20:17:37 UTC
Storage.idl: Drop [NotEnumerable], remove anonymous getter/setter/deleter.
Tip revision: fb91c34
File Mode Size
.well-known
2dcontext
FileAPI
IndexedDB
WebCryptoAPI
WebIDL
XMLHttpRequest
accelerometer
ambient-light
annotation-model
annotation-protocol
annotation-vocab
apng
assumptions
audio-output
background-fetch
battery-status
beacon
bluetooth
clear-site-data
clipboard-apis
common
compat
conformance-checkers
console
content-security-policy
cookies
core-aam
cors
credential-management
css
css-backgrounds
css-cascade
css-font-loading
css-fonts
css-paint-api
css-scoping
css-timing
css-typed-om
cssom
cssom-view
custom-elements
docs
dom
domparsing
domxpath
dpub-aam
dpub-aria
editing
encoding
encrypted-media
eventsource
ext-xhtml-pubid
feature-policy
fetch
fonts
fullscreen
gamepad
generic-sensor
geolocation-API
gyroscope
hr-time
html
html-imports
html-longdesc
html-media-capture
http
imagebitmap-renderingcontext
images
infrastructure
innerText
input-events
interfaces
intersection-observer
js
keyboard-lock
longtask-timing
magnetometer
mathml
media
media-capabilities
media-source
mediacapture-fromelement
mediacapture-image
mediacapture-record
mediacapture-streams
mediasession
mixed-content
navigation-timing
netinfo
notifications
offscreen-canvas
old-tests
orientation-event
orientation-sensor
page-visibility
paint-timing
payment-handler
payment-method-basic-card
payment-method-id
payment-request
performance-timeline
pointerevents
pointerlock
preload
presentation-api
progress-events
proximity
quirks-mode
referrer-policy
remote-playback
resize-observer
resource-timing
resources
screen-orientation
scroll-anchoring
secure-contexts
selection
selectors
server-timing
service-workers
shadow-dom
speech-api
staticrange
storage
streams
subresource-integrity
svg
svg-aam
tools
touch-events
trusted-types
uievents
upgrade-insecure-requests
url
user-timing
vibration
viewport
wai-aria
wasm
web-animations
web-nfc
web-share
webaudio
webauthn
webdriver
webgl
webmessaging
webrtc
websockets
webstorage
webusb
webvr
webvtt
workers
worklets
x-frame-options
.codecov.yml -rw-r--r-- 66 bytes
.gitignore -rw-r--r-- 182 bytes
.gitmodules -rw-r--r-- 519 bytes
.travis.yml -rw-r--r-- 4.3 KB
CONTRIBUTING.md -rw-r--r-- 1.6 KB
LICENSE.md -rw-r--r-- 5.1 KB
README.md -rw-r--r-- 13.8 KB
check_stability.ini -rw-r--r-- 524 bytes
config.default.json -rw-r--r-- 762 bytes
lint.whitelist -rw-r--r-- 45.9 KB
serve.py -rw-r--r-- 263 bytes
server-side.md -rw-r--r-- 8.1 KB
testharness_runner.html -rw-r--r-- 95 bytes
update-built-tests.sh -rwxr-xr-x 131 bytes
wpt -rwxr-xr-x 95 bytes
wpt.py -rw-r--r-- 15 bytes

README.md

back to top