Home | History | Annotate | Download | only in indexed_db
      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
      3 // found in the LICENSE file.
      4 
      5 #include "content/browser/indexed_db/indexed_db_connection.h"
      6 
      7 namespace content {
      8 
      9 IndexedDBConnection::IndexedDBConnection(
     10     scoped_refptr<IndexedDBDatabase> database,
     11     scoped_refptr<IndexedDBDatabaseCallbacks> callbacks)
     12     : database_(database), callbacks_(callbacks) {}
     13 
     14 IndexedDBConnection::~IndexedDBConnection() {}
     15 
     16 void IndexedDBConnection::Close() {
     17   if (!callbacks_.get())
     18     return;
     19   database_->Close(this, false /* forced */);
     20   database_ = NULL;
     21   callbacks_ = NULL;
     22 }
     23 
     24 void IndexedDBConnection::ForceClose() {
     25   if (!callbacks_.get())
     26     return;
     27   database_->Close(this, true /* forced */);
     28   database_ = NULL;
     29   callbacks_->OnForcedClose();
     30   callbacks_ = NULL;
     31 }
     32 
     33 void IndexedDBConnection::VersionChangeIgnored() {
     34   if (!database_.get())
     35     return;
     36   database_->VersionChangeIgnored();
     37 }
     38 
     39 bool IndexedDBConnection::IsConnected() {
     40   return database_.get() != NULL;
     41 }
     42 
     43 }  // namespace content
     44