Index: content/child/indexed_db/webidbdatabase_impl.cc |
diff --git a/content/child/indexed_db/webidbdatabase_impl.cc b/content/child/indexed_db/webidbdatabase_impl.cc |
index 8a9a7619e5fef61a0fe43e622578c314b8748b5d..8f28ca84978adf178b7f26eba22a946a65b97082 100644 |
--- a/content/child/indexed_db/webidbdatabase_impl.cc |
+++ b/content/child/indexed_db/webidbdatabase_impl.cc |
@@ -137,18 +137,18 @@ void WebIDBDatabaseImpl::setIndexKeys( |
params.transaction_id = transaction_id; |
params.object_store_id = object_store_id; |
params.primary_key = IndexedDBKeyBuilder::Build(primary_key); |
- COMPILE_ASSERT(sizeof(params.index_ids[0]) == sizeof(index_ids[0]), |
- Cant_copy); |
- params.index_ids.assign(index_ids.data(), |
- index_ids.data() + index_ids.size()); |
- params.index_keys.resize(index_keys.size()); |
- for (size_t i = 0; i < index_keys.size(); ++i) { |
- params.index_keys[i].resize(index_keys[i].size()); |
+ DCHECK_EQ(index_ids.size(), index_keys.size()); |
+ params.index_keys.resize(index_ids.size()); |
+ for (size_t i = 0, len = index_ids.size(); i < len; ++i) { |
+ params.index_keys[i].first = index_ids[i]; |
+ params.index_keys[i].second.resize(index_keys[i].size()); |
for (size_t j = 0; j < index_keys[i].size(); ++j) { |
- params.index_keys[i][j] = IndexedDBKeyBuilder::Build(index_keys[i][j]); |
+ params.index_keys[i].second[j] = |
+ IndexedDBKey(IndexedDBKeyBuilder::Build(index_keys[i][j])); |
} |
} |
+ |
thread_safe_sender_->Send(new IndexedDBHostMsg_DatabaseSetIndexKeys(params)); |
} |