зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1193625 - Fallback to ASCII if AutoConfig UTF-8 conversion fails. r=Mossop, r=mrbkap, a=sylvestre
--HG-- extra : source : b4a33a9b8c218f3c1bd3ce83c8178f67396b9296
This commit is contained in:
Родитель
e80599614d
Коммит
0feb0f8e0a
|
@ -16,6 +16,7 @@
|
||||||
#include "nsContentUtils.h"
|
#include "nsContentUtils.h"
|
||||||
#include "nsIScriptSecurityManager.h"
|
#include "nsIScriptSecurityManager.h"
|
||||||
#include "nsJSPrincipals.h"
|
#include "nsJSPrincipals.h"
|
||||||
|
#include "nsIScriptError.h"
|
||||||
#include "jswrapper.h"
|
#include "jswrapper.h"
|
||||||
|
|
||||||
extern PRLogModuleInfo *MCD;
|
extern PRLogModuleInfo *MCD;
|
||||||
|
@ -106,7 +107,18 @@ nsresult EvaluateAdminConfigScript(const char *js_buffer, size_t length,
|
||||||
|
|
||||||
nsAutoCString script(js_buffer, length);
|
nsAutoCString script(js_buffer, length);
|
||||||
JS::RootedValue v(cx);
|
JS::RootedValue v(cx);
|
||||||
rv = xpc->EvalInSandboxObject(NS_ConvertUTF8toUTF16(script), filename, cx,
|
|
||||||
|
nsString convertedScript = NS_ConvertUTF8toUTF16(script);
|
||||||
|
if (convertedScript.Length() == 0) {
|
||||||
|
nsContentUtils::ReportToConsoleNonLocalized(
|
||||||
|
NS_LITERAL_STRING("Your AutoConfig file is ASCII. Please convert it to UTF-8."),
|
||||||
|
nsIScriptError::warningFlag,
|
||||||
|
NS_LITERAL_CSTRING("autoconfig"),
|
||||||
|
nullptr);
|
||||||
|
/* If the length is 0, the conversion failed. Fallback to ASCII */
|
||||||
|
convertedScript = NS_ConvertASCIItoUTF16(script);
|
||||||
|
}
|
||||||
|
rv = xpc->EvalInSandboxObject(convertedScript, filename, cx,
|
||||||
autoconfigSb, JSVERSION_LATEST, &v);
|
autoconfigSb, JSVERSION_LATEST, &v);
|
||||||
NS_ENSURE_SUCCESS(rv, rv);
|
NS_ENSURE_SUCCESS(rv, rv);
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче