Bug 1619112 part 3. Pass UTF8 strings to MaybeRejectWithType/RangeError promise methods. r=smaug

Differential Revision: https://phabricator.services.mozilla.com/D65539

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Boris Zbarsky 2020-03-06 21:05:48 +00:00
Родитель c878a8bb26
Коммит f31fe5e910
13 изменённых файлов: 45 добавлений и 45 удалений

Просмотреть файл

@ -12910,7 +12910,7 @@ class PendingFullscreenChangeList {
// Always automatically drop fullscreen changes which are
// from a document detached from the doc shell.
UniquePtr<T> change = TakeAndNextInternal();
change->MayRejectPromise(u"Document is not active");
change->MayRejectPromise("Document is not active");
continue;
}
while (docShell && docShell != mRootShellForIteration) {
@ -13155,11 +13155,11 @@ void Document::RestorePreviousFullscreenState(UniquePtr<FullscreenExit> aExit) {
"Should have at least 1 fullscreen root when fullscreen!");
if (!GetWindow()) {
aExit->MayRejectPromise(u"No active window");
aExit->MayRejectPromise("No active window");
return;
}
if (!FullscreenStackTop() || FullscreenRoots::IsEmpty()) {
aExit->MayRejectPromise(u"Not in fullscreen mode");
aExit->MayRejectPromise("Not in fullscreen mode");
return;
}
@ -13531,7 +13531,7 @@ bool Document::FullscreenElementReadyCheck(FullscreenRequest& aRequest) {
nsFocusManager* fm = nsFocusManager::GetFocusManager();
if (!fm) {
NS_WARNING("Failed to retrieve focus manager in fullscreen request.");
aRequest.MayRejectPromise(u"An unexpected error occurred");
aRequest.MayRejectPromise("An unexpected error occurred");
return false;
}
if (nsContentUtils::HasPluginWithUncontrolledEventDispatch(
@ -13587,7 +13587,7 @@ void Document::RequestFullscreen(UniquePtr<FullscreenRequest> aRequest,
bool applyFullScreenDirectly) {
nsCOMPtr<nsPIDOMWindowOuter> rootWin = GetRootWindow(this);
if (!rootWin) {
aRequest->MayRejectPromise(u"No active window");
aRequest->MayRejectPromise("No active window");
return;
}
@ -13645,7 +13645,7 @@ static void ClearPendingFullscreenRequests(Document* aDoc) {
aDoc, PendingFullscreenChangeList::eInclusiveDescendants);
while (!iter.AtEnd()) {
UniquePtr<FullscreenRequest> request = iter.TakeAndNext();
request->MayRejectPromise(u"Fullscreen request aborted");
request->MayRejectPromise("Fullscreen request aborted");
}
}

Просмотреть файл

@ -41,15 +41,15 @@ class FullscreenChange : public LinkedListElement<FullscreenChange> {
}
}
void MayRejectPromise(const nsAString& aMessage) {
void MayRejectPromise(const nsACString& aMessage) {
if (mPromise) {
MOZ_ASSERT(mPromise->State() == Promise::PromiseState::Pending);
mPromise->MaybeRejectWithTypeError(aMessage);
}
}
template <int N>
void MayRejectPromise(const char16_t (&aMessage)[N]) {
MayRejectPromise(nsLiteralString(aMessage));
void MayRejectPromise(const char (&aMessage)[N]) {
MayRejectPromise(nsLiteralCString(aMessage));
}
protected:
@ -102,7 +102,7 @@ class FullscreenRequest : public FullscreenChange {
presContext->RefreshDriver()->ScheduleFullscreenEvent(
std::move(pendingEvent));
}
MayRejectPromise(u"Fullscreen request denied");
MayRejectPromise("Fullscreen request denied");
nsContentUtils::ReportToConsole(nsIScriptError::warningFlag,
NS_LITERAL_CSTRING("DOM"), Document(),
nsContentUtils::eDOM_PROPERTIES, aReason);

Просмотреть файл

@ -1528,7 +1528,7 @@ void Navigator::FinishGetVRDisplays(bool isWebVRSupportedInwindow, Promise* p) {
// The Window has been torn down, so there is no further work that can
// be done.
p->MaybeRejectWithTypeError(
u"Unable to return VRDisplays for a closed window.");
"Unable to return VRDisplays for a closed window.");
return;
}
@ -1544,7 +1544,7 @@ void Navigator::OnXRPermissionRequestAllow() {
if (!VRDisplay::RefreshVRDisplays(win->WindowID())) {
for (auto& p : mVRGetDisplaysPromises) {
// Failed to refresh, reject the promise now
p->MaybeRejectWithTypeError(u"Failed to find attached VR displays.");
p->MaybeRejectWithTypeError("Failed to find attached VR displays.");
}
}
}

2
dom/cache/CacheOpChild.cpp поставляемый
Просмотреть файл

@ -138,7 +138,7 @@ mozilla::ipc::IPCResult CacheOpChild::Recv__delete__(
MOZ_DIAGNOSTIC_ASSERT(actor);
if (!actor) {
mPromise->MaybeRejectWithTypeError(
u"CacheStorage.open() failed to access the storage system.");
"CacheStorage.open() failed to access the storage system.");
break;
}

Просмотреть файл

@ -61,29 +61,29 @@ class DetailedPromise : public Promise {
template <ErrNum errorNumber, typename... Ts>
void MaybeRejectWithTypeError(Ts&&... aMessageArgs) = delete;
inline void MaybeRejectWithTypeError(const nsAString& aMessage) {
inline void MaybeRejectWithTypeError(const nsACString& aMessage) {
ErrorResult res;
res.ThrowTypeError(aMessage);
MaybeReject(std::move(res), NS_ConvertUTF16toUTF8(aMessage));
MaybeReject(std::move(res), aMessage);
}
template <int N>
void MaybeRejectWithTypeError(const char16_t (&aMessage)[N]) {
MaybeRejectWithTypeError(nsLiteralString(aMessage));
void MaybeRejectWithTypeError(const char (&aMessage)[N]) {
MaybeRejectWithTypeError(nsLiteralCString(aMessage));
}
template <ErrNum errorNumber, typename... Ts>
void MaybeRejectWithRangeError(Ts&&... aMessageArgs) = delete;
inline void MaybeRejectWithRangeError(const nsAString& aMessage) {
inline void MaybeRejectWithRangeError(const nsACString& aMessage) {
ErrorResult res;
res.ThrowRangeError(aMessage);
MaybeReject(std::move(res), NS_ConvertUTF16toUTF8(aMessage));
MaybeReject(std::move(res), aMessage);
}
template <int N>
void MaybeRejectWithRangeError(const char16_t (&aMessage)[N]) {
MaybeRejectWithRangeError(nsLiteralString(aMessage));
void MaybeRejectWithRangeError(const char (&aMessage)[N]) {
MaybeRejectWithRangeError(nsLiteralCString(aMessage));
}
private:

Просмотреть файл

@ -228,7 +228,7 @@ already_AddRefed<Promise> MediaKeySession::GenerateRequest(
// with a newly created TypeError.
if (aInitDataType.IsEmpty()) {
promise->MaybeRejectWithTypeError(
u"Empty initDataType passed to MediaKeySession.generateRequest()");
"Empty initDataType passed to MediaKeySession.generateRequest()");
EME_LOG(
"MediaKeySession[%p,'%s'] GenerateRequest() failed, empty initDataType",
this, NS_ConvertUTF16toUTF8(mSessionId).get());
@ -241,7 +241,7 @@ already_AddRefed<Promise> MediaKeySession::GenerateRequest(
CopyArrayBufferViewOrArrayBufferData(aInitData, data);
if (data.IsEmpty()) {
promise->MaybeRejectWithTypeError(
u"Empty initData passed to MediaKeySession.generateRequest()");
"Empty initData passed to MediaKeySession.generateRequest()");
EME_LOG("MediaKeySession[%p,'%s'] GenerateRequest() failed, empty initData",
this, NS_ConvertUTF16toUTF8(mSessionId).get());
return promise.forget();
@ -277,7 +277,7 @@ already_AddRefed<Promise> MediaKeySession::GenerateRequest(
// If the preceding step failed, reject promise with a newly created
// TypeError.
promise->MaybeRejectWithTypeError(
u"initData sanitization failed in MediaKeySession.generateRequest()");
"initData sanitization failed in MediaKeySession.generateRequest()");
EME_LOG(
"MediaKeySession[%p,'%s'] GenerateRequest() initData sanitization "
"failed",
@ -344,7 +344,7 @@ already_AddRefed<Promise> MediaKeySession::Load(const nsAString& aSessionId,
// created TypeError.
if (aSessionId.IsEmpty()) {
promise->MaybeRejectWithTypeError(
u"Trying to load a session with empty session ID");
"Trying to load a session with empty session ID");
// "The sessionId parameter is empty."
EME_LOG("MediaKeySession[%p,''] Load() failed, no sessionId", this);
return promise.forget();
@ -355,7 +355,7 @@ already_AddRefed<Promise> MediaKeySession::Load(const nsAString& aSessionId,
// a newly created TypeError.
if (mSessionType == MediaKeySessionType::Temporary) {
promise->MaybeRejectWithTypeError(
u"Trying to load() into a non-persistent session");
"Trying to load() into a non-persistent session");
EME_LOG(
"MediaKeySession[%p,''] Load() failed, can't load in a non-persistent "
"session",
@ -416,7 +416,7 @@ already_AddRefed<Promise> MediaKeySession::Update(
CopyArrayBufferViewOrArrayBufferData(aResponse, data);
if (data.IsEmpty()) {
promise->MaybeRejectWithTypeError(
u"Empty response buffer passed to MediaKeySession.update()");
"Empty response buffer passed to MediaKeySession.update()");
EME_LOG("MediaKeySession[%p,'%s'] Update() failed, empty response buffer",
this, NS_ConvertUTF16toUTF8(mSessionId).get());
return promise.forget();

Просмотреть файл

@ -62,7 +62,7 @@ void MediaKeySystemAccessManager::PendingRequest::
}
void MediaKeySystemAccessManager::PendingRequest::RejectPromiseWithTypeError(
const nsAString& aReason) {
const nsACString& aReason) {
if (mPromise) {
mPromise->MaybeRejectWithTypeError(aReason);
}
@ -146,7 +146,7 @@ void MediaKeySystemAccessManager::CheckDoesWindowSupportProtectedMedia(
// In this case, there is no browser because the Navigator object has
// been disconnected from its window. Thus, reject the promise.
aRequest->mPromise->MaybeRejectWithTypeError(
u"Browsing context is no longer available");
"Browsing context is no longer available");
} else {
// In this case, there is no browser because e10s is off. Proceed with
// the request with support since this scenario is always supported.
@ -347,7 +347,7 @@ void MediaKeySystemAccessManager::RequestMediaKeySystemAccess(
// 1. If keySystem is the empty string, return a promise rejected with a newly
// created TypeError.
if (aRequest->mKeySystem.IsEmpty()) {
aRequest->mPromise->MaybeRejectWithTypeError(u"Key system string is empty");
aRequest->mPromise->MaybeRejectWithTypeError("Key system string is empty");
// Don't notify DecoderDoctor, as there's nothing we or the user can
// do to fix this situation; the site is using the API wrong.
return;
@ -356,7 +356,7 @@ void MediaKeySystemAccessManager::RequestMediaKeySystemAccess(
// newly created TypeError.
if (aRequest->mConfigs.IsEmpty()) {
aRequest->mPromise->MaybeRejectWithTypeError(
u"Candidate MediaKeySystemConfigs is empty");
"Candidate MediaKeySystemConfigs is empty");
// Don't notify DecoderDoctor, as there's nothing we or the user can
// do to fix this situation; the site is using the API wrong.
return;

Просмотреть файл

@ -137,7 +137,7 @@ class MediaKeySystemAccessManager final : public nsIObserver {
// Convenience methods to reject the wrapped promise.
void RejectPromiseWithInvalidAccessError(const nsAString& aReason);
void RejectPromiseWithNotSupportedError(const nsAString& aReason);
void RejectPromiseWithTypeError(const nsAString& aReason);
void RejectPromiseWithTypeError(const nsACString& aReason);
void CancelTimer();
};

Просмотреть файл

@ -186,7 +186,7 @@ already_AddRefed<DetailedPromise> MediaKeys::SetServerCertificate(
CopyArrayBufferViewOrArrayBufferData(aCert, data);
if (data.IsEmpty()) {
promise->MaybeRejectWithTypeError(
u"Empty certificate passed to MediaKeys.setServerCertificate()");
"Empty certificate passed to MediaKeys.setServerCertificate()");
return promise.forget();
}

Просмотреть файл

@ -2168,7 +2168,7 @@ already_AddRefed<Promise> Notification::ShowPersistentNotification(
// with a TypeError exception, and terminate these substeps."
if (NS_WARN_IF(aRv.Failed()) ||
permission == NotificationPermission::Denied) {
p->MaybeRejectWithTypeError(u"Permission to show Notification denied.");
p->MaybeRejectWithTypeError("Permission to show Notification denied.");
return p.forget();
}

Просмотреть файл

@ -139,15 +139,15 @@ class Promise : public nsISupports, public SupportsWeakPtr<Promise> {
MaybeReject(std::move(res));
}
inline void MaybeRejectWithTypeError(const nsAString& aMessage) {
inline void MaybeRejectWithTypeError(const nsACString& aMessage) {
ErrorResult res;
res.ThrowTypeError(aMessage);
MaybeReject(std::move(res));
}
template <int N>
void MaybeRejectWithTypeError(const char16_t (&aMessage)[N]) {
MaybeRejectWithTypeError(nsLiteralString(aMessage));
void MaybeRejectWithTypeError(const char (&aMessage)[N]) {
MaybeRejectWithTypeError(nsLiteralCString(aMessage));
}
template <ErrNum errorNumber, typename... Ts>
@ -157,15 +157,15 @@ class Promise : public nsISupports, public SupportsWeakPtr<Promise> {
MaybeReject(std::move(res));
}
inline void MaybeRejectWithRangeError(const nsAString& aMessage) {
inline void MaybeRejectWithRangeError(const nsACString& aMessage) {
ErrorResult res;
res.ThrowRangeError(aMessage);
MaybeReject(std::move(res));
}
template <int N>
void MaybeRejectWithRangeError(const char16_t (&aMessage)[N]) {
MaybeRejectWithRangeError(nsLiteralString(aMessage));
void MaybeRejectWithRangeError(const char (&aMessage)[N]) {
MaybeRejectWithRangeError(nsLiteralCString(aMessage));
}
// DO NOT USE MaybeRejectBrokenly with in new code. Promises should be

Просмотреть файл

@ -253,15 +253,15 @@ already_AddRefed<Promise> ExecuteOpOnMainOrWorkerThread(
switch (aType) {
case RequestResolver::Type::Persisted:
promise->MaybeRejectWithTypeError(
u"persisted() called for opaque origin");
"persisted() called for opaque origin");
break;
case RequestResolver::Type::Persist:
promise->MaybeRejectWithTypeError(
u"persist() called for opaque origin");
"persist() called for opaque origin");
break;
case RequestResolver::Type::Estimate:
promise->MaybeRejectWithTypeError(
u"estimate() called for opaque origin");
"estimate() called for opaque origin");
break;
}
@ -398,7 +398,7 @@ void RequestResolver::ResolveOrReject() {
promise->MaybeResolve(mStorageEstimate);
} else {
promise->MaybeRejectWithTypeError(
u"Internal error while estimating storage usage");
"Internal error while estimating storage usage");
}
return;

Просмотреть файл

@ -262,7 +262,7 @@ already_AddRefed<Promise> WebAuthnManager::MakeCredential(
CryptoBuffer userId;
userId.Assign(aOptions.mUser.mId);
if (userId.Length() > 64) {
promise->MaybeRejectWithTypeError(u"user.id is too long");
promise->MaybeRejectWithTypeError("user.id is too long");
return promise.forget();
}