| Index: Source/modules/indexeddb/IDBObjectStore.cpp
 | 
| diff --git a/Source/modules/indexeddb/IDBObjectStore.cpp b/Source/modules/indexeddb/IDBObjectStore.cpp
 | 
| index 75f6bf7f72c99f13ce932f75c8107f7018bee52d..f6c45ca99d28a92fa886201f0db7d20063ca2688 100644
 | 
| --- a/Source/modules/indexeddb/IDBObjectStore.cpp
 | 
| +++ b/Source/modules/indexeddb/IDBObjectStore.cpp
 | 
| @@ -140,25 +140,25 @@ static void generateIndexKeysForValue(v8::Isolate* isolate, const IDBIndexMetada
 | 
|      }
 | 
|  }
 | 
|  
 | 
| -IDBRequest* IDBObjectStore::add(ScriptState* scriptState, ScriptValue& value, const ScriptValue& key, ExceptionState& exceptionState)
 | 
| +IDBRequest* IDBObjectStore::add(ScriptState* scriptState, const ScriptValue& value, const ScriptValue& key, ExceptionState& exceptionState)
 | 
|  {
 | 
|      IDB_TRACE("IDBObjectStore::add");
 | 
|      return put(scriptState, WebIDBPutModeAddOnly, IDBAny::create(this), value, key, exceptionState);
 | 
|  }
 | 
|  
 | 
| -IDBRequest* IDBObjectStore::put(ScriptState* scriptState, ScriptValue& value, const ScriptValue& key, ExceptionState& exceptionState)
 | 
| +IDBRequest* IDBObjectStore::put(ScriptState* scriptState, const ScriptValue& value, const ScriptValue& key, ExceptionState& exceptionState)
 | 
|  {
 | 
|      IDB_TRACE("IDBObjectStore::put");
 | 
|      return put(scriptState, WebIDBPutModeAddOrUpdate, IDBAny::create(this), value, key, exceptionState);
 | 
|  }
 | 
|  
 | 
| -IDBRequest* IDBObjectStore::put(ScriptState* scriptState, WebIDBPutMode putMode, IDBAny* source, ScriptValue& value, const ScriptValue& keyValue, ExceptionState& exceptionState)
 | 
| +IDBRequest* IDBObjectStore::put(ScriptState* scriptState, WebIDBPutMode putMode, IDBAny* source, const ScriptValue& value, const ScriptValue& keyValue, ExceptionState& exceptionState)
 | 
|  {
 | 
| -    IDBKey* key = keyValue.isUndefined() ? nullptr : scriptValueToIDBKey(scriptState->isolate(), keyValue);
 | 
| +    IDBKey* key = keyValue.isEmpty() ? nullptr : scriptValueToIDBKey(scriptState->isolate(), keyValue);
 | 
|      return put(scriptState, putMode, source, value, key, exceptionState);
 | 
|  }
 | 
|  
 | 
| -IDBRequest* IDBObjectStore::put(ScriptState* scriptState, WebIDBPutMode putMode, IDBAny* source, ScriptValue& value, IDBKey* key, ExceptionState& exceptionState)
 | 
| +IDBRequest* IDBObjectStore::put(ScriptState* scriptState, WebIDBPutMode putMode, IDBAny* source, const ScriptValue& value, IDBKey* key, ExceptionState& exceptionState)
 | 
|  {
 | 
|      if (isDeleted()) {
 | 
|          exceptionState.throwDOMException(InvalidStateError, IDBDatabase::objectStoreDeletedErrorMessage);
 | 
| @@ -186,7 +186,6 @@ IDBRequest* IDBObjectStore::put(ScriptState* scriptState, WebIDBPutMode putMode,
 | 
|      // side effects (i.e. getters) are not triggered. Construct the
 | 
|      // clone lazily since the operation may be expensive.
 | 
|      ScriptValue clone;
 | 
| -    value.clear();
 | 
|  
 | 
|      const IDBKeyPath& keyPath = m_metadata.keyPath;
 | 
|      const bool usesInLineKeys = !keyPath.isNull();
 | 
| 
 |