void InspectorDOMStorageAgent::getDOMStorageItems(ErrorString* errorString, const RefPtr<JSONObject>& storageId, RefPtr<TypeBuilder::Array<TypeBuilder::Array<String> > >& items) { LocalFrame* frame; OwnPtrWillBeRawPtr<StorageArea> storageArea = findStorageArea(errorString, storageId, frame); if (!storageArea) return; RefPtr<TypeBuilder::Array<TypeBuilder::Array<String> > > storageItems = TypeBuilder::Array<TypeBuilder::Array<String> >::create(); TrackExceptionState exceptionState; for (unsigned i = 0; i < storageArea->length(exceptionState, frame); ++i) { String name(storageArea->key(i, exceptionState, frame)); if (hadException(exceptionState, errorString)) return; String value(storageArea->getItem(name, exceptionState, frame)); if (hadException(exceptionState, errorString)) return; RefPtr<TypeBuilder::Array<String> > entry = TypeBuilder::Array<String>::create(); entry->addItem(name); entry->addItem(value); storageItems->addItem(entry); } items = storageItems.release(); }