#include "eweb_view.h"
+#include <Ecore_Evas.h>
+#include <Eina.h>
+#include <Elementary.h>
+
#include "base/command_line.h"
#include "base/files/file_path.h"
+#include "base/json/json_string_value_serializer.h"
#include "base/logging.h"
#include "base/pickle.h"
#include "base/strings/utf_string_conversions.h"
#include "web_contents_delegate_efl.h"
#include "web_contents_efl_delegate_ewk.h"
-#include <Ecore_Evas.h>
-#include <Elementary.h>
-#include <Eina.h>
-
#include <iostream>
using namespace content;
if (!script_callback_data->callback_func_)
return;
- std::string return_string = result.GetString();
+ std::string return_string;
+ if (result.is_string()) {
+ // We don't want to serialize strings with JSONStringValueSerializer
+ // to avoid quotation marks.
+ return_string = result.GetString();
+ } else if (result.is_none()) {
+ // Value::TYPE_NULL is for lack of value, undefined, null
+ return_string = "";
+ } else {
+ JSONStringValueSerializer serializer(&return_string);
+ serializer.Serialize(result);
+ }
+
script_callback_data->callback_func_(script_callback_data->view_,
return_string.c_str(),
script_callback_data->user_data_);