Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

  1. /*
  2.  * This file is part of Hubbub.
  3.  * Licensed under the MIT License,
  4.  *                http://www.opensource.org/licenses/mit-license.php
  5.  * Copyright 2008 John-Mark Bell <jmb@netsurf-browser.org>
  6.  */
  7.  
  8. #ifndef hubbub_treebuilder_modes_h_
  9. #define hubbub_treebuilder_modes_h_
  10.  
  11. #include "treebuilder/treebuilder.h"
  12.  
  13. /** The various treebuilder insertion modes */
  14. typedef enum
  15. {
  16.         INITIAL,
  17.         BEFORE_HTML,
  18.         BEFORE_HEAD,
  19.         IN_HEAD,
  20.         IN_HEAD_NOSCRIPT,
  21.         AFTER_HEAD,
  22.         IN_BODY,
  23.         IN_TABLE,
  24.         IN_CAPTION,
  25.         IN_COLUMN_GROUP,
  26.         IN_TABLE_BODY,
  27.         IN_ROW,
  28.         IN_CELL,
  29.         IN_SELECT,
  30.         IN_SELECT_IN_TABLE,
  31.         IN_FOREIGN_CONTENT,
  32.         AFTER_BODY,
  33.         IN_FRAMESET,
  34.         AFTER_FRAMESET,
  35.         AFTER_AFTER_BODY,
  36.         AFTER_AFTER_FRAMESET,
  37.  
  38.         GENERIC_RCDATA
  39. } insertion_mode;
  40.  
  41.  
  42.  
  43. hubbub_error handle_initial(hubbub_treebuilder *treebuilder,
  44.                 const hubbub_token *token);
  45. hubbub_error handle_before_html(hubbub_treebuilder *treebuilder,
  46.                 const hubbub_token *token);
  47. hubbub_error handle_before_head(hubbub_treebuilder *treebuilder,
  48.                 const hubbub_token *token);
  49. hubbub_error handle_in_head(hubbub_treebuilder *treebuilder,
  50.                 const hubbub_token *token);
  51. hubbub_error handle_in_head_noscript(hubbub_treebuilder *treebuilder,
  52.                 const hubbub_token *token);
  53. hubbub_error handle_after_head(hubbub_treebuilder *treebuilder,
  54.                 const hubbub_token *token);
  55. hubbub_error handle_in_body(hubbub_treebuilder *treebuilder,
  56.                 const hubbub_token *token);
  57. hubbub_error handle_in_table(hubbub_treebuilder *treebuilder,
  58.                 const hubbub_token *token);
  59. hubbub_error handle_in_caption(hubbub_treebuilder *treebuilder,
  60.                 const hubbub_token *token);
  61. hubbub_error handle_in_column_group(hubbub_treebuilder *treebuilder,
  62.                 const hubbub_token *token);
  63. hubbub_error handle_in_table_body(hubbub_treebuilder *treebuilder,
  64.                 const hubbub_token *token);
  65. hubbub_error handle_in_row(hubbub_treebuilder *treebuilder,
  66.                 const hubbub_token *token);
  67. hubbub_error handle_in_cell(hubbub_treebuilder *treebuilder,
  68.                 const hubbub_token *token);
  69. hubbub_error handle_in_select(hubbub_treebuilder *treebuilder,
  70.                 const hubbub_token *token);
  71. hubbub_error handle_in_select_in_table(hubbub_treebuilder *treebuilder,
  72.                 const hubbub_token *token);
  73. hubbub_error handle_generic_rcdata(hubbub_treebuilder *treebuilder,
  74.                 const hubbub_token *token);
  75. hubbub_error handle_script_collect_characters(hubbub_treebuilder *treebuilder,
  76.                 const hubbub_token *token);
  77. hubbub_error handle_in_foreign_content(hubbub_treebuilder *treebuilder,
  78.                 const hubbub_token *token);
  79. hubbub_error handle_after_body(hubbub_treebuilder *treebuilder,
  80.                 const hubbub_token *token);
  81. hubbub_error handle_in_frameset(hubbub_treebuilder *treebuilder,
  82.                 const hubbub_token *token);
  83. hubbub_error handle_after_frameset(hubbub_treebuilder *treebuilder,
  84.                 const hubbub_token *token);
  85. hubbub_error handle_after_after_body(hubbub_treebuilder *treebuilder,
  86.                 const hubbub_token *token);
  87. hubbub_error handle_after_after_frameset(hubbub_treebuilder *treebuilder,
  88.                 const hubbub_token *token);
  89.  
  90. #endif
  91.