Stop using deprecated V8 APIs in CFXJSE_Context.

Change-Id: Ib93972d3162c37995dfc215d1043e0e1b4220610
Reviewed-on: https://pdfium-review.googlesource.com/41410
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/fxjs/cfxjse_context.cpp b/fxjs/cfxjse_context.cpp
index 5d40f6f..eac4caf 100644
--- a/fxjs/cfxjse_context.cpp
+++ b/fxjs/cfxjse_context.cpp
@@ -57,39 +57,62 @@
                                         v8::TryCatch& trycatch) {
   v8::Local<v8::Object> hReturnValue = v8::Object::New(pIsolate);
   if (trycatch.HasCaught()) {
+    v8::Local<v8::Context> context = pIsolate->GetCurrentContext();
     v8::Local<v8::Value> hException = trycatch.Exception();
     v8::Local<v8::Message> hMessage = trycatch.Message();
     if (hException->IsObject()) {
-      v8::Local<v8::Value> hValue;
-      hValue = hException.As<v8::Object>()->Get(
-          v8::String::NewFromUtf8(pIsolate, "name"));
-      if (hValue->IsString() || hValue->IsStringObject())
-        hReturnValue->Set(0, hValue);
-      else
-        hReturnValue->Set(0, v8::String::NewFromUtf8(pIsolate, "Error"));
+      v8::Local<v8::String> hNameStr =
+          v8::String::NewFromUtf8(pIsolate, "name", v8::NewStringType::kNormal)
+              .ToLocalChecked();
+      v8::Local<v8::Value> hValue =
+          hException.As<v8::Object>()->Get(context, hNameStr).ToLocalChecked();
+      if (hValue->IsString() || hValue->IsStringObject()) {
+        hReturnValue->Set(context, 0, hValue).FromJust();
+      } else {
+        v8::Local<v8::String> hErrorStr =
+            v8::String::NewFromUtf8(pIsolate, "Error",
+                                    v8::NewStringType::kNormal)
+                .ToLocalChecked();
+        hReturnValue->Set(context, 0, hErrorStr).FromJust();
+      }
 
-      hValue = hException.As<v8::Object>()->Get(
-          v8::String::NewFromUtf8(pIsolate, "message"));
+      v8::Local<v8::String> hMessageStr =
+          v8::String::NewFromUtf8(pIsolate, "message",
+                                  v8::NewStringType::kNormal)
+              .ToLocalChecked();
+      hValue = hException.As<v8::Object>()
+                   ->Get(context, hMessageStr)
+                   .ToLocalChecked();
       if (hValue->IsString() || hValue->IsStringObject())
-        hReturnValue->Set(1, hValue);
+        hReturnValue->Set(context, 1, hValue).FromJust();
       else
-        hReturnValue->Set(1, hMessage->Get());
+        hReturnValue->Set(context, 1, hMessage->Get()).FromJust();
     } else {
-      hReturnValue->Set(0, v8::String::NewFromUtf8(pIsolate, "Error"));
-      hReturnValue->Set(1, hMessage->Get());
+      v8::Local<v8::String> hErrorStr =
+          v8::String::NewFromUtf8(pIsolate, "Error", v8::NewStringType::kNormal)
+              .ToLocalChecked();
+      hReturnValue->Set(context, 0, hErrorStr).FromJust();
+      hReturnValue->Set(context, 1, hMessage->Get()).FromJust();
     }
-    hReturnValue->Set(2, hException);
-    hReturnValue->Set(
-        3, v8::Integer::New(
-               pIsolate, hMessage->GetLineNumber(pIsolate->GetCurrentContext())
-                             .FromMaybe(0)));
-    hReturnValue->Set(4, hMessage->GetSourceLine(pIsolate->GetCurrentContext())
-                             .FromMaybe(v8::Local<v8::String>()));
-    v8::Maybe<int32_t> maybe_int =
-        hMessage->GetStartColumn(pIsolate->GetCurrentContext());
-    hReturnValue->Set(5, v8::Integer::New(pIsolate, maybe_int.FromMaybe(0)));
-    maybe_int = hMessage->GetEndColumn(pIsolate->GetCurrentContext());
-    hReturnValue->Set(6, v8::Integer::New(pIsolate, maybe_int.FromMaybe(0)));
+    hReturnValue->Set(context, 2, hException).FromJust();
+    hReturnValue
+        ->Set(context, 3,
+              v8::Integer::New(pIsolate,
+                               hMessage->GetLineNumber(context).FromMaybe(0)))
+        .FromJust();
+    hReturnValue
+        ->Set(
+            context, 4,
+            hMessage->GetSourceLine(context).FromMaybe(v8::Local<v8::String>()))
+        .FromJust();
+    v8::Maybe<int32_t> maybe_int = hMessage->GetStartColumn(context);
+    hReturnValue
+        ->Set(context, 5, v8::Integer::New(pIsolate, maybe_int.FromMaybe(0)))
+        .FromJust();
+    maybe_int = hMessage->GetEndColumn(context);
+    hReturnValue
+        ->Set(context, 6, v8::Integer::New(pIsolate, maybe_int.FromMaybe(0)))
+        .FromJust();
   }
   return hReturnValue;
 }
@@ -238,7 +261,9 @@
   v8::Local<v8::Context> hContext = GetIsolate()->GetCurrentContext();
   v8::TryCatch trycatch(GetIsolate());
   v8::Local<v8::String> hScriptString =
-      v8::String::NewFromUtf8(GetIsolate(), szScript);
+      v8::String::NewFromUtf8(GetIsolate(), szScript,
+                              v8::NewStringType::kNormal)
+          .ToLocalChecked();
   if (!lpNewThisObject) {
     v8::Local<v8::Script> hScript;
     if (v8::Script::Compile(hContext, hScriptString).ToLocal(&hScript)) {
@@ -261,12 +286,13 @@
   v8::Local<v8::Value> hNewThis =
       v8::Local<v8::Value>::New(GetIsolate(), lpNewThisObject->m_hValue);
   ASSERT(!hNewThis.IsEmpty());
-  v8::Local<v8::Script> hWrapper =
-      v8::Script::Compile(
-          hContext,
-          v8::String::NewFromUtf8(
-              GetIsolate(), "(function () { return eval(arguments[0]); })"))
+  v8::Local<v8::String> hEval =
+      v8::String::NewFromUtf8(GetIsolate(),
+                              "(function () { return eval(arguments[0]); })",
+                              v8::NewStringType::kNormal)
           .ToLocalChecked();
+  v8::Local<v8::Script> hWrapper =
+      v8::Script::Compile(hContext, hEval).ToLocalChecked();
   v8::Local<v8::Value> hWrapperValue;
   if (hWrapper->Run(hContext).ToLocal(&hWrapperValue)) {
     ASSERT(!trycatch.HasCaught());