• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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