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 base::string16 WebUIMessageHandler::ExtractStringValue(const ListValue* value) { 40 base::string16 string16_value; 41 if (value->GetString(0, &string16_value)) 42 return string16_value; 43 NOTREACHED(); 44 return base::string16(); 45 } 46 47 } // namespace content 48