author | Jan de Mooij <jdemooij@mozilla.com> |
Fri, 11 Jul 2014 09:36:20 +0200 | |
changeset 193584 | 59467641b84df7f5a2c432a7e2ba2a9f33b66a87 |
parent 193583 | 9c78e399333bf703e71a74bf27cf320d5786e746 |
child 193585 | 2db09518dc66b9e9cf57f7aca32b706534a7db45 |
push id | 27123 |
push user | ryanvm@gmail.com |
push date | Fri, 11 Jul 2014 20:35:05 +0000 |
treeherder | mozilla-central@84bd8d9f4256 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | bholley |
bugs | 1034627 |
milestone | 33.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
js/xpconnect/src/XPCComponents.cpp | file | annotate | diff | comparison | revisions | |
js/xpconnect/src/XPCWrappedJSClass.cpp | file | annotate | diff | comparison | revisions |
--- a/js/xpconnect/src/XPCComponents.cpp +++ b/js/xpconnect/src/XPCComponents.cpp @@ -552,19 +552,20 @@ nsXPCComponents_InterfacesByID::NewResol if (!JSID_IS_STRING(id)) return NS_OK; RootedString str(cx, JSID_TO_STRING(id)); if (38 != JS_GetStringLength(str)) return NS_OK; - if (const jschar *name = JS_GetInternedStringChars(str)) { + JSAutoByteString utf8str; + if (utf8str.encodeUtf8(cx, str)) { nsID iid; - if (!iid.Parse(NS_ConvertUTF16toUTF8(name).get())) + if (!iid.Parse(utf8str.ptr())) return NS_OK; nsCOMPtr<nsIInterfaceInfo> info; XPTInterfaceInfoManager::GetSingleton()-> GetInfoForIID(&iid, getter_AddRefs(info)); if (!info) return NS_OK; @@ -2600,23 +2601,22 @@ nsXPCComponents_Utils::ReportError(Handl nsString fileName; int32_t lineNo = 0; if (frame) { frame->GetFilename(fileName); frame->GetLineNumber(&lineNo); } - const jschar *msgchars = JS_GetStringCharsZ(cx, msgstr); - if (!msgchars) + nsAutoJSString msg; + if (!msg.init(cx, msgstr)) return NS_OK; nsresult rv = scripterr->InitWithWindowID( - nsDependentString(static_cast<const char16_t *>(msgchars)), - fileName, EmptyString(), lineNo, 0, 0, + msg, fileName, EmptyString(), lineNo, 0, 0, "XPConnect JavaScript", innerWindowID); NS_ENSURE_SUCCESS(rv, NS_OK); console->LogMessage(scripterr); return NS_OK; } /* void evalInSandbox(in AString source, in nativeobj sandbox); */
--- a/js/xpconnect/src/XPCWrappedJSClass.cpp +++ b/js/xpconnect/src/XPCWrappedJSClass.cpp @@ -363,23 +363,22 @@ nsXPCWrappedJSClass::BuildPropertyEnumer RootedValue jsvalName(cx); if (!JS_IdToValue(cx, idName, &jsvalName)) return NS_ERROR_FAILURE; JSString* name = ToString(cx, jsvalName); if (!name) return NS_ERROR_FAILURE; - size_t length; - const jschar *chars = JS_GetStringCharsAndLength(cx, name, &length); - if (!chars) + nsAutoJSString autoStr; + if (!autoStr.init(cx, name)) return NS_ERROR_FAILURE; nsCOMPtr<nsIProperty> property = - new xpcProperty(chars, (uint32_t) length, value); + new xpcProperty(autoStr.get(), (uint32_t)autoStr.Length(), value); if (!propertyArray.AppendObject(property)) return NS_ERROR_FAILURE; } return NS_NewArrayEnumerator(aEnumerate, propertyArray); }