Chromium Code Reviews| Index: third_party/WebKit/Source/modules/encryptedmedia/MediaKeyStatusMap.cpp |
| diff --git a/third_party/WebKit/Source/modules/encryptedmedia/MediaKeyStatusMap.cpp b/third_party/WebKit/Source/modules/encryptedmedia/MediaKeyStatusMap.cpp |
| index b6fcf01795926720db9597feab940ee6d75fd096..f51204957af6602cb4b07fc0c2f4bc5496b34efd 100644 |
| --- a/third_party/WebKit/Source/modules/encryptedmedia/MediaKeyStatusMap.cpp |
| +++ b/third_party/WebKit/Source/modules/encryptedmedia/MediaKeyStatusMap.cpp |
| @@ -144,19 +144,23 @@ size_t MediaKeyStatusMap::indexOf(const DOMArrayPiece& key) const |
| return m_entries.size(); |
|
ddorwin
2016/06/14 20:56:05
Unrelated to this CL:
Is this a common pattern? It
jrummell
2016/06/14 22:24:21
Done. There is also WTF::kNotFound.
|
| } |
| -PairIterable<ArrayBufferOrArrayBufferView, String>::IterationSource* MediaKeyStatusMap::startIteration(ScriptState*, ExceptionState&) |
| +bool MediaKeyStatusMap::has(const ArrayBufferOrArrayBufferView& keyId) |
| { |
| - return new MapIterationSource(this); |
| + size_t index = indexOf(keyId); |
| + return index < m_entries.size(); |
| } |
| -bool MediaKeyStatusMap::getMapEntry(ScriptState*, const ArrayBufferOrArrayBufferView& key, String& value, ExceptionState&) |
| +ScriptValue MediaKeyStatusMap::get(ScriptState* scriptState, const ArrayBufferOrArrayBufferView& keyId) |
| { |
| - size_t index = indexOf(key); |
| - if (index < m_entries.size()) { |
| - value = at(index).status(); |
| - return true; |
| - } |
| - return false; |
| + size_t index = indexOf(keyId); |
| + if (index >= m_entries.size()) |
| + return ScriptValue(scriptState, v8::Undefined(scriptState->isolate())); |
| + return ScriptValue::from(scriptState, at(index).status()); |
| +} |
| + |
| +PairIterable<ArrayBufferOrArrayBufferView, String>::IterationSource* MediaKeyStatusMap::startIteration(ScriptState*, ExceptionState&) |
| +{ |
| + return new MapIterationSource(this); |
| } |
| DEFINE_TRACE(MediaKeyStatusMap) |