Browse Source

move gurl converter to gin (#19578)

Micha Hanselmann 5 years ago
parent
commit
a8861e6a66

+ 1 - 0
filenames.gni

@@ -479,6 +479,7 @@ filenames = {
     "shell/common/crash_reporter/win/crash_service_main.h",
     "shell/common/gin_converters/file_dialog_converter_gin_adapter.h",
     "shell/common/gin_converters/file_path_converter.h",
+    "shell/common/gin_converters/gurl_converter.h",
     "shell/common/gin_converters/image_converter_gin_adapter.h",
     "shell/common/gin_converters/message_box_converter.cc",
     "shell/common/gin_converters/message_box_converter.h",

+ 35 - 0
shell/common/gin_converters/gurl_converter.h

@@ -0,0 +1,35 @@
+// Copyright (c) 2019 GitHub, Inc.
+// Use of this source code is governed by the MIT license that can be
+// found in the LICENSE file.
+
+#ifndef SHELL_COMMON_GIN_CONVERTERS_GURL_CONVERTER_H_
+#define SHELL_COMMON_GIN_CONVERTERS_GURL_CONVERTER_H_
+
+#include <string>
+
+#include "gin/converter.h"
+#include "url/gurl.h"
+
+namespace gin {
+
+template <>
+struct Converter<GURL> {
+  static v8::Local<v8::Value> ToV8(v8::Isolate* isolate, const GURL& val) {
+    return ConvertToV8(isolate, val.spec());
+  }
+  static bool FromV8(v8::Isolate* isolate,
+                     v8::Local<v8::Value> val,
+                     GURL* out) {
+    std::string url;
+    if (Converter<std::string>::FromV8(isolate, val, &url)) {
+      *out = GURL(url);
+      return true;
+    } else {
+      return false;
+    }
+  }
+};
+
+}  // namespace gin
+
+#endif  // SHELL_COMMON_GIN_CONVERTERS_GURL_CONVERTER_H_

+ 3 - 11
shell/common/native_mate_converters/gurl_converter.h

@@ -5,28 +5,20 @@
 #ifndef SHELL_COMMON_NATIVE_MATE_CONVERTERS_GURL_CONVERTER_H_
 #define SHELL_COMMON_NATIVE_MATE_CONVERTERS_GURL_CONVERTER_H_
 
-#include <string>
-
 #include "native_mate/converter.h"
-#include "url/gurl.h"
+#include "shell/common/gin_converters/gurl_converter.h"
 
 namespace mate {
 
 template <>
 struct Converter<GURL> {
   static v8::Local<v8::Value> ToV8(v8::Isolate* isolate, const GURL& val) {
-    return ConvertToV8(isolate, val.spec());
+    return gin::ConvertToV8(isolate, val);
   }
   static bool FromV8(v8::Isolate* isolate,
                      v8::Local<v8::Value> val,
                      GURL* out) {
-    std::string url;
-    if (Converter<std::string>::FromV8(isolate, val, &url)) {
-      *out = GURL(url);
-      return true;
-    } else {
-      return false;
-    }
+    return gin::ConvertFromV8(isolate, val, out);
   }
 };