| Index: content/common/indexed_db/indexed_db_enum_traits.cc
|
| diff --git a/content/common/indexed_db/indexed_db_enum_traits.cc b/content/common/indexed_db/indexed_db_enum_traits.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..8c8633419abb673675e11f71dffbb5f9e10ad992
|
| --- /dev/null
|
| +++ b/content/common/indexed_db/indexed_db_enum_traits.cc
|
| @@ -0,0 +1,177 @@
|
| +// Copyright 2016 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#include "content/common/indexed_db/indexed_db_enum_traits.h"
|
| +
|
| +using indexed_db::mojom::CursorDirection;
|
| +using indexed_db::mojom::DataLoss;
|
| +using indexed_db::mojom::PutMode;
|
| +using indexed_db::mojom::TaskType;
|
| +using indexed_db::mojom::TransactionMode;
|
| +
|
| +namespace mojo {
|
| +
|
| +// static
|
| +CursorDirection
|
| +EnumTraits<CursorDirection, blink::WebIDBCursorDirection>::ToMojom(
|
| + blink::WebIDBCursorDirection input) {
|
| + switch (input) {
|
| + case blink::WebIDBCursorDirectionNext:
|
| + return CursorDirection::Next;
|
| + case blink::WebIDBCursorDirectionNextNoDuplicate:
|
| + return CursorDirection::NextNoDuplicate;
|
| + case blink::WebIDBCursorDirectionPrev:
|
| + return CursorDirection::Prev;
|
| + case blink::WebIDBCursorDirectionPrevNoDuplicate:
|
| + return CursorDirection::PrevNoDuplicate;
|
| + }
|
| + NOTREACHED();
|
| + return CursorDirection::Next;
|
| +}
|
| +
|
| +// static
|
| +bool EnumTraits<CursorDirection, blink::WebIDBCursorDirection>::FromMojom(
|
| + CursorDirection input,
|
| + blink::WebIDBCursorDirection* output) {
|
| + switch (input) {
|
| + case CursorDirection::Next:
|
| + *output = blink::WebIDBCursorDirectionNext;
|
| + return true;
|
| + case CursorDirection::NextNoDuplicate:
|
| + *output = blink::WebIDBCursorDirectionNextNoDuplicate;
|
| + return true;
|
| + case CursorDirection::Prev:
|
| + *output = blink::WebIDBCursorDirectionPrev;
|
| + return true;
|
| + case CursorDirection::PrevNoDuplicate:
|
| + *output = blink::WebIDBCursorDirectionPrevNoDuplicate;
|
| + return true;
|
| + }
|
| + return false;
|
| +}
|
| +
|
| +// static
|
| +DataLoss EnumTraits<DataLoss, blink::WebIDBDataLoss>::ToMojom(
|
| + blink::WebIDBDataLoss input) {
|
| + switch (input) {
|
| + case blink::WebIDBDataLossNone:
|
| + return DataLoss::None;
|
| + case blink::WebIDBDataLossTotal:
|
| + return DataLoss::Total;
|
| + }
|
| + NOTREACHED();
|
| + return DataLoss::None;
|
| +}
|
| +
|
| +// static
|
| +bool EnumTraits<DataLoss, blink::WebIDBDataLoss>::FromMojom(
|
| + DataLoss input,
|
| + blink::WebIDBDataLoss* output) {
|
| + switch (input) {
|
| + case DataLoss::None:
|
| + *output = blink::WebIDBDataLossNone;
|
| + return true;
|
| + case DataLoss::Total:
|
| + *output = blink::WebIDBDataLossTotal;
|
| + return true;
|
| + }
|
| + return false;
|
| +}
|
| +
|
| +// static
|
| +PutMode EnumTraits<PutMode, blink::WebIDBPutMode>::ToMojom(
|
| + blink::WebIDBPutMode input) {
|
| + switch (input) {
|
| + case blink::WebIDBPutModeAddOrUpdate:
|
| + return PutMode::AddOrUpdate;
|
| + case blink::WebIDBPutModeAddOnly:
|
| + return PutMode::AddOnly;
|
| + case blink::WebIDBPutModeCursorUpdate:
|
| + return PutMode::CursorUpdate;
|
| + }
|
| + NOTREACHED();
|
| + return PutMode::AddOrUpdate;
|
| +}
|
| +
|
| +// static
|
| +bool EnumTraits<PutMode, blink::WebIDBPutMode>::FromMojom(
|
| + PutMode input,
|
| + blink::WebIDBPutMode* output) {
|
| + switch (input) {
|
| + case PutMode::AddOrUpdate:
|
| + *output = blink::WebIDBPutModeAddOrUpdate;
|
| + return true;
|
| + case PutMode::AddOnly:
|
| + *output = blink::WebIDBPutModeAddOnly;
|
| + return true;
|
| + case PutMode::CursorUpdate:
|
| + *output = blink::WebIDBPutModeCursorUpdate;
|
| + return true;
|
| + }
|
| + return false;
|
| +}
|
| +
|
| +// static
|
| +TaskType EnumTraits<TaskType, blink::WebIDBTaskType>::ToMojom(
|
| + blink::WebIDBTaskType input) {
|
| + switch (input) {
|
| + case blink::WebIDBTaskTypeNormal:
|
| + return TaskType::Normal;
|
| + case blink::WebIDBTaskTypePreemptive:
|
| + return TaskType::Preemptive;
|
| + }
|
| + NOTREACHED();
|
| + return TaskType::Normal;
|
| +}
|
| +
|
| +// static
|
| +bool EnumTraits<TaskType, blink::WebIDBTaskType>::FromMojom(
|
| + TaskType input,
|
| + blink::WebIDBTaskType* output) {
|
| + switch (input) {
|
| + case TaskType::Normal:
|
| + *output = blink::WebIDBTaskTypeNormal;
|
| + return true;
|
| + case TaskType::Preemptive:
|
| + *output = blink::WebIDBTaskTypePreemptive;
|
| + return true;
|
| + }
|
| + return false;
|
| +}
|
| +
|
| +// static
|
| +TransactionMode
|
| +EnumTraits<TransactionMode, blink::WebIDBTransactionMode>::ToMojom(
|
| + blink::WebIDBTransactionMode input) {
|
| + switch (input) {
|
| + case blink::WebIDBTransactionModeReadOnly:
|
| + return TransactionMode::ReadOnly;
|
| + case blink::WebIDBTransactionModeReadWrite:
|
| + return TransactionMode::ReadWrite;
|
| + case blink::WebIDBTransactionModeVersionChange:
|
| + return TransactionMode::VersionChange;
|
| + }
|
| + NOTREACHED();
|
| + return TransactionMode::ReadOnly;
|
| +}
|
| +
|
| +// static
|
| +bool EnumTraits<TransactionMode, blink::WebIDBTransactionMode>::FromMojom(
|
| + TransactionMode input,
|
| + blink::WebIDBTransactionMode* output) {
|
| + switch (input) {
|
| + case TransactionMode::ReadOnly:
|
| + *output = blink::WebIDBTransactionModeReadOnly;
|
| + return true;
|
| + case TransactionMode::ReadWrite:
|
| + *output = blink::WebIDBTransactionModeReadWrite;
|
| + return true;
|
| + case TransactionMode::VersionChange:
|
| + *output = blink::WebIDBTransactionModeVersionChange;
|
| + return true;
|
| + }
|
| + return false;
|
| +}
|
| +
|
| +} // namespace mojo
|
|
|