summaryrefslogtreecommitdiff
path: root/src/treebuilder/treebuilder.c
Commit message (Collapse)AuthorAgeFilesLines
* Significantly refactor the "in foreign content" mode. Still doesn't work, ↵Andrew Sidwell2008-07-111-12/+0
| | | | | | but the logic is clearer and more correct. svn path=/trunk/hubbub/; revision=4608
* Turn on basic MathML support.Andrew Sidwell2008-07-111-1/+2
| | | | svn path=/trunk/hubbub/; revision=4606
* - Refactor out a case-insensitive hubbub_string compare functionAndrew Sidwell2008-07-111-9/+13
| | | | | | - Fix <input type="hidden"> handling in tables svn path=/trunk/hubbub/; revision=4603
* - Ignore #document-fragment sections betterAndrew Sidwell2008-07-111-2/+0
| | | | | | - Remove a debugging statement svn path=/trunk/hubbub/; revision=4596
* - Fix html5lib test. (also committed upstream)Andrew Sidwell2008-07-111-0/+1
| | | | | | - Process XMP properly. svn path=/trunk/hubbub/; revision=4595
* Fix whitespace processing.Andrew Sidwell2008-07-111-9/+12
| | | | svn path=/trunk/hubbub/; revision=4592
* Fix up foster parenting a bit more. Make the current table calculated ↵Andrew Sidwell2008-07-111-23/+43
| | | | | | on-the-fly. svn path=/trunk/hubbub/; revision=4586
* Fix whitespace processing.Andrew Sidwell2008-07-111-1/+1
| | | | svn path=/trunk/hubbub/; revision=4584
* Get in-table fostering working for comments and text too.Andrew Sidwell2008-07-101-27/+40
| | | | svn path=/trunk/hubbub/; revision=4576
* When handling things as "in body" in the "Anything else" section of the "in ↵Andrew Sidwell2008-07-101-7/+12
| | | | | | | | | | table" insertion mode, for the text: "if the current node is a table, tbody, tfoot, thead, or tr element, then, whenever a node would be inserted into the current node, it must instead be foster parented. Change to evalute "current node" at insertion-time rather before handling as if "in body". svn path=/trunk/hubbub/; revision=4574
* Push elements onto the stack properly even if they are foster parented in ↵Andrew Sidwell2008-07-101-7/+7
| | | | | | tables. svn path=/trunk/hubbub/; revision=4572
* - Handle in_table_foster for element insertion (yet to do comment/character).Andrew Sidwell2008-07-101-29/+36
| | | | | | | - Fix test harness's insert_before() method. - Foster parenting now correctly taints the current table. svn path=/trunk/hubbub/; revision=4568
* Make element_type_from_name() available everywhere when debugging.Andrew Sidwell2008-07-101-1/+0
| | | | svn path=/trunk/hubbub/; revision=4558
* - Fix process_character_expect_whitespace()'s idea of whitespace to match ↵Andrew Sidwell2008-07-091-4/+10
| | | | | | | | | | current spec. - Add a few more asserts (they can't hurt). - Fix infinite loop "in frameset" - Make the "after body" mode behave properly wrt character data svn path=/trunk/hubbub/; revision=4543
* Big testing hack to print the various insertion modes the treebuilder goes ↵Andrew Sidwell2008-07-091-23/+38
| | | | | | through. svn path=/trunk/hubbub/; revision=4539
* Fix processing of characters in after headJohn Mark Bell2008-07-081-2/+1
| | | | | | Fix process_characters_expect_whitespace to adjust the data offset to the first non-whitespace character, rather than to the end of the string. svn path=/trunk/hubbub/; revision=4530
* A bunch of fixes to table handlingJohn Mark Bell2008-07-071-0/+3
| | | | svn path=/trunk/hubbub/; revision=4525
* Get all the treebuilder actually linking together nicely.Andrew Sidwell2008-07-031-1/+39
| | | | svn path=/trunk/hubbub/; revision=4501
* Add "in foreign content" handling. Not convinced this is the best way.Andrew Sidwell2008-06-301-4/+2
| | | | svn path=/trunk/hubbub/; revision=4475
* Add namespace awareness right through the code, in preparation for handling ↵Andrew Sidwell2008-06-261-11/+18
| | | | | | foreign content properly. svn path=/trunk/hubbub/; revision=4457
* Add code to adjust foreign attributes, as per spec.Andrew Sidwell2008-06-261-1/+70
| | | | svn path=/trunk/hubbub/; revision=4454
* Move some stuff internal to the "in head" mode to in_head.c.Andrew Sidwell2008-06-261-60/+1
| | | | svn path=/trunk/hubbub/; revision=4451
* Implement the "in select" insertion mode, and add some more utility functions.Andrew Sidwell2008-06-251-0/+36
| | | | svn path=/trunk/hubbub/; revision=4446
* Add a utility current_node() function which returns the current node.Andrew Sidwell2008-06-251-0/+14
| | | | svn path=/trunk/hubbub/; revision=4445
* Update the list of implied end tags.Andrew Sidwell2008-06-241-5/+7
| | | | svn path=/trunk/hubbub/; revision=4435
* Put each insertion mode into its own C file, so that treebuilder.c doesn't ↵Andrew Sidwell2008-06-231-836/+2
| | | | | | get extremely long. svn path=/trunk/hubbub/; revision=4429
* Add a stubbed "in foreign content" state for the treebuilder.Andrew Sidwell2008-06-231-0/+1
| | | | svn path=/trunk/hubbub/; revision=4427
* Update the treebuilder so it's closer to current spec (I'm sure I've missed ↵Andrew Sidwell2008-06-231-25/+62
| | | | | | stuff). svn path=/trunk/hubbub/; revision=4426
* Implement "in body" insertion mode.John Mark Bell2008-04-071-431/+370
| | | | | | | Modify treebuilder test driver to bring it in line with API changes. A few minimal bits of testdata for various bits of in body. Proper testing will come once we're actually building a tree. svn path=/trunk/hubbub/; revision=4076
* hubbub_strings may now be either an offset into the data buffer or a pointer ↵John Mark Bell2008-03-211-10/+12
| | | | | | | | | | | | | to constant data. Fix up tokeniser and treebuilder to deal with this. Fix up testcases, too. The tokeniser will only ever emit strings of type HUBBUB_STRING_OFF. Anything else is a bug which should be fixed. The treebuilder may emit strings of either type. svn path=/trunk/hubbub/; revision=4014
* Fix off-by-one in detecting when element stack needs enlargingJohn Mark Bell2008-03-141-1/+1
| | | | svn path=/trunk/hubbub/; revision=3949
* More treebuilder (8.2.4.11 & 8.2.4.12)John Mark Bell2008-03-141-37/+262
| | | | svn path=/trunk/hubbub/; revision=3948
* More treebuilder (8.2.4.10)John Mark Bell2008-03-141-8/+497
| | | | svn path=/trunk/hubbub/; revision=3947
* More treebuilder (8.2.4.9)John Mark Bell2008-03-121-113/+242
| | | | | | Factor out common code for handling character tokens and comments svn path=/trunk/hubbub/; revision=3941
* More treebuilder (really 8.2.4.8 this time)John Mark Bell2008-03-111-0/+175
| | | | | | Add tree handler entrypoint for creating elements with verbatim names svn path=/trunk/hubbub/; revision=3940
* More treebuilder (8.2.4.8)John Mark Bell2008-03-111-108/+255
| | | | | | | | | Make tree_handler a pointer rather than value. Check for tree_handler's presence in hubbub_treebuilder_token_handler rather than scattering checks all over the treebuilder code. Add test driver (doesn't actually build a tree but will exercise the core code correctly and verify that the treebuilder code releases all the node references it gains) Enhance quirks mode reporting to distinguish between standards, limited, and full quirks modes. svn path=/trunk/hubbub/; revision=3939
* More treebuilder (up to 8.2.4.7)John Mark Bell2008-03-111-1/+805
| | | | | | | | Loads of issues still outstanding, including a distinct lack of error handling Change tree handler API to allow (de)referencing of nodes rather than explicit destruction. Change create_element handler to take an entire hubbub_tag rather than just the tag name -- the DOM binding can deal with the issue of attaching attributes to the created element node. svn path=/trunk/hubbub/; revision=3932
* Beginnings of a tree builder.John Mark Bell2008-03-071-0/+196
Distinct lack of any real functionality beyond creation/destruction & option setting. svn path=/trunk/hubbub/; revision=3894