OLD | NEW |
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 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/browser/in_process_webkit/indexed_db_key_utility_client.h" | 5 #include "content/browser/in_process_webkit/indexed_db_key_utility_client.h" |
6 | 6 |
7 #include "base/lazy_instance.h" | 7 #include "base/lazy_instance.h" |
8 #include "base/synchronization/waitable_event.h" | 8 #include "base/synchronization/waitable_event.h" |
9 #include "chrome/browser/browser_process.h" | 9 #include "chrome/browser/browser_process.h" |
10 #include "chrome/browser/utility_process_host.h" | 10 #include "chrome/browser/utility_process_host.h" |
11 #include "chrome/common/indexed_db_key.h" | 11 #include "content/common/indexed_db_key.h" |
12 #include "chrome/common/serialized_script_value.h" | 12 #include "content/common/serialized_script_value.h" |
13 | 13 |
14 // This class is used to obtain IndexedDBKeys from SerializedScriptValues | 14 // This class is used to obtain IndexedDBKeys from SerializedScriptValues |
15 // given an IDBKeyPath. It uses UtilityProcess to do this inside a sandbox | 15 // given an IDBKeyPath. It uses UtilityProcess to do this inside a sandbox |
16 // (a V8 lock is required there). At this level, all methods are synchronous | 16 // (a V8 lock is required there). At this level, all methods are synchronous |
17 // as required by the caller. The public API is used on WEBKIT thread, | 17 // as required by the caller. The public API is used on WEBKIT thread, |
18 // but internally it moves around to UI and IO as needed. | 18 // but internally it moves around to UI and IO as needed. |
19 class KeyUtilityClientImpl | 19 class KeyUtilityClientImpl |
20 : public base::RefCountedThreadSafe<KeyUtilityClientImpl> { | 20 : public base::RefCountedThreadSafe<KeyUtilityClientImpl> { |
21 public: | 21 public: |
22 KeyUtilityClientImpl(); | 22 KeyUtilityClientImpl(); |
(...skipping 351 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
374 void KeyUtilityClientImpl::Client::OnInjectIDBKeyFinished( | 374 void KeyUtilityClientImpl::Client::OnInjectIDBKeyFinished( |
375 const SerializedScriptValue& value) { | 375 const SerializedScriptValue& value) { |
376 parent_->SetValueAfterInjection(value); | 376 parent_->SetValueAfterInjection(value); |
377 parent_->FinishInjectingKey(); | 377 parent_->FinishInjectingKey(); |
378 } | 378 } |
379 | 379 |
380 void KeyUtilityClientImpl::Client::OnIDBKeysFromValuesAndKeyPathFailed( | 380 void KeyUtilityClientImpl::Client::OnIDBKeysFromValuesAndKeyPathFailed( |
381 int id) { | 381 int id) { |
382 parent_->FinishCreatingKeys(); | 382 parent_->FinishCreatingKeys(); |
383 } | 383 } |
OLD | NEW |