Line data Source code
1 : // -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-
2 : // vim: set ts=2 et sw=2 tw=80:
3 : // This Source Code is subject to the terms of the Mozilla Public License
4 : // version 2.0 (the "License"). You can obtain a copy of the License at
5 : // http://mozilla.org/MPL/2.0/.
6 : #ifndef nsTextToSubURI_h__
7 : #define nsTextToSubURI_h__
8 :
9 : #include "nsITextToSubURI.h"
10 : #include "nsString.h"
11 : #include "nsTArray.h"
12 :
13 1 : class nsTextToSubURI: public nsITextToSubURI
14 : {
15 : NS_DECL_ISUPPORTS
16 : NS_DECL_NSITEXTTOSUBURI
17 :
18 : private:
19 : virtual ~nsTextToSubURI();
20 :
21 : // We assume that the URI is encoded as UTF-8.
22 : nsresult convertURItoUnicode(const nsCString& aCharset,
23 : const nsCString& aURI,
24 : nsAString &_retval);
25 :
26 : // Characters from the pref "network.IDN.blacklist_chars", or a built-in
27 : // fallback if reading the pref fails.
28 : nsTArray<char16_t> mUnsafeChars;
29 : };
30 :
31 : #endif // nsTextToSubURI_h__
|