Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(256)

Side by Side Diff: content/child/indexed_db/webidbfactory_impl.cc

Issue 2773823002: Use a two-part data format version in IndexedDB metadata. (Closed)
Patch Set: jsbell, cmumford Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/child/indexed_db/webidbfactory_impl.h" 5 #include "content/child/indexed_db/webidbfactory_impl.h"
6 6
7 #include "base/memory/ptr_util.h" 7 #include "base/memory/ptr_util.h"
8 #include "content/child/indexed_db/indexed_db_callbacks_impl.h" 8 #include "content/child/indexed_db/indexed_db_callbacks_impl.h"
9 #include "content/child/indexed_db/indexed_db_database_callbacks_impl.h" 9 #include "content/child/indexed_db/indexed_db_database_callbacks_impl.h"
10 #include "content/child/storage_util.h" 10 #include "content/child/storage_util.h"
11 #include "content/common/indexed_db/indexed_db_data_format_version.h"
11 #include "ipc/ipc_sync_channel.h" 12 #include "ipc/ipc_sync_channel.h"
12 #include "mojo/public/cpp/bindings/strong_associated_binding.h" 13 #include "mojo/public/cpp/bindings/strong_associated_binding.h"
13 #include "third_party/WebKit/public/platform/WebSecurityOrigin.h" 14 #include "third_party/WebKit/public/platform/WebSecurityOrigin.h"
14 #include "third_party/WebKit/public/platform/WebString.h" 15 #include "third_party/WebKit/public/platform/WebString.h"
16 #include "third_party/WebKit/public/web/WebSerializedScriptValueVersion.h"
15 17
16 using blink::WebIDBCallbacks; 18 using blink::WebIDBCallbacks;
17 using blink::WebIDBDatabase; 19 using blink::WebIDBDatabase;
18 using blink::WebIDBDatabaseCallbacks; 20 using blink::WebIDBDatabaseCallbacks;
19 using blink::WebSecurityOrigin; 21 using blink::WebSecurityOrigin;
20 using blink::WebString; 22 using blink::WebString;
21 using indexed_db::mojom::CallbacksAssociatedPtrInfo; 23 using indexed_db::mojom::CallbacksAssociatedPtrInfo;
22 using indexed_db::mojom::DatabaseCallbacksAssociatedPtrInfo; 24 using indexed_db::mojom::DatabaseCallbacksAssociatedPtrInfo;
23 using indexed_db::mojom::FactoryAssociatedPtr; 25 using indexed_db::mojom::FactoryAssociatedPtr;
24 26
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
109 url::Origin(origin), force_close)); 111 url::Origin(origin), force_close));
110 } 112 }
111 113
112 WebIDBFactoryImpl::IOThreadHelper::IOThreadHelper( 114 WebIDBFactoryImpl::IOThreadHelper::IOThreadHelper(
113 scoped_refptr<IPC::SyncMessageFilter> sync_message_filter) 115 scoped_refptr<IPC::SyncMessageFilter> sync_message_filter)
114 : sync_message_filter_(std::move(sync_message_filter)) {} 116 : sync_message_filter_(std::move(sync_message_filter)) {}
115 117
116 WebIDBFactoryImpl::IOThreadHelper::~IOThreadHelper() {} 118 WebIDBFactoryImpl::IOThreadHelper::~IOThreadHelper() {}
117 119
118 FactoryAssociatedPtr& WebIDBFactoryImpl::IOThreadHelper::GetService() { 120 FactoryAssociatedPtr& WebIDBFactoryImpl::IOThreadHelper::GetService() {
119 if (!service_) 121 if (!service_) {
120 sync_message_filter_->GetRemoteAssociatedInterface(&service_); 122 sync_message_filter_->GetRemoteAssociatedInterface(&service_);
123 DCHECK(service_);
124 auto version = blink::WebSerializedScriptValueVersion::current();
125 service_->Configure(
126 IndexedDBDataFormatVersion(version.v8Version, version.blinkVersion));
127 }
121 return service_; 128 return service_;
122 } 129 }
123 130
124 CallbacksAssociatedPtrInfo WebIDBFactoryImpl::IOThreadHelper::GetCallbacksProxy( 131 CallbacksAssociatedPtrInfo WebIDBFactoryImpl::IOThreadHelper::GetCallbacksProxy(
125 std::unique_ptr<IndexedDBCallbacksImpl> callbacks) { 132 std::unique_ptr<IndexedDBCallbacksImpl> callbacks) {
126 CallbacksAssociatedPtrInfo ptr_info; 133 CallbacksAssociatedPtrInfo ptr_info;
127 auto request = mojo::MakeRequest(&ptr_info); 134 auto request = mojo::MakeRequest(&ptr_info);
128 mojo::MakeStrongAssociatedBinding(std::move(callbacks), std::move(request)); 135 mojo::MakeStrongAssociatedBinding(std::move(callbacks), std::move(request));
129 return ptr_info; 136 return ptr_info;
130 } 137 }
(...skipping 29 matching lines...) Expand all
160 void WebIDBFactoryImpl::IOThreadHelper::DeleteDatabase( 167 void WebIDBFactoryImpl::IOThreadHelper::DeleteDatabase(
161 const base::string16& name, 168 const base::string16& name,
162 std::unique_ptr<IndexedDBCallbacksImpl> callbacks, 169 std::unique_ptr<IndexedDBCallbacksImpl> callbacks,
163 const url::Origin& origin, 170 const url::Origin& origin,
164 bool force_close) { 171 bool force_close) {
165 GetService()->DeleteDatabase(GetCallbacksProxy(std::move(callbacks)), origin, 172 GetService()->DeleteDatabase(GetCallbacksProxy(std::move(callbacks)), origin,
166 name, force_close); 173 name, force_close);
167 } 174 }
168 175
169 } // namespace content 176 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698