summaryrefslogtreecommitdiff
path: root/src/parser.c
diff options
context:
space:
mode:
authorVincent Sanders <vince@netsurf-browser.org>2012-07-10 11:23:57 -0600
committerVincent Sanders <vince@netsurf-browser.org>2012-07-10 11:23:57 -0600
commitbdff981eef4a7434291941e6bca662357498bc59 (patch)
tree08a4e4d525f31b7ba87c21404e7e1edef4b01654 /src/parser.c
parentca1f136faae71cd063a264cf45195fb47cdba2ba (diff)
downloadlibhubbub-bdff981eef4a7434291941e6bca662357498bc59.tar.gz
libhubbub-bdff981eef4a7434291941e6bca662357498bc59.tar.bz2
Add ability to pause tokenisation
Diffstat (limited to 'src/parser.c')
-rw-r--r--src/parser.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/parser.c b/src/parser.c
index 8da9d79..5423922 100644
--- a/src/parser.c
+++ b/src/parser.c
@@ -152,6 +152,7 @@ hubbub_error hubbub_parser_setopt(hubbub_parser *parser,
HUBBUB_TOKENISER_TOKEN_HANDLER,
(hubbub_tokeniser_optparams *) params);
break;
+
case HUBBUB_PARSER_ERROR_HANDLER:
/* The error handler does not cascade, so tell both the
* treebuilder (if extant) and the tokeniser. */
@@ -166,11 +167,19 @@ hubbub_error hubbub_parser_setopt(hubbub_parser *parser,
(hubbub_tokeniser_optparams *) params);
}
break;
+
case HUBBUB_PARSER_CONTENT_MODEL:
result = hubbub_tokeniser_setopt(parser->tok,
HUBBUB_TOKENISER_CONTENT_MODEL,
(hubbub_tokeniser_optparams *) params);
break;
+
+ case HUBBUB_PARSER_PAUSE:
+ result = hubbub_tokeniser_setopt(parser->tok,
+ HUBBUB_TOKENISER_PAUSE,
+ (hubbub_tokeniser_optparams *) params);
+ break;
+
case HUBBUB_PARSER_TREE_HANDLER:
if (parser->tb != NULL) {
result = hubbub_treebuilder_setopt(parser->tb,
@@ -178,6 +187,7 @@ hubbub_error hubbub_parser_setopt(hubbub_parser *parser,
(hubbub_treebuilder_optparams *) params);
}
break;
+
case HUBBUB_PARSER_DOCUMENT_NODE:
if (parser->tb != NULL) {
result = hubbub_treebuilder_setopt(parser->tb,
@@ -185,6 +195,7 @@ hubbub_error hubbub_parser_setopt(hubbub_parser *parser,
(hubbub_treebuilder_optparams *) params);
}
break;
+
case HUBBUB_PARSER_ENABLE_SCRIPTING:
if (parser->tb != NULL) {
result = hubbub_treebuilder_setopt(parser->tb,
@@ -192,6 +203,7 @@ hubbub_error hubbub_parser_setopt(hubbub_parser *parser,
(hubbub_treebuilder_optparams *) params);
}
break;
+
default:
result = HUBBUB_INVALID;
}