1 // Copyright (c) 2012 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/public/browser/web_ui_message_handler.h"
6
7 #include "base/logging.h"
8 #include "base/strings/string_number_conversions.h"
9 #include "base/strings/utf_string_conversions.h"
10 #include "base/values.h"
11
12 namespace content {
13
ExtractIntegerValue(const base::ListValue * value,int * out_int)14 bool WebUIMessageHandler::ExtractIntegerValue(const base::ListValue* value,
15 int* out_int) {
16 std::string string_value;
17 if (value->GetString(0, &string_value))
18 return base::StringToInt(string_value, out_int);
19 double double_value;
20 if (value->GetDouble(0, &double_value)) {
21 *out_int = static_cast<int>(double_value);
22 return true;
23 }
24 NOTREACHED();
25 return false;
26 }
27
ExtractDoubleValue(const base::ListValue * value,double * out_value)28 bool WebUIMessageHandler::ExtractDoubleValue(const base::ListValue* value,
29 double* out_value) {
30 std::string string_value;
31 if (value->GetString(0, &string_value))
32 return base::StringToDouble(string_value, out_value);
33 if (value->GetDouble(0, out_value))
34 return true;
35 NOTREACHED();
36 return false;
37 }
38
ExtractStringValue(const base::ListValue * value)39 base::string16 WebUIMessageHandler::ExtractStringValue(
40 const base::ListValue* value) {
41 base::string16 string16_value;
42 if (value->GetString(0, &string16_value))
43 return string16_value;
44 NOTREACHED();
45 return base::string16();
46 }
47
48 } // namespace content
49