summaryrefslogtreecommitdiffstats
path: root/toolkit/components/alerts/nsAlertsUtils.h
blob: c126769de7f973d786677646b1174e6ae94f7df9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

#ifndef nsAlertsUtils_h
#define nsAlertsUtils_h

#include "nsIPrincipal.h"
#include "nsString.h"

class nsAlertsUtils final {
 private:
  nsAlertsUtils() = delete;

 public:
  /**
   * Indicates whether an alert from |aPrincipal| should include the source
   * string and action buttons. Returns false if |aPrincipal| is |nullptr|, or
   * a system, expanded, or null principal.
   */
  static bool IsActionablePrincipal(nsIPrincipal* aPrincipal);

  /**
   * Sets |aHostPort| to the host and port from |aPrincipal|'s URI, or an
   * empty string if |aPrincipal| is not actionable.
   */
  static void GetSourceHostPort(nsIPrincipal* aPrincipal, nsAString& aHostPort);
};
#endif /* nsAlertsUtils_h */