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

Side by Side Diff: content/common/service_worker/service_worker_type_converters.cc

Issue 2678273011: Move service_worker_type_converters to content/renderer to avoid WebString() usage in browser (Closed)
Patch Set: move _type_converter security OWNERS entry to renderer/ too Created 3 years, 10 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 unified diff | Download patch
OLDNEW
(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
OLDNEW
« no previous file with comments | « content/common/service_worker/service_worker_type_converters.h ('k') | content/renderer/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698