| Index: components/translate/content/common/translate_struct_traits.cc
|
| diff --git a/components/translate/content/common/translate_struct_traits.cc b/components/translate/content/common/translate_struct_traits.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..e26707440f972c69c161a4e78d474ccf307987cc
|
| --- /dev/null
|
| +++ b/components/translate/content/common/translate_struct_traits.cc
|
| @@ -0,0 +1,120 @@
|
| +// 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 "components/translate/content/common/translate_struct_traits.h"
|
| +
|
| +#include "ipc/ipc_message_utils.h"
|
| +#include "url/mojo/url_gurl_struct_traits.h"
|
| +
|
| +using namespace translate;
|
| +
|
| +namespace mojo {
|
| +
|
| +mojom::TranslateError
|
| +EnumTraits<mojom::TranslateError, TranslateErrors::Type>::ToMojom(
|
| + TranslateErrors::Type input) {
|
| + switch (input) {
|
| + case TranslateErrors::Type::NONE:
|
| + return mojom::TranslateError::NONE;
|
| + case TranslateErrors::Type::NETWORK:
|
| + return mojom::TranslateError::NETWORK;
|
| + case TranslateErrors::Type::INITIALIZATION_ERROR:
|
| + return mojom::TranslateError::INITIALIZATION_ERROR;
|
| + case TranslateErrors::Type::UNKNOWN_LANGUAGE:
|
| + return mojom::TranslateError::UNKNOWN_LANGUAGE;
|
| + case TranslateErrors::Type::UNSUPPORTED_LANGUAGE:
|
| + return mojom::TranslateError::UNSUPPORTED_LANGUAGE;
|
| + case TranslateErrors::Type::IDENTICAL_LANGUAGES:
|
| + return mojom::TranslateError::IDENTICAL_LANGUAGES;
|
| + case TranslateErrors::Type::TRANSLATION_ERROR:
|
| + return mojom::TranslateError::TRANSLATION_ERROR;
|
| + case TranslateErrors::Type::TRANSLATION_TIMEOUT:
|
| + return mojom::TranslateError::TRANSLATION_TIMEOUT;
|
| + case TranslateErrors::Type::UNEXPECTED_SCRIPT_ERROR:
|
| + return mojom::TranslateError::UNEXPECTED_SCRIPT_ERROR;
|
| + case TranslateErrors::Type::BAD_ORIGIN:
|
| + return mojom::TranslateError::BAD_ORIGIN;
|
| + case TranslateErrors::Type::SCRIPT_LOAD_ERROR:
|
| + return mojom::TranslateError::SCRIPT_LOAD_ERROR;
|
| + case TranslateErrors::Type::TRANSLATE_ERROR_MAX:
|
| + return mojom::TranslateError::TRANSLATE_ERROR_MAX;
|
| + }
|
| +
|
| + NOTREACHED();
|
| + return mojom::TranslateError::NONE;
|
| +}
|
| +
|
| +bool EnumTraits<mojom::TranslateError, TranslateErrors::Type>::FromMojom(
|
| + mojom::TranslateError input,
|
| + TranslateErrors::Type* output) {
|
| + switch (input) {
|
| + case mojom::TranslateError::NONE:
|
| + *output = TranslateErrors::Type::NONE;
|
| + return true;
|
| + case mojom::TranslateError::NETWORK:
|
| + *output = TranslateErrors::Type::NETWORK;
|
| + return true;
|
| + case mojom::TranslateError::INITIALIZATION_ERROR:
|
| + *output = TranslateErrors::Type::INITIALIZATION_ERROR;
|
| + return true;
|
| + case mojom::TranslateError::UNKNOWN_LANGUAGE:
|
| + *output = TranslateErrors::Type::UNKNOWN_LANGUAGE;
|
| + return true;
|
| + case mojom::TranslateError::UNSUPPORTED_LANGUAGE:
|
| + *output = TranslateErrors::Type::UNSUPPORTED_LANGUAGE;
|
| + return true;
|
| + case mojom::TranslateError::IDENTICAL_LANGUAGES:
|
| + *output = TranslateErrors::Type::IDENTICAL_LANGUAGES;
|
| + return true;
|
| + case mojom::TranslateError::TRANSLATION_ERROR:
|
| + *output = TranslateErrors::Type::TRANSLATION_ERROR;
|
| + return true;
|
| + case mojom::TranslateError::TRANSLATION_TIMEOUT:
|
| + *output = TranslateErrors::Type::TRANSLATION_TIMEOUT;
|
| + return true;
|
| + case mojom::TranslateError::UNEXPECTED_SCRIPT_ERROR:
|
| + *output = TranslateErrors::Type::UNEXPECTED_SCRIPT_ERROR;
|
| + return true;
|
| + case mojom::TranslateError::BAD_ORIGIN:
|
| + *output = TranslateErrors::Type::BAD_ORIGIN;
|
| + return true;
|
| + case mojom::TranslateError::SCRIPT_LOAD_ERROR:
|
| + *output = TranslateErrors::Type::SCRIPT_LOAD_ERROR;
|
| + return true;
|
| + case mojom::TranslateError::TRANSLATE_ERROR_MAX:
|
| + *output = TranslateErrors::Type::TRANSLATE_ERROR_MAX;
|
| + return true;
|
| + }
|
| +
|
| + NOTREACHED();
|
| + return false;
|
| +}
|
| +
|
| +// static
|
| +bool StructTraits<mojom::LanguageDetectionDetails, LanguageDetectionDetails>::
|
| + Read(mojom::LanguageDetectionDetailsDataView data,
|
| + LanguageDetectionDetails* out) {
|
| + if (!data.ReadTime(&out->time))
|
| + return false;
|
| + if (!data.ReadUrl(&out->url))
|
| + return false;
|
| + if (!data.ReadContentLanguage(&out->content_language))
|
| + return false;
|
| + if (!data.ReadCldLanguage(&out->cld_language))
|
| + return false;
|
| +
|
| + out->is_cld_reliable = data.is_cld_reliable();
|
| + out->has_notranslate = data.has_notranslate();
|
| +
|
| + if (!data.ReadHtmlRootLanguage(&out->html_root_language))
|
| + return false;
|
| + if (!data.ReadAdoptedLanguage(&out->adopted_language))
|
| + return false;
|
| + if (!data.ReadContents(&out->contents))
|
| + return false;
|
| +
|
| + return true;
|
| +}
|
| +
|
| +} // namespace mojo
|
|
|