mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 612642 - JS base64 code needs to be updated for removal of JS_GetStringBytesZ. Wallpaper patch for merging.
This commit is contained in:
parent
f8d70b12f4
commit
0292bdad44
@ -373,13 +373,19 @@ nsDOMWorkerFunctions::AtoB(JSContext* aCx,
|
||||
return JS_FALSE;
|
||||
}
|
||||
|
||||
// We want the bytes here, not the jschars.
|
||||
const char* bytes = JS_GetStringBytesZ(aCx, str);
|
||||
if (!bytes) {
|
||||
return JS_FALSE;
|
||||
}
|
||||
size_t len = JS_GetStringEncodingLength(aCx, str);
|
||||
if (len == size_t(-1))
|
||||
return JS_FALSE;
|
||||
|
||||
nsDependentCString string(bytes, JS_GetStringLength(str));
|
||||
JSUint32 alloc_len = (len + 1) * sizeof(char);
|
||||
char *buffer = static_cast<char *>(nsMemory::Alloc(alloc_len));
|
||||
if (!buffer)
|
||||
return JS_FALSE;
|
||||
|
||||
JS_EncodeStringToBuffer(str, buffer, len);
|
||||
buffer[len] = '\0';
|
||||
|
||||
nsDependentCString string(buffer, len);
|
||||
nsCAutoString result;
|
||||
|
||||
if (NS_FAILED(nsXPConnect::Base64Decode(string, result))) {
|
||||
@ -419,13 +425,19 @@ nsDOMWorkerFunctions::BtoA(JSContext* aCx,
|
||||
return JS_FALSE;
|
||||
}
|
||||
|
||||
// We want the bytes here, not the jschars.
|
||||
const char* bytes = JS_GetStringBytesZ(aCx, str);
|
||||
if (!bytes) {
|
||||
return JS_FALSE;
|
||||
}
|
||||
size_t len = JS_GetStringEncodingLength(aCx, str);
|
||||
if (len == size_t(-1))
|
||||
return JS_FALSE;
|
||||
|
||||
nsDependentCString string(bytes, JS_GetStringLength(str));
|
||||
JSUint32 alloc_len = (len + 1) * sizeof(char);
|
||||
char *buffer = static_cast<char *>(nsMemory::Alloc(alloc_len));
|
||||
if (!buffer)
|
||||
return JS_FALSE;
|
||||
|
||||
JS_EncodeStringToBuffer(str, buffer, len);
|
||||
buffer[len] = '\0';
|
||||
|
||||
nsDependentCString string(buffer, len);
|
||||
nsCAutoString result;
|
||||
|
||||
if (NS_FAILED(nsXPConnect::Base64Encode(string, result))) {
|
||||
|
@ -225,11 +225,19 @@ Atob(JSContext *cx, uintN argc, jsval *vp)
|
||||
if (!str)
|
||||
return JS_FALSE;
|
||||
|
||||
const char* bytes = JS_GetStringBytesZ(cx, str);
|
||||
if (!bytes)
|
||||
size_t len = JS_GetStringEncodingLength(cx, str);
|
||||
if (len == size_t(-1))
|
||||
return JS_FALSE;
|
||||
|
||||
nsDependentCString string(bytes, JS_GetStringLength(str));
|
||||
JSUint32 alloc_len = (len + 1) * sizeof(char);
|
||||
char *buffer = static_cast<char *>(nsMemory::Alloc(alloc_len));
|
||||
if (!buffer)
|
||||
return JS_FALSE;
|
||||
|
||||
JS_EncodeStringToBuffer(str, buffer, len);
|
||||
buffer[len] = '\0';
|
||||
|
||||
nsDependentCString string(buffer, JS_GetStringLength(str));
|
||||
nsCAutoString result;
|
||||
|
||||
if (NS_FAILED(nsXPConnect::Base64Decode(string, result))) {
|
||||
@ -255,11 +263,19 @@ Btoa(JSContext *cx, uintN argc, jsval *vp)
|
||||
if (!str)
|
||||
return JS_FALSE;
|
||||
|
||||
const char* bytes = JS_GetStringBytesZ(cx, str);
|
||||
if (!bytes)
|
||||
size_t len = JS_GetStringEncodingLength(cx, str);
|
||||
if (len == size_t(-1))
|
||||
return JS_FALSE;
|
||||
|
||||
nsDependentCString data(bytes, JS_GetStringLength(str));
|
||||
JSUint32 alloc_len = (len + 1) * sizeof(char);
|
||||
char *buffer = static_cast<char *>(nsMemory::Alloc(alloc_len));
|
||||
if (!buffer)
|
||||
return JS_FALSE;
|
||||
|
||||
JS_EncodeStringToBuffer(str, buffer, len);
|
||||
buffer[len] = '\0';
|
||||
|
||||
nsDependentCString data(buffer, len);
|
||||
nsCAutoString result;
|
||||
|
||||
if (NS_FAILED(nsXPConnect::Base64Encode(data, result))) {
|
||||
|
Loading…
Reference in New Issue
Block a user