Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(272)

Unified Diff: fpdfsdk/jsapi/fxjs_v8.cpp

Issue 1883273003: Pass WideStrings without narrowing to c_str in javascript/ (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Missed one caller. Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « fpdfsdk/javascript/global.cpp ('k') | fpdfsdk/jsapi/include/fxjs_v8.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: fpdfsdk/jsapi/fxjs_v8.cpp
diff --git a/fpdfsdk/jsapi/fxjs_v8.cpp b/fpdfsdk/jsapi/fxjs_v8.cpp
index c66cf91b56010241b92662e567837045b644a3cc..a471d5613d42729b83d2db314ae235f274420a46 100644
--- a/fpdfsdk/jsapi/fxjs_v8.cpp
+++ b/fpdfsdk/jsapi/fxjs_v8.cpp
@@ -583,25 +583,24 @@ void FXJS_FreePrivate(v8::Local<v8::Object> pObj) {
}
v8::Local<v8::String> FXJS_WSToJSString(v8::Isolate* pIsolate,
- const wchar_t* PropertyName,
- int Len) {
- CFX_WideString ws = CFX_WideString(PropertyName, Len);
- CFX_ByteString bs = ws.UTF8Encode();
+ const CFX_WideString& wsPropertyName) {
+ CFX_ByteString bs = wsPropertyName.UTF8Encode();
if (!pIsolate)
pIsolate = v8::Isolate::GetCurrent();
return v8::String::NewFromUtf8(pIsolate, bs.c_str(),
- v8::NewStringType::kNormal)
+ v8::NewStringType::kNormal, bs.GetLength())
.ToLocalChecked();
}
-v8::Local<v8::Value> FXJS_GetObjectElement(v8::Isolate* pIsolate,
- v8::Local<v8::Object> pObj,
- const wchar_t* PropertyName) {
+v8::Local<v8::Value> FXJS_GetObjectElement(
+ v8::Isolate* pIsolate,
+ v8::Local<v8::Object> pObj,
+ const CFX_WideString& wsPropertyName) {
if (pObj.IsEmpty())
return v8::Local<v8::Value>();
v8::Local<v8::Value> val;
if (!pObj->Get(pIsolate->GetCurrentContext(),
- FXJS_WSToJSString(pIsolate, PropertyName))
+ FXJS_WSToJSString(pIsolate, wsPropertyName))
.ToLocal(&val))
return v8::Local<v8::Value>();
return val;
@@ -619,82 +618,83 @@ v8::Local<v8::Array> FXJS_GetObjectElementNames(v8::Isolate* pIsolate,
void FXJS_PutObjectString(v8::Isolate* pIsolate,
v8::Local<v8::Object> pObj,
- const wchar_t* PropertyName,
- const wchar_t* sValue) {
+ const CFX_WideString& wsPropertyName,
+ const CFX_WideString& wsValue) {
if (pObj.IsEmpty())
return;
pObj->Set(pIsolate->GetCurrentContext(),
- FXJS_WSToJSString(pIsolate, PropertyName),
- FXJS_WSToJSString(pIsolate, sValue))
+ FXJS_WSToJSString(pIsolate, wsPropertyName),
+ FXJS_WSToJSString(pIsolate, wsValue))
.FromJust();
}
void FXJS_PutObjectNumber(v8::Isolate* pIsolate,
v8::Local<v8::Object> pObj,
- const wchar_t* PropertyName,
+ const CFX_WideString& wsPropertyName,
int nValue) {
if (pObj.IsEmpty())
return;
pObj->Set(pIsolate->GetCurrentContext(),
- FXJS_WSToJSString(pIsolate, PropertyName),
+ FXJS_WSToJSString(pIsolate, wsPropertyName),
v8::Int32::New(pIsolate, nValue))
.FromJust();
}
void FXJS_PutObjectNumber(v8::Isolate* pIsolate,
v8::Local<v8::Object> pObj,
- const wchar_t* PropertyName,
+ const CFX_WideString& wsPropertyName,
float fValue) {
if (pObj.IsEmpty())
return;
pObj->Set(pIsolate->GetCurrentContext(),
- FXJS_WSToJSString(pIsolate, PropertyName),
+ FXJS_WSToJSString(pIsolate, wsPropertyName),
v8::Number::New(pIsolate, (double)fValue))
.FromJust();
}
void FXJS_PutObjectNumber(v8::Isolate* pIsolate,
v8::Local<v8::Object> pObj,
- const wchar_t* PropertyName,
+ const CFX_WideString& wsPropertyName,
double dValue) {
if (pObj.IsEmpty())
return;
pObj->Set(pIsolate->GetCurrentContext(),
- FXJS_WSToJSString(pIsolate, PropertyName),
+ FXJS_WSToJSString(pIsolate, wsPropertyName),
v8::Number::New(pIsolate, (double)dValue))
.FromJust();
}
void FXJS_PutObjectBoolean(v8::Isolate* pIsolate,
v8::Local<v8::Object> pObj,
- const wchar_t* PropertyName,
+ const CFX_WideString& wsPropertyName,
bool bValue) {
if (pObj.IsEmpty())
return;
pObj->Set(pIsolate->GetCurrentContext(),
- FXJS_WSToJSString(pIsolate, PropertyName),
+ FXJS_WSToJSString(pIsolate, wsPropertyName),
v8::Boolean::New(pIsolate, bValue))
.FromJust();
}
void FXJS_PutObjectObject(v8::Isolate* pIsolate,
v8::Local<v8::Object> pObj,
- const wchar_t* PropertyName,
+ const CFX_WideString& wsPropertyName,
v8::Local<v8::Object> pPut) {
if (pObj.IsEmpty())
return;
pObj->Set(pIsolate->GetCurrentContext(),
- FXJS_WSToJSString(pIsolate, PropertyName), pPut)
+ FXJS_WSToJSString(pIsolate, wsPropertyName), pPut)
.FromJust();
}
void FXJS_PutObjectNull(v8::Isolate* pIsolate,
v8::Local<v8::Object> pObj,
- const wchar_t* PropertyName) {
+ const CFX_WideString& wsPropertyName) {
if (pObj.IsEmpty())
return;
pObj->Set(pIsolate->GetCurrentContext(),
- FXJS_WSToJSString(pIsolate, PropertyName), v8::Local<v8::Object>())
+ FXJS_WSToJSString(pIsolate, wsPropertyName),
+ v8::Local<v8::Object>())
.FromJust();
}
« no previous file with comments | « fpdfsdk/javascript/global.cpp ('k') | fpdfsdk/jsapi/include/fxjs_v8.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698