summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/renderer_webstoragearea_impl.cc
diff options
context:
space:
mode:
authorjorlow@chromium.org <jorlow@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-11 04:16:43 +0000
committerjorlow@chromium.org <jorlow@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-08-11 04:16:43 +0000
commit99ddfd29900cc4caa1f1ffd979cc09be3f104336 (patch)
treedd3987a5578e15a27340a43c32027099050cfb8d /chrome/renderer/renderer_webstoragearea_impl.cc
parent9c5645b5f8af3c04528caef61c59e2754f79288b (diff)
downloadchromium_src-99ddfd29900cc4caa1f1ffd979cc09be3f104336.zip
chromium_src-99ddfd29900cc4caa1f1ffd979cc09be3f104336.tar.gz
chromium_src-99ddfd29900cc4caa1f1ffd979cc09be3f104336.tar.bz2
The spec for ____storage.key() changed. Now, instead of raising an exception when you try to access a key
at an index that's greater than or equal to ___Storage.length, it simply returns a null. This is yet another demonstration of why we need a NullableString16 (rather than passing around a string and a bool) but this cannot block on that work. TEST=none BUG=none Review URL: http://codereview.chromium.org/165289 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23011 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer/renderer_webstoragearea_impl.cc')
-rw-r--r--chrome/renderer/renderer_webstoragearea_impl.cc8
1 files changed, 4 insertions, 4 deletions
diff --git a/chrome/renderer/renderer_webstoragearea_impl.cc b/chrome/renderer/renderer_webstoragearea_impl.cc
index c438cdfe..14f2273 100644
--- a/chrome/renderer/renderer_webstoragearea_impl.cc
+++ b/chrome/renderer/renderer_webstoragearea_impl.cc
@@ -45,18 +45,18 @@ unsigned RendererWebStorageAreaImpl::length() {
return length;
}
-WebKit::WebString RendererWebStorageAreaImpl::key(unsigned index,
- bool& key_exception) {
+WebKit::WebString RendererWebStorageAreaImpl::key(unsigned index) {
EnsureInitializedAndLocked();
// Right now this is always sync. We may want to optimize this by fetching
// chunks of keys rather than single keys (and flushing the cache on every
// mutation of the storage area) since this will most often be used to fetch
// all the keys at once.
string16 key;
+ bool key_is_null;
RenderThread::current()->Send(
new ViewHostMsg_DOMStorageKey(storage_area_id_, index,
- &key_exception, &key));
- return key;
+ &key, &key_is_null));
+ return key_is_null ? WebKit::WebString() : WebKit::WebString(key);
}
WebKit::WebString RendererWebStorageAreaImpl::getItem(