mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-12 04:45:45 +00:00
Bug 1512456 - P3. Minor cleanup usage of GenericPromise. r=gerald
Differential Revision: https://phabricator.services.mozilla.com/D14026 --HG-- extra : moz-landing-system : lando
This commit is contained in:
parent
38ed72f936
commit
ebce26bb61
@ -134,18 +134,15 @@ RefPtr<ClientStatePromise> ClientHandle::Focus() {
|
||||
outerPromise->Reject(aResult.get_nsresult(), __func__);
|
||||
});
|
||||
|
||||
RefPtr<ClientStatePromise> ref = outerPromise.get();
|
||||
return ref.forget();
|
||||
return outerPromise.forget();
|
||||
}
|
||||
|
||||
RefPtr<GenericPromise> ClientHandle::PostMessage(
|
||||
StructuredCloneData& aData, const ServiceWorkerDescriptor& aSource) {
|
||||
RefPtr<GenericPromise> ref;
|
||||
|
||||
if (IsShutdown()) {
|
||||
ref = GenericPromise::CreateAndReject(NS_ERROR_DOM_INVALID_STATE_ERR,
|
||||
__func__);
|
||||
return ref.forget();
|
||||
return GenericPromise::CreateAndReject(NS_ERROR_DOM_INVALID_STATE_ERR,
|
||||
__func__);
|
||||
}
|
||||
|
||||
ClientPostMessageArgs args;
|
||||
@ -153,9 +150,8 @@ RefPtr<GenericPromise> ClientHandle::PostMessage(
|
||||
|
||||
if (!aData.BuildClonedMessageDataForBackgroundChild(
|
||||
GetActor()->Manager()->Manager(), args.clonedData())) {
|
||||
ref = GenericPromise::CreateAndReject(NS_ERROR_DOM_INVALID_STATE_ERR,
|
||||
__func__);
|
||||
return ref.forget();
|
||||
return GenericPromise::CreateAndReject(NS_ERROR_DOM_INVALID_STATE_ERR,
|
||||
__func__);
|
||||
}
|
||||
|
||||
RefPtr<GenericPromise::Private> outerPromise =
|
||||
@ -169,8 +165,7 @@ RefPtr<GenericPromise> ClientHandle::PostMessage(
|
||||
outerPromise->Reject(aResult.get_nsresult(), __func__);
|
||||
});
|
||||
|
||||
ref = outerPromise.get();
|
||||
return ref.forget();
|
||||
return outerPromise.forget();
|
||||
}
|
||||
|
||||
RefPtr<GenericPromise> ClientHandle::OnDetach() {
|
||||
@ -183,8 +178,7 @@ RefPtr<GenericPromise> ClientHandle::OnDetach() {
|
||||
}
|
||||
}
|
||||
|
||||
RefPtr<GenericPromise> ref(mDetachPromise);
|
||||
return ref;
|
||||
return mDetachPromise;
|
||||
}
|
||||
|
||||
} // namespace dom
|
||||
|
@ -253,13 +253,11 @@ void ClientManagerService::RemoveManager(ClientManagerParent* aManager) {
|
||||
|
||||
RefPtr<ClientOpPromise> ClientManagerService::Navigate(
|
||||
const ClientNavigateArgs& aArgs) {
|
||||
RefPtr<ClientOpPromise> ref;
|
||||
|
||||
ClientSourceParent* source =
|
||||
FindSource(aArgs.target().id(), aArgs.target().principalInfo());
|
||||
if (!source) {
|
||||
ref = ClientOpPromise::CreateAndReject(NS_ERROR_FAILURE, __func__);
|
||||
return ref.forget();
|
||||
return ClientOpPromise::CreateAndReject(NS_ERROR_FAILURE, __func__);
|
||||
}
|
||||
|
||||
PClientManagerParent* manager = source->Manager();
|
||||
@ -283,12 +281,9 @@ RefPtr<ClientOpPromise> ClientManagerService::Navigate(
|
||||
manager->SendPClientNavigateOpConstructor(op, args);
|
||||
if (!result) {
|
||||
promise->Reject(NS_ERROR_FAILURE, __func__);
|
||||
ref = promise;
|
||||
return ref.forget();
|
||||
}
|
||||
|
||||
ref = promise;
|
||||
return ref.forget();
|
||||
return promise.forget();
|
||||
}
|
||||
|
||||
namespace {
|
||||
@ -499,31 +494,25 @@ RefPtr<ClientOpPromise> ClientManagerService::GetInfoAndState(
|
||||
ClientSourceParent* source = FindSource(aArgs.id(), aArgs.principalInfo());
|
||||
|
||||
if (!source) {
|
||||
RefPtr<ClientOpPromise> ref =
|
||||
ClientOpPromise::CreateAndReject(NS_ERROR_FAILURE, __func__);
|
||||
return ref.forget();
|
||||
return ClientOpPromise::CreateAndReject(NS_ERROR_FAILURE, __func__);
|
||||
}
|
||||
|
||||
if (!source->ExecutionReady()) {
|
||||
RefPtr<ClientManagerService> self = this;
|
||||
|
||||
// rejection ultimately converted to `undefined` in Clients::Get
|
||||
RefPtr<ClientOpPromise> ref = source->ExecutionReadyPromise()->Then(
|
||||
return source->ExecutionReadyPromise()->Then(
|
||||
GetCurrentThreadSerialEventTarget(), __func__,
|
||||
[self, aArgs]() -> RefPtr<ClientOpPromise> {
|
||||
ClientSourceParent* source =
|
||||
self->FindSource(aArgs.id(), aArgs.principalInfo());
|
||||
|
||||
if (!source) {
|
||||
RefPtr<ClientOpPromise> ref =
|
||||
ClientOpPromise::CreateAndReject(NS_ERROR_FAILURE, __func__);
|
||||
return ref.forget();
|
||||
return ClientOpPromise::CreateAndReject(NS_ERROR_FAILURE, __func__);
|
||||
}
|
||||
|
||||
return source->StartOp(aArgs);
|
||||
});
|
||||
|
||||
return ref.forget();
|
||||
}
|
||||
|
||||
return source->StartOp(aArgs);
|
||||
@ -611,8 +600,7 @@ RefPtr<ClientOpPromise> ClientManagerService::OpenWindow(
|
||||
new OpenWindowRunnable(promise, aArgs, std::move(aSourceProcess));
|
||||
MOZ_ALWAYS_SUCCEEDS(SystemGroup::Dispatch(TaskCategory::Other, r.forget()));
|
||||
|
||||
RefPtr<ClientOpPromise> ref = promise;
|
||||
return ref.forget();
|
||||
return promise.forget();
|
||||
}
|
||||
|
||||
} // namespace dom
|
||||
|
@ -440,18 +440,14 @@ RefPtr<ClientOpPromise> ClientSource::Control(
|
||||
NS_LITERAL_STRING("blob:"));
|
||||
}
|
||||
|
||||
RefPtr<ClientOpPromise> ref;
|
||||
|
||||
if (NS_WARN_IF(!controlAllowed)) {
|
||||
ref = ClientOpPromise::CreateAndReject(NS_ERROR_DOM_INVALID_STATE_ERR,
|
||||
__func__);
|
||||
return ref.forget();
|
||||
return ClientOpPromise::CreateAndReject(NS_ERROR_DOM_INVALID_STATE_ERR,
|
||||
__func__);
|
||||
}
|
||||
|
||||
SetController(ServiceWorkerDescriptor(aArgs.serviceWorker()));
|
||||
|
||||
ref = ClientOpPromise::CreateAndResolve(NS_OK, __func__);
|
||||
return ref.forget();
|
||||
return ClientOpPromise::CreateAndResolve(NS_OK, __func__);
|
||||
}
|
||||
|
||||
void ClientSource::InheritController(
|
||||
@ -506,12 +502,9 @@ void ClientSource::NoteDOMContentLoaded() {
|
||||
RefPtr<ClientOpPromise> ClientSource::Focus(const ClientFocusArgs& aArgs) {
|
||||
NS_ASSERT_OWNINGTHREAD(ClientSource);
|
||||
|
||||
RefPtr<ClientOpPromise> ref;
|
||||
|
||||
if (mClientInfo.Type() != ClientType::Window) {
|
||||
ref = ClientOpPromise::CreateAndReject(NS_ERROR_DOM_NOT_SUPPORTED_ERR,
|
||||
__func__);
|
||||
return ref.forget();
|
||||
return ClientOpPromise::CreateAndReject(NS_ERROR_DOM_NOT_SUPPORTED_ERR,
|
||||
__func__);
|
||||
}
|
||||
nsPIDOMWindowOuter* outer = nullptr;
|
||||
|
||||
@ -526,28 +519,24 @@ RefPtr<ClientOpPromise> ClientSource::Focus(const ClientFocusArgs& aArgs) {
|
||||
}
|
||||
|
||||
if (!outer) {
|
||||
ref = ClientOpPromise::CreateAndReject(NS_ERROR_DOM_INVALID_STATE_ERR,
|
||||
__func__);
|
||||
return ref.forget();
|
||||
return ClientOpPromise::CreateAndReject(NS_ERROR_DOM_INVALID_STATE_ERR,
|
||||
__func__);
|
||||
}
|
||||
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
|
||||
nsresult rv = nsContentUtils::DispatchFocusChromeEvent(outer);
|
||||
if (NS_FAILED(rv)) {
|
||||
ref = ClientOpPromise::CreateAndReject(rv, __func__);
|
||||
return ref.forget();
|
||||
return ClientOpPromise::CreateAndReject(rv, __func__);
|
||||
}
|
||||
|
||||
ClientState state;
|
||||
rv = SnapshotState(&state);
|
||||
if (NS_FAILED(rv)) {
|
||||
ref = ClientOpPromise::CreateAndReject(rv, __func__);
|
||||
return ref.forget();
|
||||
return ClientOpPromise::CreateAndReject(rv, __func__);
|
||||
}
|
||||
|
||||
ref = ClientOpPromise::CreateAndResolve(state.ToIPC(), __func__);
|
||||
return ref.forget();
|
||||
return ClientOpPromise::CreateAndResolve(state.ToIPC(), __func__);
|
||||
}
|
||||
|
||||
RefPtr<ClientOpPromise> ClientSource::PostMessage(
|
||||
@ -561,11 +550,10 @@ RefPtr<ClientOpPromise> ClientSource::PostMessage(
|
||||
const RefPtr<ServiceWorkerContainer> container =
|
||||
window->Navigator()->ServiceWorker();
|
||||
container->ReceiveMessage(aArgs);
|
||||
return ClientOpPromise::CreateAndResolve(NS_OK, __func__).forget();
|
||||
return ClientOpPromise::CreateAndResolve(NS_OK, __func__);
|
||||
}
|
||||
|
||||
return ClientOpPromise::CreateAndReject(NS_ERROR_NOT_IMPLEMENTED, __func__)
|
||||
.forget();
|
||||
return ClientOpPromise::CreateAndReject(NS_ERROR_NOT_IMPLEMENTED, __func__);
|
||||
}
|
||||
|
||||
RefPtr<ClientOpPromise> ClientSource::Claim(const ClientClaimArgs& aArgs) {
|
||||
@ -574,13 +562,10 @@ RefPtr<ClientOpPromise> ClientSource::Claim(const ClientClaimArgs& aArgs) {
|
||||
// In parent-process mode this method should not be called.
|
||||
MOZ_DIAGNOSTIC_ASSERT(!ServiceWorkerParentInterceptEnabled());
|
||||
|
||||
RefPtr<ClientOpPromise> ref;
|
||||
|
||||
nsIGlobalObject* global = GetGlobal();
|
||||
if (NS_WARN_IF(!global)) {
|
||||
ref = ClientOpPromise::CreateAndReject(NS_ERROR_DOM_INVALID_STATE_ERR,
|
||||
__func__);
|
||||
return ref.forget();
|
||||
return ClientOpPromise::CreateAndReject(NS_ERROR_DOM_INVALID_STATE_ERR,
|
||||
__func__);
|
||||
}
|
||||
|
||||
// Note, we cannot just mark the ClientSource controlled. We must go through
|
||||
@ -629,24 +614,20 @@ RefPtr<ClientOpPromise> ClientSource::Claim(const ClientClaimArgs& aArgs) {
|
||||
})
|
||||
->Track(*holder);
|
||||
|
||||
ref = outerPromise;
|
||||
return ref.forget();
|
||||
return outerPromise.forget();
|
||||
}
|
||||
|
||||
RefPtr<ClientOpPromise> ClientSource::GetInfoAndState(
|
||||
const ClientGetInfoAndStateArgs& aArgs) {
|
||||
RefPtr<ClientOpPromise> ref;
|
||||
|
||||
ClientState state;
|
||||
nsresult rv = SnapshotState(&state);
|
||||
if (NS_FAILED(rv)) {
|
||||
ref = ClientOpPromise::CreateAndReject(rv, __func__);
|
||||
return ref.forget();
|
||||
return ClientOpPromise::CreateAndReject(rv, __func__);
|
||||
}
|
||||
|
||||
ref = ClientOpPromise::CreateAndResolve(
|
||||
return ClientOpPromise::CreateAndResolve(
|
||||
ClientInfoAndState(mClientInfo.ToIPC(), state.ToIPC()), __func__);
|
||||
return ref.forget();
|
||||
}
|
||||
|
||||
nsresult ClientSource::SnapshotState(ClientState* aStateOut) {
|
||||
|
@ -196,7 +196,7 @@ RefPtr<GenericPromise> ServiceWorkerRegistrationProxy::Unregister() {
|
||||
|
||||
MOZ_ALWAYS_SUCCEEDS(SystemGroup::Dispatch(TaskCategory::Other, r.forget()));
|
||||
|
||||
return promise;
|
||||
return promise.forget();
|
||||
}
|
||||
|
||||
namespace {
|
||||
|
Loading…
Reference in New Issue
Block a user