зеркало из https://github.com/mozilla/gecko-dev.git
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:
Родитель
c878a8bb26
Коммит
f31fe5e910
|
@ -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.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче