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
7namespace content {
8
9IndexedDBConnection::IndexedDBConnection(
10    scoped_refptr<IndexedDBDatabase> database,
11    scoped_refptr<IndexedDBDatabaseCallbacks> callbacks)
12    : database_(database), callbacks_(callbacks) {}
13
14IndexedDBConnection::~IndexedDBConnection() {}
15
16void IndexedDBConnection::Close() {
17  if (!callbacks_.get())
18    return;
19  database_->Close(this, false /* forced */);
20  database_ = NULL;
21  callbacks_ = NULL;
22}
23
24void 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
33void IndexedDBConnection::VersionChangeIgnored() {
34  if (!database_.get())
35    return;
36  database_->VersionChangeIgnored();
37}
38
39bool IndexedDBConnection::IsConnected() {
40  return database_.get() != NULL;
41}
42
43}  // namespace content
44