| OLD | NEW |
| (Empty) |
| 1 // Copyright 2015 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 "content/common/service_worker/service_worker_type_converters.h" | |
| 6 | |
| 7 #include "base/logging.h" | |
| 8 | |
| 9 namespace mojo { | |
| 10 | |
| 11 // TODO(iclelland): Make these enums equivalent so that conversion can be a | |
| 12 // static cast. | |
| 13 content::ServiceWorkerStatusCode | |
| 14 TypeConverter<content::ServiceWorkerStatusCode, | |
| 15 blink::mojom::ServiceWorkerEventStatus>:: | |
| 16 Convert(blink::mojom::ServiceWorkerEventStatus status) { | |
| 17 content::ServiceWorkerStatusCode status_code; | |
| 18 if (status == blink::mojom::ServiceWorkerEventStatus::COMPLETED) { | |
| 19 status_code = content::SERVICE_WORKER_OK; | |
| 20 } else if (status == blink::mojom::ServiceWorkerEventStatus::REJECTED) { | |
| 21 status_code = content::SERVICE_WORKER_ERROR_EVENT_WAITUNTIL_REJECTED; | |
| 22 } else if (status == blink::mojom::ServiceWorkerEventStatus::ABORTED) { | |
| 23 status_code = content::SERVICE_WORKER_ERROR_ABORT; | |
| 24 } else { | |
| 25 // We received an unexpected value back. This can theoretically happen as | |
| 26 // mojo doesn't validate enum values. | |
| 27 status_code = content::SERVICE_WORKER_ERROR_IPC_FAILED; | |
| 28 } | |
| 29 return status_code; | |
| 30 } | |
| 31 | |
| 32 blink::WebPaymentAppRequest | |
| 33 TypeConverter<blink::WebPaymentAppRequest, | |
| 34 payments::mojom::PaymentAppRequestPtr>:: | |
| 35 Convert(const payments::mojom::PaymentAppRequestPtr& input) { | |
| 36 blink::WebPaymentAppRequest output; | |
| 37 | |
| 38 output.origin = blink::WebString::fromUTF8(input->origin.spec()); | |
| 39 | |
| 40 output.methodData = | |
| 41 blink::WebVector<blink::WebPaymentMethodData>(input->methodData.size()); | |
| 42 for (size_t i = 0; i < input->methodData.size(); i++) { | |
| 43 output.methodData[i] = mojo::ConvertTo<blink::WebPaymentMethodData>( | |
| 44 std::move(input->methodData[i])); | |
| 45 } | |
| 46 | |
| 47 output.total = mojo::ConvertTo<blink::WebPaymentItem>(input->total); | |
| 48 | |
| 49 output.modifiers = blink::WebVector<blink::WebPaymentDetailsModifier>( | |
| 50 input->modifiers.size()); | |
| 51 for (size_t i = 0; i < input->modifiers.size(); i++) { | |
| 52 output.modifiers[i] = | |
| 53 mojo::ConvertTo<blink::WebPaymentDetailsModifier>(input->modifiers[i]); | |
| 54 } | |
| 55 | |
| 56 output.optionId = blink::WebString::fromUTF8(input->optionId); | |
| 57 | |
| 58 return output; | |
| 59 } | |
| 60 | |
| 61 blink::WebPaymentMethodData | |
| 62 TypeConverter<blink::WebPaymentMethodData, | |
| 63 payments::mojom::PaymentMethodDataPtr>:: | |
| 64 Convert(const payments::mojom::PaymentMethodDataPtr& input) { | |
| 65 blink::WebPaymentMethodData output; | |
| 66 | |
| 67 output.supportedMethods = | |
| 68 blink::WebVector<blink::WebString>(input->supported_methods.size()); | |
| 69 for (size_t i = 0; i < input->supported_methods.size(); i++) { | |
| 70 output.supportedMethods[i] = | |
| 71 blink::WebString::fromUTF8(input->supported_methods[i]); | |
| 72 } | |
| 73 | |
| 74 output.stringifiedData = blink::WebString::fromUTF8(input->stringified_data); | |
| 75 | |
| 76 return output; | |
| 77 } | |
| 78 | |
| 79 blink::WebPaymentItem | |
| 80 TypeConverter<blink::WebPaymentItem, payments::mojom::PaymentItemPtr>::Convert( | |
| 81 const payments::mojom::PaymentItemPtr& input) { | |
| 82 blink::WebPaymentItem output; | |
| 83 output.label = blink::WebString::fromUTF8(input->label); | |
| 84 output.amount = | |
| 85 mojo::ConvertTo<blink::WebPaymentCurrencyAmount>(input->amount); | |
| 86 output.pending = input->pending; | |
| 87 return output; | |
| 88 } | |
| 89 | |
| 90 blink::WebPaymentCurrencyAmount | |
| 91 TypeConverter<blink::WebPaymentCurrencyAmount, | |
| 92 payments::mojom::PaymentCurrencyAmountPtr>:: | |
| 93 Convert(const payments::mojom::PaymentCurrencyAmountPtr& input) { | |
| 94 blink::WebPaymentCurrencyAmount output; | |
| 95 output.currency = blink::WebString::fromUTF8(input->currency); | |
| 96 output.value = blink::WebString::fromUTF8(input->value); | |
| 97 output.currencySystem = blink::WebString::fromUTF8(input->currency_system); | |
| 98 return output; | |
| 99 } | |
| 100 | |
| 101 blink::WebPaymentDetailsModifier | |
| 102 TypeConverter<blink::WebPaymentDetailsModifier, | |
| 103 payments::mojom::PaymentDetailsModifierPtr>:: | |
| 104 Convert(const payments::mojom::PaymentDetailsModifierPtr& input) { | |
| 105 blink::WebPaymentDetailsModifier output; | |
| 106 | |
| 107 output.supportedMethods = blink::WebVector<blink::WebString>( | |
| 108 input->method_data->supported_methods.size()); | |
| 109 for (size_t i = 0; i < input->method_data->supported_methods.size(); i++) { | |
| 110 output.supportedMethods[i] = | |
| 111 blink::WebString::fromUTF8(input->method_data->supported_methods[i]); | |
| 112 } | |
| 113 | |
| 114 output.total = mojo::ConvertTo<blink::WebPaymentItem>(input->total); | |
| 115 | |
| 116 output.additionalDisplayItems = blink::WebVector<blink::WebPaymentItem>( | |
| 117 input->additional_display_items.size()); | |
| 118 for (size_t i = 0; i < input->additional_display_items.size(); i++) { | |
| 119 output.additionalDisplayItems[i] = mojo::ConvertTo<blink::WebPaymentItem>( | |
| 120 input->additional_display_items[i]); | |
| 121 } | |
| 122 | |
| 123 output.stringifiedData = | |
| 124 blink::WebString::fromUTF8(input->method_data->stringified_data); | |
| 125 | |
| 126 return output; | |
| 127 } | |
| 128 | |
| 129 } // namespace | |
| OLD | NEW |