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

Side by Side Diff: headless/lib/browser/types_cc.template

Issue 1906493002: headless: Replace headless::Maybe with base::Optional (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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
« no previous file with comments | « headless/BUILD.gn ('k') | headless/lib/browser/types_h.template » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // This file is generated 1 // This file is generated
2 2
3 // Copyright 2016 The Chromium Authors. All rights reserved. 3 // Copyright 2016 The Chromium Authors. All rights reserved.
4 // Use of this source code is governed by a BSD-style license that can be 4 // Use of this source code is governed by a BSD-style license that can be
5 // found in the LICENSE file. 5 // found in the LICENSE file.
6 6
7 #include "headless/public/domains/types.h" 7 #include "headless/public/domains/types.h"
8 8
9 #include "base/memory/ptr_util.h" 9 #include "base/memory/ptr_util.h"
10 #include "headless/public/domains/type_conversions.h" 10 #include "headless/public/domains/type_conversions.h"
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 76
77 std::unique_ptr<{{type.id}}> result(new {{type.id}}()); 77 std::unique_ptr<{{type.id}}> result(new {{type.id}}());
78 errors->Push(); 78 errors->Push();
79 errors->SetName("{{type.id}}"); 79 errors->SetName("{{type.id}}");
80 {% for property in type.properties %} 80 {% for property in type.properties %}
81 {% set value_name = property.name | camelcase_to_hacker_style + "_value" % } 81 {% set value_name = property.name | camelcase_to_hacker_style + "_value" % }
82 const base::Value* {{value_name}}; 82 const base::Value* {{value_name}};
83 if (object->Get("{{property.name}}", &{{value_name}})) { 83 if (object->Get("{{property.name}}", &{{value_name}})) {
84 errors->SetName("{{property.name}}"); 84 errors->SetName("{{property.name}}");
85 {% if property.optional %} 85 {% if property.optional %}
86 result->{{property.name | camelcase_to_hacker_style}}_ = Just(internal::From Value<{{resolve_type(property).raw_type}}>::Parse(*{{value_name}}, errors)); 86 result->{{property.name | camelcase_to_hacker_style}}_ = internal::FromValue <{{resolve_type(property).raw_type}}>::Parse(*{{value_name}}, errors);
87 {% else %} 87 {% else %}
88 result->{{property.name | camelcase_to_hacker_style}}_ = internal::FromValue <{{resolve_type(property).raw_type}}>::Parse(*{{value_name}}, errors); 88 result->{{property.name | camelcase_to_hacker_style}}_ = internal::FromValue <{{resolve_type(property).raw_type}}>::Parse(*{{value_name}}, errors);
89 {% endif %} 89 {% endif %}
90 {% if property.optional %} 90 {% if property.optional %}
91 } 91 }
92 {% else %} 92 {% else %}
93 } else { 93 } else {
94 errors->AddError("required property missing: {{property.name}}"); 94 errors->AddError("required property missing: {{property.name}}");
95 } 95 }
96 {% endif %} 96 {% endif %}
97 {% endfor %} 97 {% endfor %}
98 errors->Pop(); 98 errors->Pop();
99 errors->Pop(); 99 errors->Pop();
100 if (errors->HasErrors()) 100 if (errors->HasErrors())
101 return nullptr; 101 return nullptr;
102 return result; 102 return result;
103 } 103 }
104 104
105 std::unique_ptr<base::Value> {{type.id}}::Serialize() const { 105 std::unique_ptr<base::Value> {{type.id}}::Serialize() const {
106 std::unique_ptr<base::DictionaryValue> result(new base::DictionaryValue()); 106 std::unique_ptr<base::DictionaryValue> result(new base::DictionaryValue());
107 {% for property in type.properties %} 107 {% for property in type.properties %}
108 {% set type = resolve_type(property) %} 108 {% set type = resolve_type(property) %}
109 {% if property.optional %} 109 {% if property.optional %}
110 if ({{property.name | camelcase_to_hacker_style}}_.IsJust()) 110 if ({{property.name | camelcase_to_hacker_style}}_)
111 result->Set("{{property.name}}", internal::ToValue({{type.to_raw_type % ("%s _.FromJust()" % property.name | camelcase_to_hacker_style)}})); 111 result->Set("{{property.name}}", internal::ToValue({{type.to_raw_type % ("%s _.value()" % property.name | camelcase_to_hacker_style)}}));
112 {% else %} 112 {% else %}
113 result->Set("{{property.name}}", internal::ToValue({{type.to_raw_type % ("%s_" % property.name | camelcase_to_hacker_style)}})); 113 result->Set("{{property.name}}", internal::ToValue({{type.to_raw_type % ("%s_" % property.name | camelcase_to_hacker_style)}}));
114 {% endif %} 114 {% endif %}
115 {% endfor %} 115 {% endfor %}
116 return std::move(result); 116 return std::move(result);
117 } 117 }
118 118
119 std::unique_ptr<{{type.id}}> {{type.id}}::Clone() const { 119 std::unique_ptr<{{type.id}}> {{type.id}}::Clone() const {
120 ErrorReporter errors; 120 ErrorReporter errors;
121 std::unique_ptr<{{type.id}}> result = Parse(*Serialize(), &errors); 121 std::unique_ptr<{{type.id}}> result = Parse(*Serialize(), &errors);
122 DCHECK(!errors.HasErrors()); 122 DCHECK(!errors.HasErrors());
123 return result; 123 return result;
124 } 124 }
125 125
126 {% endfor %} 126 {% endfor %}
127 } // namespace {{domain.domain | camelcase_to_hacker_style}} 127 } // namespace {{domain.domain | camelcase_to_hacker_style}}
128 {% endfor %} 128 {% endfor %}
129 129
130 } // namespace headless 130 } // namespace headless
OLDNEW
« no previous file with comments | « headless/BUILD.gn ('k') | headless/lib/browser/types_h.template » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698