Index: extensions/renderer/process_info_native_handler.cc |
diff --git a/extensions/renderer/process_info_native_handler.cc b/extensions/renderer/process_info_native_handler.cc |
index b8fcb57343453998a393ad5ea934f075322ccc5d..adc575614e2b6dca208279609a61acf45067e20e 100644 |
--- a/extensions/renderer/process_info_native_handler.cc |
+++ b/extensions/renderer/process_info_native_handler.cc |
@@ -7,6 +7,7 @@ |
#include "base/bind.h" |
#include "base/command_line.h" |
#include "extensions/renderer/script_context.h" |
+#include "extensions/renderer/v8_maybe_helpers.h" |
namespace extensions { |
@@ -50,14 +51,18 @@ ProcessInfoNativeHandler::ProcessInfoNativeHandler( |
void ProcessInfoNativeHandler::GetExtensionId( |
const v8::FunctionCallbackInfo<v8::Value>& args) { |
- args.GetReturnValue().Set( |
- v8::String::NewFromUtf8(args.GetIsolate(), extension_id_.c_str())); |
+ if (extension_id_.size() >= v8::String::kMaxLength) |
+ return; |
+ args.GetReturnValue().Set(ToV8String(args.GetIsolate(), |
+ extension_id_.c_str())); |
} |
void ProcessInfoNativeHandler::GetContextType( |
const v8::FunctionCallbackInfo<v8::Value>& args) { |
- args.GetReturnValue().Set( |
- v8::String::NewFromUtf8(args.GetIsolate(), context_type_.c_str())); |
+ if (context_type_.size() >= v8::String::kMaxLength) |
+ return; |
+ args.GetReturnValue().Set(ToV8String(args.GetIsolate(), |
+ context_type_.c_str())); |
} |
void ProcessInfoNativeHandler::InIncognitoContext( |
@@ -78,7 +83,7 @@ void ProcessInfoNativeHandler::GetManifestVersion( |
void ProcessInfoNativeHandler::IsSendRequestDisabled( |
const v8::FunctionCallbackInfo<v8::Value>& args) { |
if (send_request_disabled_) { |
- args.GetReturnValue().Set(v8::String::NewFromUtf8( |
+ args.GetReturnValue().Set(ToV8String( |
args.GetIsolate(), |
"sendRequest and onRequest are obsolete." |
" Please use sendMessage and onMessage instead.")); |