OLD | NEW |
(Empty) | |
| 1 // Copyright 2016 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 "components/translate/content/common/translate_struct_traits.h" |
| 6 |
| 7 #include "ipc/ipc_message_utils.h" |
| 8 #include "url/mojo/url_gurl_struct_traits.h" |
| 9 |
| 10 using namespace translate; |
| 11 |
| 12 namespace mojo { |
| 13 |
| 14 mojom::TranslateError |
| 15 EnumTraits<mojom::TranslateError, TranslateErrors::Type>::ToMojom( |
| 16 TranslateErrors::Type input) { |
| 17 switch (input) { |
| 18 case TranslateErrors::Type::NONE: |
| 19 return mojom::TranslateError::NONE; |
| 20 case TranslateErrors::Type::NETWORK: |
| 21 return mojom::TranslateError::NETWORK; |
| 22 case TranslateErrors::Type::INITIALIZATION_ERROR: |
| 23 return mojom::TranslateError::INITIALIZATION_ERROR; |
| 24 case TranslateErrors::Type::UNKNOWN_LANGUAGE: |
| 25 return mojom::TranslateError::UNKNOWN_LANGUAGE; |
| 26 case TranslateErrors::Type::UNSUPPORTED_LANGUAGE: |
| 27 return mojom::TranslateError::UNSUPPORTED_LANGUAGE; |
| 28 case TranslateErrors::Type::IDENTICAL_LANGUAGES: |
| 29 return mojom::TranslateError::IDENTICAL_LANGUAGES; |
| 30 case TranslateErrors::Type::TRANSLATION_ERROR: |
| 31 return mojom::TranslateError::TRANSLATION_ERROR; |
| 32 case TranslateErrors::Type::TRANSLATION_TIMEOUT: |
| 33 return mojom::TranslateError::TRANSLATION_TIMEOUT; |
| 34 case TranslateErrors::Type::UNEXPECTED_SCRIPT_ERROR: |
| 35 return mojom::TranslateError::UNEXPECTED_SCRIPT_ERROR; |
| 36 case TranslateErrors::Type::BAD_ORIGIN: |
| 37 return mojom::TranslateError::BAD_ORIGIN; |
| 38 case TranslateErrors::Type::SCRIPT_LOAD_ERROR: |
| 39 return mojom::TranslateError::SCRIPT_LOAD_ERROR; |
| 40 case TranslateErrors::Type::TRANSLATE_ERROR_MAX: |
| 41 return mojom::TranslateError::TRANSLATE_ERROR_MAX; |
| 42 } |
| 43 |
| 44 NOTREACHED(); |
| 45 return mojom::TranslateError::NONE; |
| 46 } |
| 47 |
| 48 bool EnumTraits<mojom::TranslateError, TranslateErrors::Type>::FromMojom( |
| 49 mojom::TranslateError input, |
| 50 TranslateErrors::Type* output) { |
| 51 switch (input) { |
| 52 case mojom::TranslateError::NONE: |
| 53 *output = TranslateErrors::Type::NONE; |
| 54 return true; |
| 55 case mojom::TranslateError::NETWORK: |
| 56 *output = TranslateErrors::Type::NETWORK; |
| 57 return true; |
| 58 case mojom::TranslateError::INITIALIZATION_ERROR: |
| 59 *output = TranslateErrors::Type::INITIALIZATION_ERROR; |
| 60 return true; |
| 61 case mojom::TranslateError::UNKNOWN_LANGUAGE: |
| 62 *output = TranslateErrors::Type::UNKNOWN_LANGUAGE; |
| 63 return true; |
| 64 case mojom::TranslateError::UNSUPPORTED_LANGUAGE: |
| 65 *output = TranslateErrors::Type::UNSUPPORTED_LANGUAGE; |
| 66 return true; |
| 67 case mojom::TranslateError::IDENTICAL_LANGUAGES: |
| 68 *output = TranslateErrors::Type::IDENTICAL_LANGUAGES; |
| 69 return true; |
| 70 case mojom::TranslateError::TRANSLATION_ERROR: |
| 71 *output = TranslateErrors::Type::TRANSLATION_ERROR; |
| 72 return true; |
| 73 case mojom::TranslateError::TRANSLATION_TIMEOUT: |
| 74 *output = TranslateErrors::Type::TRANSLATION_TIMEOUT; |
| 75 return true; |
| 76 case mojom::TranslateError::UNEXPECTED_SCRIPT_ERROR: |
| 77 *output = TranslateErrors::Type::UNEXPECTED_SCRIPT_ERROR; |
| 78 return true; |
| 79 case mojom::TranslateError::BAD_ORIGIN: |
| 80 *output = TranslateErrors::Type::BAD_ORIGIN; |
| 81 return true; |
| 82 case mojom::TranslateError::SCRIPT_LOAD_ERROR: |
| 83 *output = TranslateErrors::Type::SCRIPT_LOAD_ERROR; |
| 84 return true; |
| 85 case mojom::TranslateError::TRANSLATE_ERROR_MAX: |
| 86 *output = TranslateErrors::Type::TRANSLATE_ERROR_MAX; |
| 87 return true; |
| 88 } |
| 89 |
| 90 NOTREACHED(); |
| 91 return false; |
| 92 } |
| 93 |
| 94 // static |
| 95 bool StructTraits<mojom::LanguageDetectionDetails, LanguageDetectionDetails>:: |
| 96 Read(mojom::LanguageDetectionDetailsDataView data, |
| 97 LanguageDetectionDetails* out) { |
| 98 if (!data.ReadTime(&out->time)) |
| 99 return false; |
| 100 if (!data.ReadUrl(&out->url)) |
| 101 return false; |
| 102 if (!data.ReadContentLanguage(&out->content_language)) |
| 103 return false; |
| 104 if (!data.ReadCldLanguage(&out->cld_language)) |
| 105 return false; |
| 106 |
| 107 out->is_cld_reliable = data.is_cld_reliable(); |
| 108 out->has_notranslate = data.has_notranslate(); |
| 109 |
| 110 if (!data.ReadHtmlRootLanguage(&out->html_root_language)) |
| 111 return false; |
| 112 if (!data.ReadAdoptedLanguage(&out->adopted_language)) |
| 113 return false; |
| 114 if (!data.ReadContents(&out->contents)) |
| 115 return false; |
| 116 |
| 117 return true; |
| 118 } |
| 119 |
| 120 } // namespace mojo |
OLD | NEW |