1 // Copyright 2019 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #include "content/browser/indexed_db/indexed_db_external_object_storage.h"
6 
7 #include "base/callback.h"
8 
9 namespace content {
10 
IndexedDBExternalObjectChangeRecord(const std::string & object_store_data_key)11 IndexedDBExternalObjectChangeRecord ::IndexedDBExternalObjectChangeRecord(
12     const std::string& object_store_data_key)
13     : object_store_data_key_(object_store_data_key) {}
14 
15 IndexedDBExternalObjectChangeRecord ::~IndexedDBExternalObjectChangeRecord() =
16     default;
17 
SetExternalObjects(std::vector<IndexedDBExternalObject> * external_objects)18 void IndexedDBExternalObjectChangeRecord ::SetExternalObjects(
19     std::vector<IndexedDBExternalObject>* external_objects) {
20   external_objects_.clear();
21   if (external_objects)
22     external_objects_.swap(*external_objects);
23 }
24 
25 std::unique_ptr<IndexedDBExternalObjectChangeRecord>
Clone() const26 IndexedDBExternalObjectChangeRecord ::Clone() const {
27   std::unique_ptr<IndexedDBExternalObjectChangeRecord> record(
28       new IndexedDBExternalObjectChangeRecord(object_store_data_key_));
29   record->external_objects_ = external_objects_;
30 
31   return record;
32 }
33 
34 }  // namespace content
35