Index: gpu/ipc/common/gpu_info_struct_traits.cc |
diff --git a/gpu/ipc/common/gpu_info_struct_traits.cc b/gpu/ipc/common/gpu_info_struct_traits.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..6bcea5ce9ea1324912c68afa199eb52964e06e1d |
--- /dev/null |
+++ b/gpu/ipc/common/gpu_info_struct_traits.cc |
@@ -0,0 +1,60 @@ |
+// 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 "gpu/ipc/common/gpu_info_struct_traits.h" |
+ |
+namespace mojo { |
+ |
+// static |
+bool StructTraits<gpu::mojom::GpuDevice, gpu::GPUInfo::GPUDevice>::Read( |
+ gpu::mojom::GpuDeviceDataView data, |
+ gpu::GPUInfo::GPUDevice* out) { |
+ out->vendor_id = data.vendor_id(); |
+ out->device_id = data.device_id(); |
+ out->active = data.active(); |
+ return data.ReadVendorString(&out->vendor_string) && |
+ data.ReadDeviceString(&out->device_string); |
+} |
+ |
+// static |
+gpu::mojom::CollectInfoResult |
+EnumTraits<gpu::mojom::CollectInfoResult, gpu::CollectInfoResult>::ToMojom( |
+ gpu::CollectInfoResult collect_info_result) { |
+ switch (collect_info_result) { |
+ case gpu::CollectInfoResult::kCollectInfoNone: |
+ return gpu::mojom::CollectInfoResult::kCollectInfoNone; |
+ case gpu::CollectInfoResult::kCollectInfoSuccess: |
+ return gpu::mojom::CollectInfoResult::kCollectInfoSuccess; |
+ case gpu::CollectInfoResult::kCollectInfoNonFatalFailure: |
+ return gpu::mojom::CollectInfoResult::kCollectInfoNonFatalFailure; |
+ case gpu::CollectInfoResult::kCollectInfoFatalFailure: |
+ return gpu::mojom::CollectInfoResult::kCollectInfoFatalFailure; |
+ } |
+ NOTREACHED() << "Invalid CollectInfoResult value:" << collect_info_result; |
+ return gpu::mojom::CollectInfoResult::kCollectInfoNone; |
+} |
+ |
+// static |
+bool EnumTraits<gpu::mojom::CollectInfoResult, gpu::CollectInfoResult>:: |
+ FromMojom(gpu::mojom::CollectInfoResult input, |
+ gpu::CollectInfoResult* out) { |
+ switch (input) { |
+ case gpu::mojom::CollectInfoResult::kCollectInfoNone: |
+ *out = gpu::CollectInfoResult::kCollectInfoNone; |
+ return true; |
+ case gpu::mojom::CollectInfoResult::kCollectInfoSuccess: |
+ *out = gpu::CollectInfoResult::kCollectInfoSuccess; |
+ return true; |
+ case gpu::mojom::CollectInfoResult::kCollectInfoNonFatalFailure: |
+ *out = gpu::CollectInfoResult::kCollectInfoNonFatalFailure; |
+ return true; |
+ case gpu::mojom::CollectInfoResult::kCollectInfoFatalFailure: |
+ *out = gpu::CollectInfoResult::kCollectInfoFatalFailure; |
+ return true; |
+ } |
+ NOTREACHED() << "Invalid CollectInfoResult value:" << input; |
+ return false; |
+} |
+ |
+} // namespace mojo |