Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(145)

Unified Diff: components/translate/content/common/translate_struct_traits.cc

Issue 2143383002: [Translate] Migrate IPCs to Mojo interfaces. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix trybots Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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
« no previous file with comments | « components/translate/content/common/translate_struct_traits.h ('k') | components/translate/content/renderer/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698