| Index: extensions/common/manifest_location_struct_traits.cc
|
| diff --git a/extensions/common/manifest_location_struct_traits.cc b/extensions/common/manifest_location_struct_traits.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..b78ecb4b2406c6c11b1d55b067ac497dc35893d6
|
| --- /dev/null
|
| +++ b/extensions/common/manifest_location_struct_traits.cc
|
| @@ -0,0 +1,90 @@
|
| +// Copyright 2017 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 "extensions/common/manifest_location_struct_traits.h"
|
| +
|
| +namespace mojo {
|
| +
|
| +using ::extensions::mojom::ManifestLocation;
|
| +using ::extensions::Manifest;
|
| +
|
| +// static
|
| +ManifestLocation EnumTraits<ManifestLocation, Manifest::Location>::ToMojom(
|
| + Manifest::Location input) {
|
| + switch (input) {
|
| + case Manifest::Location::INVALID_LOCATION:
|
| + return ManifestLocation::INVALID_LOCATION;
|
| + case Manifest::Location::INTERNAL:
|
| + return ManifestLocation::INTERNAL;
|
| + case Manifest::Location::EXTERNAL_PREF:
|
| + return ManifestLocation::EXTERNAL_PREF;
|
| + case Manifest::Location::EXTERNAL_REGISTRY:
|
| + return ManifestLocation::EXTERNAL_REGISTRY;
|
| + case Manifest::Location::UNPACKED:
|
| + return ManifestLocation::UNPACKED;
|
| + case Manifest::Location::COMPONENT:
|
| + return ManifestLocation::COMPONENT;
|
| + case Manifest::Location::EXTERNAL_PREF_DOWNLOAD:
|
| + return ManifestLocation::EXTERNAL_PREF_DOWNLOAD;
|
| + case Manifest::Location::EXTERNAL_POLICY_DOWNLOAD:
|
| + return ManifestLocation::EXTERNAL_POLICY_DOWNLOAD;
|
| + case Manifest::Location::COMMAND_LINE:
|
| + return ManifestLocation::COMMAND_LINE;
|
| + case Manifest::Location::EXTERNAL_POLICY:
|
| + return ManifestLocation::EXTERNAL_POLICY;
|
| + case Manifest::Location::EXTERNAL_COMPONENT:
|
| + return ManifestLocation::EXTERNAL_COMPONENT;
|
| +
|
| + case Manifest::Location::NUM_LOCATIONS:
|
| + break;
|
| + }
|
| +
|
| + NOTREACHED();
|
| + return {};
|
| +}
|
| +
|
| +// static
|
| +bool EnumTraits<ManifestLocation, Manifest::Location>::FromMojom(
|
| + ManifestLocation input,
|
| + Manifest::Location* output) {
|
| + switch (input) {
|
| + case ManifestLocation::INVALID_LOCATION:
|
| + *output = Manifest::Location::INVALID_LOCATION;
|
| + return true;
|
| + case ManifestLocation::INTERNAL:
|
| + *output = Manifest::Location::INTERNAL;
|
| + return true;
|
| + case ManifestLocation::EXTERNAL_PREF:
|
| + *output = Manifest::Location::EXTERNAL_PREF;
|
| + return true;
|
| + case ManifestLocation::EXTERNAL_REGISTRY:
|
| + *output = Manifest::Location::EXTERNAL_REGISTRY;
|
| + return true;
|
| + case ManifestLocation::UNPACKED:
|
| + *output = Manifest::Location::UNPACKED;
|
| + return true;
|
| + case ManifestLocation::COMPONENT:
|
| + *output = Manifest::Location::COMPONENT;
|
| + return true;
|
| + case ManifestLocation::EXTERNAL_PREF_DOWNLOAD:
|
| + *output = Manifest::Location::EXTERNAL_PREF_DOWNLOAD;
|
| + return true;
|
| + case ManifestLocation::EXTERNAL_POLICY_DOWNLOAD:
|
| + *output = Manifest::Location::EXTERNAL_POLICY_DOWNLOAD;
|
| + return true;
|
| + case ManifestLocation::COMMAND_LINE:
|
| + *output = Manifest::Location::COMMAND_LINE;
|
| + return true;
|
| + case ManifestLocation::EXTERNAL_POLICY:
|
| + *output = Manifest::Location::EXTERNAL_POLICY;
|
| + return true;
|
| + case ManifestLocation::EXTERNAL_COMPONENT:
|
| + *output = Manifest::Location::EXTERNAL_COMPONENT;
|
| + return true;
|
| + }
|
| +
|
| + return false;
|
| +}
|
| +
|
| +} // namespace mojo
|
|
|