Re-subimission of https://codereview.chromium.org/1041213003/
[chromium-blink-merge.git] / content / browser / webui / web_ui_message_handler.cc
blob44f065d44ed6f90d94387cd2af0e9ffdbb029779
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.
5 #include "content/public/browser/web_ui_message_handler.h"
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"
12 namespace content {
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;
24 NOTREACHED();
25 return false;
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;
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();
48 } // namespace content