diff options
author | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
---|---|---|
committer | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
commit | 5f8de423f190bbb79a62f804151bc24824fa32d8 (patch) | |
tree | 10027f336435511475e392454359edea8e25895d /parser/htmlparser/nsParserService.h | |
parent | 49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff) | |
download | uxp-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz |
Add m-esr52 at 52.6.0
Diffstat (limited to 'parser/htmlparser/nsParserService.h')
-rw-r--r-- | parser/htmlparser/nsParserService.h | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/parser/htmlparser/nsParserService.h b/parser/htmlparser/nsParserService.h new file mode 100644 index 0000000000..0ea7ec98c3 --- /dev/null +++ b/parser/htmlparser/nsParserService.h @@ -0,0 +1,58 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * + * 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 NS_PARSERSERVICE_H__ +#define NS_PARSERSERVICE_H__ + +#include "nsIParserService.h" + +extern "C" int MOZ_XMLIsLetter(const char* ptr); +extern "C" int MOZ_XMLIsNCNameChar(const char* ptr); +/** + * Decodes an entity into the UTF-16 encoding of a Unicode character. If a ';' + * is found between `ptr` and `end` it will try to decode the entity and set + * `*next` to point to the character after the ;. The resulting UTF-16 code + * units will be written in `*result`, so if the entity is a valid numeric + * entity there needs to be space for at least two char16_t at the location + * `result` points to. + * + * @param ptr pointer to the ampersand. + * @param end pointer to the position after the last character of the + * string. + * @param next [out] will be set to the character after the ';' or null if + * the decoding was unsuccessful. + * @param result the buffer to write the resulting UTF-16 character in. + * @return the number of char16_t written to `*result`. + */ +extern "C" int MOZ_XMLTranslateEntity(const char* ptr, const char* end, + const char** next, char16_t* result); + +class nsParserService : public nsIParserService { + virtual ~nsParserService(); + +public: + nsParserService(); + + NS_DECL_ISUPPORTS + + int32_t HTMLAtomTagToId(nsIAtom* aAtom) const override; + + int32_t HTMLCaseSensitiveAtomTagToId(nsIAtom* aAtom) const override; + + int32_t HTMLStringTagToId(const nsAString& aTag) const override; + + const char16_t *HTMLIdToStringTag(int32_t aId) const override; + + nsIAtom *HTMLIdToAtomTag(int32_t aId) const override; + + NS_IMETHOD HTMLConvertEntityToUnicode(const nsAString& aEntity, + int32_t* aUnicode) const override; + NS_IMETHOD HTMLConvertUnicodeToEntity(int32_t aUnicode, + nsCString& aEntity) const override; + NS_IMETHOD IsContainer(int32_t aId, bool& aIsContainer) const override; + NS_IMETHOD IsBlock(int32_t aId, bool& aIsBlock) const override; +}; + +#endif |