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 file,
5 * You can obtain one at http://mozilla.org/MPL/2.0/. */
7 #ifndef mozilla_dom_PermissionUtils_h_
8 #define mozilla_dom_PermissionUtils_h_
10 #include "mozilla/dom/PermissionsBinding.h"
11 #include "mozilla/dom/PermissionStatusBinding.h"
12 #include "mozilla/dom/WorkerPrivate.h"
13 #include "mozilla/Maybe.h"
15 namespace mozilla::dom
{
18 const nsLiteralCString
& PermissionNameToType(PermissionName aName
);
21 * Returns the permission name given a permission type.
23 * Note: the "midi" permission is implemented with two internal permissions
24 * ("midi" and "midi-sysex"). For this reason, when we pass "midi-sysex" to
25 * this function, it unconditionally returns the "midi" permission name,
26 * because that's the only public permission name.
28 Maybe
<PermissionName
> TypeToPermissionName(const nsACString
& aType
);
30 PermissionState
ActionToPermissionState(uint32_t aAction
, PermissionName aName
,
31 nsIGlobalObject
* aGlobal
);
33 } // namespace mozilla::dom