Bumping gaia.json for 2 gaia revision(s) a=gaia-bump
[gecko.git] / parser / html / nsHtml5TokenizerCppSupplement.h
blob5d30b5c8e826d3c7982138db69b029552184d14b
1 /* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5 #include "mozilla/Likely.h"
7 void
8 nsHtml5Tokenizer::StartPlainText()
10 stateSave = NS_HTML5TOKENIZER_PLAINTEXT;
13 void
14 nsHtml5Tokenizer::EnableViewSource(nsHtml5Highlighter* aHighlighter)
16 mViewSource = aHighlighter;
19 bool
20 nsHtml5Tokenizer::FlushViewSource()
22 return mViewSource->FlushOps();
25 void
26 nsHtml5Tokenizer::StartViewSource(const nsAutoString& aTitle)
28 mViewSource->Start(aTitle);
31 void
32 nsHtml5Tokenizer::EndViewSource()
34 mViewSource->End();
37 void
38 nsHtml5Tokenizer::errWarnLtSlashInRcdata()
42 // The null checks below annotated MOZ_LIKELY are not actually necessary.
44 void
45 nsHtml5Tokenizer::errUnquotedAttributeValOrNull(char16_t c)
47 if (MOZ_LIKELY(mViewSource)) {
48 switch (c) {
49 case '<':
50 mViewSource->AddErrorToCurrentNode("errUnquotedAttributeLt");
51 return;
52 case '`':
53 mViewSource->AddErrorToCurrentNode("errUnquotedAttributeGrave");
54 return;
55 case '\'':
56 case '"':
57 mViewSource->AddErrorToCurrentNode("errUnquotedAttributeQuote");
58 return;
59 case '=':
60 mViewSource->AddErrorToCurrentNode("errUnquotedAttributeEquals");
61 return;
66 void
67 nsHtml5Tokenizer::errLtOrEqualsOrGraveInUnquotedAttributeOrNull(char16_t c)
69 if (MOZ_LIKELY(mViewSource)) {
70 switch (c) {
71 case '=':
72 mViewSource->AddErrorToCurrentNode("errUnquotedAttributeStartEquals");
73 return;
74 case '<':
75 mViewSource->AddErrorToCurrentNode("errUnquotedAttributeStartLt");
76 return;
77 case '`':
78 mViewSource->AddErrorToCurrentNode("errUnquotedAttributeStartGrave");
79 return;
84 void
85 nsHtml5Tokenizer::errBadCharBeforeAttributeNameOrNull(char16_t c)
87 if (MOZ_LIKELY(mViewSource)) {
88 if (c == '<') {
89 mViewSource->AddErrorToCurrentNode("errBadCharBeforeAttributeNameLt");
90 } else if (c == '=') {
91 errEqualsSignBeforeAttributeName();
92 } else if (c != 0xFFFD) {
93 errQuoteBeforeAttributeName(c);
98 void
99 nsHtml5Tokenizer::errBadCharAfterLt(char16_t c)
101 if (MOZ_LIKELY(mViewSource)) {
102 mViewSource->AddErrorToCurrentNode("errBadCharAfterLt");
106 void
107 nsHtml5Tokenizer::errQuoteOrLtInAttributeNameOrNull(char16_t c)
109 if (MOZ_LIKELY(mViewSource)) {
110 if (c == '<') {
111 mViewSource->AddErrorToCurrentNode("errLtInAttributeName");
112 } else if (c != 0xFFFD) {
113 mViewSource->AddErrorToCurrentNode("errQuoteInAttributeName");
118 void
119 nsHtml5Tokenizer::maybeErrAttributesOnEndTag(nsHtml5HtmlAttributes* attrs)
121 if (mViewSource && attrs->getLength() != 0) {
123 * When an end tag token is emitted with attributes, that is a parse
124 * error.
126 mViewSource->AddErrorToCurrentRun("maybeErrAttributesOnEndTag");
130 void
131 nsHtml5Tokenizer::maybeErrSlashInEndTag(bool selfClosing)
133 if (mViewSource && selfClosing && endTag) {
134 mViewSource->AddErrorToCurrentSlash("maybeErrSlashInEndTag");
138 char16_t
139 nsHtml5Tokenizer::errNcrNonCharacter(char16_t ch)
141 if (MOZ_UNLIKELY(mViewSource)) {
142 mViewSource->AddErrorToCurrentNode("errNcrNonCharacter");
144 return ch;
147 void
148 nsHtml5Tokenizer::errAstralNonCharacter(int32_t ch)
150 if (MOZ_UNLIKELY(mViewSource)) {
151 mViewSource->AddErrorToCurrentNode("errNcrNonCharacter");
155 char16_t
156 nsHtml5Tokenizer::errNcrControlChar(char16_t ch)
158 if (MOZ_UNLIKELY(mViewSource)) {
159 mViewSource->AddErrorToCurrentNode("errNcrControlChar");
161 return ch;
164 void
165 nsHtml5Tokenizer::errGarbageAfterLtSlash()
167 if (MOZ_LIKELY(mViewSource)) {
168 mViewSource->AddErrorToCurrentNode("errGarbageAfterLtSlash");
172 void
173 nsHtml5Tokenizer::errLtSlashGt()
175 if (MOZ_LIKELY(mViewSource)) {
176 mViewSource->AddErrorToCurrentNode("errLtSlashGt");
180 void
181 nsHtml5Tokenizer::errCharRefLacksSemicolon()
183 if (MOZ_UNLIKELY(mViewSource)) {
184 mViewSource->AddErrorToCurrentNode("errCharRefLacksSemicolon");
188 void
189 nsHtml5Tokenizer::errNoDigitsInNCR()
191 if (MOZ_UNLIKELY(mViewSource)) {
192 mViewSource->AddErrorToCurrentNode("errNoDigitsInNCR");
196 void
197 nsHtml5Tokenizer::errGtInSystemId()
199 if (MOZ_LIKELY(mViewSource)) {
200 mViewSource->AddErrorToCurrentNode("errGtInSystemId");
204 void
205 nsHtml5Tokenizer::errGtInPublicId()
207 if (MOZ_LIKELY(mViewSource)) {
208 mViewSource->AddErrorToCurrentNode("errGtInPublicId");
212 void
213 nsHtml5Tokenizer::errNamelessDoctype()
215 if (MOZ_LIKELY(mViewSource)) {
216 mViewSource->AddErrorToCurrentNode("errNamelessDoctype");
220 void
221 nsHtml5Tokenizer::errConsecutiveHyphens()
223 if (MOZ_UNLIKELY(mViewSource)) {
224 mViewSource->AddErrorToCurrentNode("errConsecutiveHyphens");
228 void
229 nsHtml5Tokenizer::errPrematureEndOfComment()
231 if (MOZ_LIKELY(mViewSource)) {
232 mViewSource->AddErrorToCurrentNode("errPrematureEndOfComment");
236 void
237 nsHtml5Tokenizer::errBogusComment()
239 if (MOZ_UNLIKELY(mViewSource)) {
240 mViewSource->AddErrorToCurrentNode("errBogusComment");
244 void
245 nsHtml5Tokenizer::errSlashNotFollowedByGt()
247 if (MOZ_LIKELY(mViewSource)) {
248 mViewSource->AddErrorToCurrentSlash("errSlashNotFollowedByGt");
252 void
253 nsHtml5Tokenizer::errNoSpaceBetweenAttributes()
255 if (MOZ_LIKELY(mViewSource)) {
256 mViewSource->AddErrorToCurrentNode("errNoSpaceBetweenAttributes");
260 void
261 nsHtml5Tokenizer::errAttributeValueMissing()
263 if (MOZ_LIKELY(mViewSource)) {
264 mViewSource->AddErrorToCurrentNode("errAttributeValueMissing");
268 void
269 nsHtml5Tokenizer::errEqualsSignBeforeAttributeName()
271 if (MOZ_LIKELY(mViewSource)) {
272 mViewSource->AddErrorToCurrentNode("errEqualsSignBeforeAttributeName");
276 void
277 nsHtml5Tokenizer::errLtGt()
279 if (MOZ_LIKELY(mViewSource)) {
280 mViewSource->AddErrorToCurrentNode("errLtGt");
284 void
285 nsHtml5Tokenizer::errProcessingInstruction()
287 if (MOZ_LIKELY(mViewSource)) {
288 mViewSource->AddErrorToCurrentNode("errProcessingInstruction");
292 void
293 nsHtml5Tokenizer::errUnescapedAmpersandInterpretedAsCharacterReference()
295 if (MOZ_UNLIKELY(mViewSource)) {
296 mViewSource->AddErrorToCurrentAmpersand("errUnescapedAmpersandInterpretedAsCharacterReference");
300 void
301 nsHtml5Tokenizer::errNotSemicolonTerminated()
303 if (MOZ_UNLIKELY(mViewSource)) {
304 mViewSource->AddErrorToCurrentNode("errNotSemicolonTerminated");
308 void
309 nsHtml5Tokenizer::errNoNamedCharacterMatch()
311 if (MOZ_UNLIKELY(mViewSource)) {
312 mViewSource->AddErrorToCurrentAmpersand("errNoNamedCharacterMatch");
316 void
317 nsHtml5Tokenizer::errQuoteBeforeAttributeName(char16_t c)
319 if (MOZ_LIKELY(mViewSource)) {
320 mViewSource->AddErrorToCurrentNode("errQuoteBeforeAttributeName");
324 void
325 nsHtml5Tokenizer::errExpectedPublicId()
327 if (MOZ_LIKELY(mViewSource)) {
328 mViewSource->AddErrorToCurrentNode("errExpectedPublicId");
332 void
333 nsHtml5Tokenizer::errBogusDoctype()
335 if (MOZ_UNLIKELY(mViewSource)) {
336 mViewSource->AddErrorToCurrentNode("errBogusDoctype");
340 void
341 nsHtml5Tokenizer::errNcrSurrogate()
343 if (MOZ_UNLIKELY(mViewSource)) {
344 mViewSource->AddErrorToCurrentNode("errNcrSurrogate");
348 void
349 nsHtml5Tokenizer::errNcrCr()
351 if (MOZ_UNLIKELY(mViewSource)) {
352 mViewSource->AddErrorToCurrentNode("errNcrCr");
356 void
357 nsHtml5Tokenizer::errNcrInC1Range()
359 if (MOZ_UNLIKELY(mViewSource)) {
360 mViewSource->AddErrorToCurrentNode("errNcrInC1Range");
364 void
365 nsHtml5Tokenizer::errEofInPublicId()
367 if (MOZ_UNLIKELY(mViewSource)) {
368 mViewSource->AddErrorToCurrentRun("errEofInPublicId");
372 void
373 nsHtml5Tokenizer::errEofInComment()
375 if (MOZ_UNLIKELY(mViewSource)) {
376 mViewSource->AddErrorToCurrentRun("errEofInComment");
380 void
381 nsHtml5Tokenizer::errEofInDoctype()
383 if (MOZ_UNLIKELY(mViewSource)) {
384 mViewSource->AddErrorToCurrentRun("errEofInDoctype");
388 void
389 nsHtml5Tokenizer::errEofInAttributeValue()
391 if (MOZ_UNLIKELY(mViewSource)) {
392 mViewSource->AddErrorToCurrentRun("errEofInAttributeValue");
396 void
397 nsHtml5Tokenizer::errEofInAttributeName()
399 if (MOZ_UNLIKELY(mViewSource)) {
400 mViewSource->AddErrorToCurrentRun("errEofInAttributeName");
404 void
405 nsHtml5Tokenizer::errEofWithoutGt()
407 if (MOZ_UNLIKELY(mViewSource)) {
408 mViewSource->AddErrorToCurrentRun("errEofWithoutGt");
412 void
413 nsHtml5Tokenizer::errEofInTagName()
415 if (MOZ_UNLIKELY(mViewSource)) {
416 mViewSource->AddErrorToCurrentRun("errEofInTagName");
420 void
421 nsHtml5Tokenizer::errEofInEndTag()
423 if (MOZ_UNLIKELY(mViewSource)) {
424 mViewSource->AddErrorToCurrentRun("errEofInEndTag");
428 void
429 nsHtml5Tokenizer::errEofAfterLt()
431 if (MOZ_UNLIKELY(mViewSource)) {
432 mViewSource->AddErrorToCurrentRun("errEofAfterLt");
436 void
437 nsHtml5Tokenizer::errNcrOutOfRange()
439 if (MOZ_UNLIKELY(mViewSource)) {
440 mViewSource->AddErrorToCurrentNode("errNcrOutOfRange");
444 void
445 nsHtml5Tokenizer::errNcrUnassigned()
447 if (MOZ_UNLIKELY(mViewSource)) {
448 mViewSource->AddErrorToCurrentNode("errNcrUnassigned");
452 void
453 nsHtml5Tokenizer::errDuplicateAttribute()
455 if (MOZ_UNLIKELY(mViewSource)) {
456 mViewSource->AddErrorToCurrentNode("errDuplicateAttribute");
460 void
461 nsHtml5Tokenizer::errEofInSystemId()
463 if (MOZ_UNLIKELY(mViewSource)) {
464 mViewSource->AddErrorToCurrentRun("errEofInSystemId");
468 void
469 nsHtml5Tokenizer::errExpectedSystemId()
471 if (MOZ_LIKELY(mViewSource)) {
472 mViewSource->AddErrorToCurrentNode("errExpectedSystemId");
476 void
477 nsHtml5Tokenizer::errMissingSpaceBeforeDoctypeName()
479 if (MOZ_LIKELY(mViewSource)) {
480 mViewSource->AddErrorToCurrentNode("errMissingSpaceBeforeDoctypeName");
484 void
485 nsHtml5Tokenizer::errHyphenHyphenBang()
487 if (MOZ_LIKELY(mViewSource)) {
488 mViewSource->AddErrorToCurrentNode("errHyphenHyphenBang");
492 void
493 nsHtml5Tokenizer::errNcrControlChar()
495 if (MOZ_UNLIKELY(mViewSource)) {
496 mViewSource->AddErrorToCurrentNode("errNcrControlChar");
500 void
501 nsHtml5Tokenizer::errNcrZero()
503 if (MOZ_UNLIKELY(mViewSource)) {
504 mViewSource->AddErrorToCurrentNode("errNcrZero");
508 void
509 nsHtml5Tokenizer::errNoSpaceBetweenDoctypeSystemKeywordAndQuote()
511 if (MOZ_LIKELY(mViewSource)) {
512 mViewSource->AddErrorToCurrentNode("errNoSpaceBetweenDoctypeSystemKeywordAndQuote");
516 void
517 nsHtml5Tokenizer::errNoSpaceBetweenPublicAndSystemIds()
519 if (MOZ_LIKELY(mViewSource)) {
520 mViewSource->AddErrorToCurrentNode("errNoSpaceBetweenPublicAndSystemIds");
524 void
525 nsHtml5Tokenizer::errNoSpaceBetweenDoctypePublicKeywordAndQuote()
527 if (MOZ_LIKELY(mViewSource)) {
528 mViewSource->AddErrorToCurrentNode("errNoSpaceBetweenDoctypePublicKeywordAndQuote");