Migrate to the new v8::String::Write* APIs

In https://crrev.com/c/5975682 we introduced new versions of the
v8::String::Write* APIs. This CL migrates the chromium uses of the old
APIs to the new ones.

Bug: 373485796, 376071292
Change-Id: I1905a9b65638c85580ea73b04edd8328f16fd683
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6018204
Reviewed-by: Daniel Cheng <[email protected]>
Commit-Queue: Samuel Groß <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1384241}
diff --git a/components/translate/content/renderer/translate_agent.cc b/components/translate/content/renderer/translate_agent.cc
index d8e6da65..bee5bb61 100644
--- a/components/translate/content/renderer/translate_agent.cc
+++ b/components/translate/content/renderer/translate_agent.cc
@@ -370,12 +370,13 @@
   }
 
   v8::Local<v8::String> v8_str = result.As<v8::String>();
-  int length = v8_str->Utf8Length(isolate);
-  if (length <= 0)
+  size_t length = v8_str->Utf8LengthV2(isolate);
+  if (length == 0) {
     return std::string();
+  }
 
-  std::string str(static_cast<size_t>(length), '\0');
-  v8_str->WriteUtf8(isolate, &str[0], length);
+  std::string str(length, '\0');
+  v8_str->WriteUtf8V2(isolate, str.data(), length);
   return str;
 }