Avoid some widestring to bytestring conversions in fxjs.

None of the names have non-ascii characters.

Change-Id: I83a52d6276edf2f442fca33221f38f6a53c3ffe3
Reviewed-on: https://pdfium-review.googlesource.com/2816
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
diff --git a/fpdfsdk/javascript/JS_Define.h b/fpdfsdk/javascript/JS_Define.h
index 6ad0063..4f5cc5d 100644
--- a/fpdfsdk/javascript/JS_Define.h
+++ b/fpdfsdk/javascript/JS_Define.h
@@ -34,8 +34,6 @@
   v8::FunctionCallback pMethodCall;
 };
 
-#define JS_WIDESTRING(widestring) L## #widestring
-
 template <class C, bool (C::*M)(CJS_Runtime*, CJS_PropValue&, CFX_WideString&)>
 void JSPropGetter(const char* prop_name_string,
                   const char* class_name_string,
@@ -141,13 +139,13 @@
 // All JS classes have a name, an object defintion ID, and the ability to
 // register themselves with FXJS_V8. We never make a BASE class on its own
 // because it can't really do anything.
-#define DECLARE_JS_CLASS_BASE_PART()  \
-  static const wchar_t* g_pClassName; \
-  static int g_nObjDefnID;            \
+#define DECLARE_JS_CLASS_BASE_PART() \
+  static const char* g_pClassName;   \
+  static int g_nObjDefnID;           \
   static void DefineJSObjects(CFXJS_Engine* pEngine, FXJSOBJTYPE eObjType);
 
-#define IMPLEMENT_JS_CLASS_BASE_PART(js_class_name, class_name)           \
-  const wchar_t* js_class_name::g_pClassName = JS_WIDESTRING(class_name); \
+#define IMPLEMENT_JS_CLASS_BASE_PART(js_class_name, class_name) \
+  const char* js_class_name::g_pClassName = #class_name;        \
   int js_class_name::g_nObjDefnID = -1;
 
 // CONST classes provide constants, but not constructors, methods, or props.
diff --git a/fxjs/fxjs_v8.cpp b/fxjs/fxjs_v8.cpp
index 667d63b..a5eba1b 100644
--- a/fxjs/fxjs_v8.cpp
+++ b/fxjs/fxjs_v8.cpp
@@ -42,7 +42,7 @@
   }
 
   CFXJS_ObjDefinition(v8::Isolate* isolate,
-                      const wchar_t* sObjName,
+                      const char* sObjName,
                       FXJSOBJTYPE eObjType,
                       CFXJS_Engine::Constructor pConstructor,
                       CFXJS_Engine::Destructor pDestructor)
@@ -86,7 +86,7 @@
     return scope.Escape(m_Signature.Get(m_pIsolate));
   }
 
-  const wchar_t* const m_ObjName;
+  const char* const m_ObjName;
   const FXJSOBJTYPE m_ObjType;
   const CFXJS_Engine::Constructor m_pConstructor;
   const CFXJS_Engine::Destructor m_pDestructor;
@@ -257,7 +257,7 @@
   pObj->SetAlignedPointerInInternalField(0, nullptr);
 }
 
-int CFXJS_Engine::DefineObj(const wchar_t* sObjName,
+int CFXJS_Engine::DefineObj(const char* sObjName,
                             FXJSOBJTYPE eObjType,
                             CFXJS_Engine::Constructor pConstructor,
                             CFXJS_Engine::Destructor pDestructor) {
@@ -392,14 +392,14 @@
                                           ->ToObject(v8Context)
                                           .ToLocalChecked());
     } else if (pObjDef->m_ObjType == FXJSOBJTYPE_STATIC) {
-      CFX_ByteString bs = FX_UTF8Encode(CFX_WideStringC(pObjDef->m_ObjName));
-      v8::Local<v8::String> m_ObjName =
-          v8::String::NewFromUtf8(m_isolate, bs.c_str(),
-                                  v8::NewStringType::kNormal, bs.GetLength())
+      v8::Local<v8::String> pObjName =
+          v8::String::NewFromUtf8(m_isolate, pObjDef->m_ObjName,
+                                  v8::NewStringType::kNormal,
+                                  strlen(pObjDef->m_ObjName))
               .ToLocalChecked();
 
       v8::Local<v8::Object> obj = NewFxDynamicObj(i, true);
-      v8Context->Global()->Set(v8Context, m_ObjName, obj).FromJust();
+      v8Context->Global()->Set(v8Context, pObjName, obj).FromJust();
       m_StaticObjects[i] = new v8::Global<v8::Object>(m_isolate, obj);
     }
   }
diff --git a/fxjs/fxjs_v8.h b/fxjs/fxjs_v8.h
index e82218f..541566f 100644
--- a/fxjs/fxjs_v8.h
+++ b/fxjs/fxjs_v8.h
@@ -142,7 +142,7 @@
   v8::Isolate* GetIsolate() const { return m_isolate; }
 
   // Always returns a valid, newly-created objDefnID.
-  int DefineObj(const wchar_t* sObjName,
+  int DefineObj(const char* sObjName,
                 FXJSOBJTYPE eObjType,
                 Constructor pConstructor,
                 Destructor pDestructor);