2012-05-29 19:52:43 +04:00
|
|
|
/* 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/. */
|
2011-11-01 15:33:11 +04:00
|
|
|
|
|
|
|
#ifndef nsHtml5TokenizerLoopPolicies_h_
|
|
|
|
#define nsHtml5TokenizerLoopPolicies_h_
|
|
|
|
|
2011-11-01 15:33:11 +04:00
|
|
|
/**
|
|
|
|
* This policy does not report tokenizer transitions anywhere. To be used
|
|
|
|
* when _not_ viewing source.
|
|
|
|
*/
|
2011-11-01 15:33:11 +04:00
|
|
|
struct nsHtml5SilentPolicy
|
|
|
|
{
|
2011-11-01 15:33:11 +04:00
|
|
|
static const bool reportErrors = false;
|
2012-08-22 19:56:38 +04:00
|
|
|
static int32_t transition(nsHtml5Highlighter* aHighlighter,
|
|
|
|
int32_t aState,
|
2011-11-01 15:33:11 +04:00
|
|
|
bool aReconsume,
|
2012-08-22 19:56:38 +04:00
|
|
|
int32_t aPos) {
|
2011-11-01 15:33:11 +04:00
|
|
|
return aState;
|
|
|
|
}
|
|
|
|
static void completedNamedCharacterReference(nsHtml5Highlighter* aHighlighter) {
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
2011-11-01 15:33:11 +04:00
|
|
|
/**
|
|
|
|
* This policy reports the tokenizer transitions to a highlighter. To be used
|
|
|
|
* when viewing source.
|
|
|
|
*/
|
2011-11-01 15:33:11 +04:00
|
|
|
struct nsHtml5ViewSourcePolicy
|
|
|
|
{
|
2011-11-01 15:33:11 +04:00
|
|
|
static const bool reportErrors = true;
|
2012-08-22 19:56:38 +04:00
|
|
|
static int32_t transition(nsHtml5Highlighter* aHighlighter,
|
|
|
|
int32_t aState,
|
2011-11-01 15:33:11 +04:00
|
|
|
bool aReconsume,
|
2012-08-22 19:56:38 +04:00
|
|
|
int32_t aPos) {
|
2011-11-01 15:33:11 +04:00
|
|
|
return aHighlighter->Transition(aState, aReconsume, aPos);
|
|
|
|
}
|
|
|
|
static void completedNamedCharacterReference(nsHtml5Highlighter* aHighlighter) {
|
|
|
|
aHighlighter->CompletedNamedCharacterReference();
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif // nsHtml5TokenizerLoopPolicies_h_
|