Coverage Report

Created: 2018-09-25 14:53

/src/mozilla-central/dom/clients/api/ClientDOMUtil.h
Line
Count
Source (jump to first uncovered line)
1
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
3
/* This Source Code Form is subject to the terms of the Mozilla Public
4
 * License, v. 2.0. If a copy of the MPL was not distributed with this
5
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6
#ifndef _mozilla_dom_ClientDOMUtil_h
7
#define _mozilla_dom_ClientDOMUtil_h
8
9
#include "mozilla/dom/ClientIPCTypes.h"
10
#include "mozilla/dom/ClientOpPromise.h"
11
#include "mozilla/dom/DOMMozPromiseRequestHolder.h"
12
#include "mozilla/dom/WorkerHolderToken.h"
13
#include "mozilla/dom/WorkerPrivate.h"
14
15
class nsIGlobalObject;
16
17
namespace mozilla {
18
namespace dom {
19
20
// Utility method to properly execute a ClientManager operation.  It
21
// will properly hold a worker thread alive and avoid executing callbacks
22
// if the thread is shutting down.
23
template<typename Func, typename Arg, typename Resolve, typename Reject>
24
void
25
StartClientManagerOp(Func aFunc, const Arg& aArg, nsIGlobalObject* aGlobal,
26
                     Resolve aResolve, Reject aReject)
27
0
{
28
0
  MOZ_DIAGNOSTIC_ASSERT(aGlobal);
29
0
30
0
  nsCOMPtr<nsISerialEventTarget> target =
31
0
    aGlobal->EventTargetFor(TaskCategory::Other);
32
0
33
0
  auto holder = MakeRefPtr<DOMMozPromiseRequestHolder<ClientOpPromise>>(aGlobal);
34
0
35
0
  aFunc(aArg, target)->Then(
36
0
    target, __func__,
37
0
    [aResolve, holder](const ClientOpResult& aResult) {
38
0
      holder->Complete();
39
0
      aResolve(aResult);
40
0
    }, [aReject, holder](nsresult aResult) {
Unexecuted instantiation: Unified_cpp_dom_clients_api0.cpp:void mozilla::dom::StartClientManagerOp<RefPtr<mozilla::MozPromise<mozilla::dom::ClientOpResult, nsresult, false> > (*)(mozilla::dom::ClientNavigateArgs const&, nsISerialEventTarget*), mozilla::dom::ClientNavigateArgs, mozilla::dom::Client::Navigate(nsTSubstring<char16_t> const&, mozilla::ErrorResult&)::$_2, mozilla::dom::Client::Navigate(nsTSubstring<char16_t> const&, mozilla::ErrorResult&)::$_3>(RefPtr<mozilla::MozPromise<mozilla::dom::ClientOpResult, nsresult, false> > (*)(mozilla::dom::ClientNavigateArgs const&, nsISerialEventTarget*), mozilla::dom::ClientNavigateArgs const&, nsIGlobalObject*, mozilla::dom::Client::Navigate(nsTSubstring<char16_t> const&, mozilla::ErrorResult&)::$_2, mozilla::dom::Client::Navigate(nsTSubstring<char16_t> const&, mozilla::ErrorResult&)::$_3)::{lambda(mozilla::dom::ClientOpResult const&)#1}::operator()(mozilla::dom::ClientOpResult const&) const
Unexecuted instantiation: Unified_cpp_dom_clients_api0.cpp:void mozilla::dom::StartClientManagerOp<RefPtr<mozilla::MozPromise<mozilla::dom::ClientOpResult, nsresult, false> > (*)(mozilla::dom::ClientMatchAllArgs const&, nsISerialEventTarget*), mozilla::dom::ClientMatchAllArgs, mozilla::dom::Clients::MatchAll(mozilla::dom::ClientQueryOptions const&, mozilla::ErrorResult&)::$_6, mozilla::dom::Clients::MatchAll(mozilla::dom::ClientQueryOptions const&, mozilla::ErrorResult&)::$_7>(RefPtr<mozilla::MozPromise<mozilla::dom::ClientOpResult, nsresult, false> > (*)(mozilla::dom::ClientMatchAllArgs const&, nsISerialEventTarget*), mozilla::dom::ClientMatchAllArgs const&, nsIGlobalObject*, mozilla::dom::Clients::MatchAll(mozilla::dom::ClientQueryOptions const&, mozilla::ErrorResult&)::$_6, mozilla::dom::Clients::MatchAll(mozilla::dom::ClientQueryOptions const&, mozilla::ErrorResult&)::$_7)::{lambda(mozilla::dom::ClientOpResult const&)#1}::operator()(mozilla::dom::ClientOpResult const&) const
Unexecuted instantiation: Unified_cpp_dom_clients_api0.cpp:void mozilla::dom::StartClientManagerOp<RefPtr<mozilla::MozPromise<mozilla::dom::ClientOpResult, nsresult, false> > (*)(mozilla::dom::ClientOpenWindowArgs const&, nsISerialEventTarget*), mozilla::dom::ClientOpenWindowArgs, mozilla::dom::Clients::OpenWindow(nsTSubstring<char16_t> const&, mozilla::ErrorResult&)::$_8, mozilla::dom::Clients::OpenWindow(nsTSubstring<char16_t> const&, mozilla::ErrorResult&)::$_9>(RefPtr<mozilla::MozPromise<mozilla::dom::ClientOpResult, nsresult, false> > (*)(mozilla::dom::ClientOpenWindowArgs const&, nsISerialEventTarget*), mozilla::dom::ClientOpenWindowArgs const&, nsIGlobalObject*, mozilla::dom::Clients::OpenWindow(nsTSubstring<char16_t> const&, mozilla::ErrorResult&)::$_8, mozilla::dom::Clients::OpenWindow(nsTSubstring<char16_t> const&, mozilla::ErrorResult&)::$_9)::{lambda(mozilla::dom::ClientOpResult const&)#1}::operator()(mozilla::dom::ClientOpResult const&) const
Unexecuted instantiation: Unified_cpp_dom_clients_api0.cpp:void mozilla::dom::StartClientManagerOp<RefPtr<mozilla::MozPromise<mozilla::dom::ClientOpResult, nsresult, false> > (*)(mozilla::dom::ClientClaimArgs const&, nsISerialEventTarget*), mozilla::dom::ClientClaimArgs, mozilla::dom::Clients::Claim(mozilla::ErrorResult&)::$_10, mozilla::dom::Clients::Claim(mozilla::ErrorResult&)::$_11>(RefPtr<mozilla::MozPromise<mozilla::dom::ClientOpResult, nsresult, false> > (*)(mozilla::dom::ClientClaimArgs const&, nsISerialEventTarget*), mozilla::dom::ClientClaimArgs const&, nsIGlobalObject*, mozilla::dom::Clients::Claim(mozilla::ErrorResult&)::$_10, mozilla::dom::Clients::Claim(mozilla::ErrorResult&)::$_11)::{lambda(mozilla::dom::ClientOpResult const&)#1}::operator()(mozilla::dom::ClientOpResult const&) const
41
0
      holder->Complete();
42
0
      aReject(aResult);
43
0
    })->Track(*holder);
Unexecuted instantiation: Unified_cpp_dom_clients_api0.cpp:void mozilla::dom::StartClientManagerOp<RefPtr<mozilla::MozPromise<mozilla::dom::ClientOpResult, nsresult, false> > (*)(mozilla::dom::ClientNavigateArgs const&, nsISerialEventTarget*), mozilla::dom::ClientNavigateArgs, mozilla::dom::Client::Navigate(nsTSubstring<char16_t> const&, mozilla::ErrorResult&)::$_2, mozilla::dom::Client::Navigate(nsTSubstring<char16_t> const&, mozilla::ErrorResult&)::$_3>(RefPtr<mozilla::MozPromise<mozilla::dom::ClientOpResult, nsresult, false> > (*)(mozilla::dom::ClientNavigateArgs const&, nsISerialEventTarget*), mozilla::dom::ClientNavigateArgs const&, nsIGlobalObject*, mozilla::dom::Client::Navigate(nsTSubstring<char16_t> const&, mozilla::ErrorResult&)::$_2, mozilla::dom::Client::Navigate(nsTSubstring<char16_t> const&, mozilla::ErrorResult&)::$_3)::{lambda(nsresult)#1}::operator()(nsresult) const
Unexecuted instantiation: Unified_cpp_dom_clients_api0.cpp:void mozilla::dom::StartClientManagerOp<RefPtr<mozilla::MozPromise<mozilla::dom::ClientOpResult, nsresult, false> > (*)(mozilla::dom::ClientMatchAllArgs const&, nsISerialEventTarget*), mozilla::dom::ClientMatchAllArgs, mozilla::dom::Clients::MatchAll(mozilla::dom::ClientQueryOptions const&, mozilla::ErrorResult&)::$_6, mozilla::dom::Clients::MatchAll(mozilla::dom::ClientQueryOptions const&, mozilla::ErrorResult&)::$_7>(RefPtr<mozilla::MozPromise<mozilla::dom::ClientOpResult, nsresult, false> > (*)(mozilla::dom::ClientMatchAllArgs const&, nsISerialEventTarget*), mozilla::dom::ClientMatchAllArgs const&, nsIGlobalObject*, mozilla::dom::Clients::MatchAll(mozilla::dom::ClientQueryOptions const&, mozilla::ErrorResult&)::$_6, mozilla::dom::Clients::MatchAll(mozilla::dom::ClientQueryOptions const&, mozilla::ErrorResult&)::$_7)::{lambda(nsresult)#1}::operator()(nsresult) const
Unexecuted instantiation: Unified_cpp_dom_clients_api0.cpp:void mozilla::dom::StartClientManagerOp<RefPtr<mozilla::MozPromise<mozilla::dom::ClientOpResult, nsresult, false> > (*)(mozilla::dom::ClientOpenWindowArgs const&, nsISerialEventTarget*), mozilla::dom::ClientOpenWindowArgs, mozilla::dom::Clients::OpenWindow(nsTSubstring<char16_t> const&, mozilla::ErrorResult&)::$_8, mozilla::dom::Clients::OpenWindow(nsTSubstring<char16_t> const&, mozilla::ErrorResult&)::$_9>(RefPtr<mozilla::MozPromise<mozilla::dom::ClientOpResult, nsresult, false> > (*)(mozilla::dom::ClientOpenWindowArgs const&, nsISerialEventTarget*), mozilla::dom::ClientOpenWindowArgs const&, nsIGlobalObject*, mozilla::dom::Clients::OpenWindow(nsTSubstring<char16_t> const&, mozilla::ErrorResult&)::$_8, mozilla::dom::Clients::OpenWindow(nsTSubstring<char16_t> const&, mozilla::ErrorResult&)::$_9)::{lambda(nsresult)#1}::operator()(nsresult) const
Unexecuted instantiation: Unified_cpp_dom_clients_api0.cpp:void mozilla::dom::StartClientManagerOp<RefPtr<mozilla::MozPromise<mozilla::dom::ClientOpResult, nsresult, false> > (*)(mozilla::dom::ClientClaimArgs const&, nsISerialEventTarget*), mozilla::dom::ClientClaimArgs, mozilla::dom::Clients::Claim(mozilla::ErrorResult&)::$_10, mozilla::dom::Clients::Claim(mozilla::ErrorResult&)::$_11>(RefPtr<mozilla::MozPromise<mozilla::dom::ClientOpResult, nsresult, false> > (*)(mozilla::dom::ClientClaimArgs const&, nsISerialEventTarget*), mozilla::dom::ClientClaimArgs const&, nsIGlobalObject*, mozilla::dom::Clients::Claim(mozilla::ErrorResult&)::$_10, mozilla::dom::Clients::Claim(mozilla::ErrorResult&)::$_11)::{lambda(nsresult)#1}::operator()(nsresult) const
44
0
}
Unexecuted instantiation: Unified_cpp_dom_clients_api0.cpp:void mozilla::dom::StartClientManagerOp<RefPtr<mozilla::MozPromise<mozilla::dom::ClientOpResult, nsresult, false> > (*)(mozilla::dom::ClientNavigateArgs const&, nsISerialEventTarget*), mozilla::dom::ClientNavigateArgs, mozilla::dom::Client::Navigate(nsTSubstring<char16_t> const&, mozilla::ErrorResult&)::$_2, mozilla::dom::Client::Navigate(nsTSubstring<char16_t> const&, mozilla::ErrorResult&)::$_3>(RefPtr<mozilla::MozPromise<mozilla::dom::ClientOpResult, nsresult, false> > (*)(mozilla::dom::ClientNavigateArgs const&, nsISerialEventTarget*), mozilla::dom::ClientNavigateArgs const&, nsIGlobalObject*, mozilla::dom::Client::Navigate(nsTSubstring<char16_t> const&, mozilla::ErrorResult&)::$_2, mozilla::dom::Client::Navigate(nsTSubstring<char16_t> const&, mozilla::ErrorResult&)::$_3)
Unexecuted instantiation: Unified_cpp_dom_clients_api0.cpp:void mozilla::dom::StartClientManagerOp<RefPtr<mozilla::MozPromise<mozilla::dom::ClientOpResult, nsresult, false> > (*)(mozilla::dom::ClientMatchAllArgs const&, nsISerialEventTarget*), mozilla::dom::ClientMatchAllArgs, mozilla::dom::Clients::MatchAll(mozilla::dom::ClientQueryOptions const&, mozilla::ErrorResult&)::$_6, mozilla::dom::Clients::MatchAll(mozilla::dom::ClientQueryOptions const&, mozilla::ErrorResult&)::$_7>(RefPtr<mozilla::MozPromise<mozilla::dom::ClientOpResult, nsresult, false> > (*)(mozilla::dom::ClientMatchAllArgs const&, nsISerialEventTarget*), mozilla::dom::ClientMatchAllArgs const&, nsIGlobalObject*, mozilla::dom::Clients::MatchAll(mozilla::dom::ClientQueryOptions const&, mozilla::ErrorResult&)::$_6, mozilla::dom::Clients::MatchAll(mozilla::dom::ClientQueryOptions const&, mozilla::ErrorResult&)::$_7)
Unexecuted instantiation: Unified_cpp_dom_clients_api0.cpp:void mozilla::dom::StartClientManagerOp<RefPtr<mozilla::MozPromise<mozilla::dom::ClientOpResult, nsresult, false> > (*)(mozilla::dom::ClientOpenWindowArgs const&, nsISerialEventTarget*), mozilla::dom::ClientOpenWindowArgs, mozilla::dom::Clients::OpenWindow(nsTSubstring<char16_t> const&, mozilla::ErrorResult&)::$_8, mozilla::dom::Clients::OpenWindow(nsTSubstring<char16_t> const&, mozilla::ErrorResult&)::$_9>(RefPtr<mozilla::MozPromise<mozilla::dom::ClientOpResult, nsresult, false> > (*)(mozilla::dom::ClientOpenWindowArgs const&, nsISerialEventTarget*), mozilla::dom::ClientOpenWindowArgs const&, nsIGlobalObject*, mozilla::dom::Clients::OpenWindow(nsTSubstring<char16_t> const&, mozilla::ErrorResult&)::$_8, mozilla::dom::Clients::OpenWindow(nsTSubstring<char16_t> const&, mozilla::ErrorResult&)::$_9)
Unexecuted instantiation: Unified_cpp_dom_clients_api0.cpp:void mozilla::dom::StartClientManagerOp<RefPtr<mozilla::MozPromise<mozilla::dom::ClientOpResult, nsresult, false> > (*)(mozilla::dom::ClientClaimArgs const&, nsISerialEventTarget*), mozilla::dom::ClientClaimArgs, mozilla::dom::Clients::Claim(mozilla::ErrorResult&)::$_10, mozilla::dom::Clients::Claim(mozilla::ErrorResult&)::$_11>(RefPtr<mozilla::MozPromise<mozilla::dom::ClientOpResult, nsresult, false> > (*)(mozilla::dom::ClientClaimArgs const&, nsISerialEventTarget*), mozilla::dom::ClientClaimArgs const&, nsIGlobalObject*, mozilla::dom::Clients::Claim(mozilla::ErrorResult&)::$_10, mozilla::dom::Clients::Claim(mozilla::ErrorResult&)::$_11)
45
46
} // namespace dom
47
} // namespace mozilla
48
49
#endif // _mozilla_dom_ClientDOMUtil_h