Home | History | Annotate | Download | only in webui
      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 
     14 bool WebUIMessageHandler::ExtractIntegerValue(const 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 
     28 bool WebUIMessageHandler::ExtractDoubleValue(const 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 
     39 string16 WebUIMessageHandler::ExtractStringValue(const ListValue* value) {
     40   string16 string16_value;
     41   if (value->GetString(0, &string16_value))
     42     return string16_value;
     43   NOTREACHED();
     44   return string16();
     45 }
     46 
     47 }  // namespace content
     48