Commit Graph
384 Commits
Author SHA1 Message Date
iska 5ca3bf1192 Replace nullability specifiers from methods and properties with nullability-regions 2015-10-20 21:15:30 +02:00
iska 02393ddedd Add implementation for the CSS Combinators
http://www.w3.org/TR/css3-selectors/#combinators
2015-10-19 21:51:46 +02:00
iska 33df9e7fb2 Add implementation for combining multiple selectors with "All" and "Exists" quantifiers 2015-10-19 21:49:51 +02:00
iska 6020b2bdd9 Add implementation for the negation and "has" selectors
The negation selector is specified here:
http://www.w3.org/TR/css3-selectors/#negation

The "has" selector is an extra convenience selector
2015-10-19 21:41:33 +02:00
iska c44c77d63d Refactor selectors code
- Remove simple sequence
- Remove simple selector protocol
- Let selectors subclass CSSSelector directly
2015-10-18 22:36:03 +02:00
iska 9905f45e27 Change the CSS selector base class to a protocol unrelated to the HTML Node Filter 2015-10-12 20:12:50 +02:00
iska c868bd1a56 Add HTML stream method to consume characters in given string 2015-10-12 20:00:44 +02:00
iska 8f38aed6c6 Add "not" attribute selector to match attribute not-having given value 2015-10-12 20:00:08 +02:00
iska 1917fb1f1c Add base class for pseudo class selectors
http://www.w3.org/TR/css3-selectors/#pseudo-classes
2015-10-11 23:43:29 +02:00
iska dc93bb07f6 Remove unneeded methods from the base selector class 2015-10-11 23:41:15 +02:00
iska a74be4dfa9 Add nullability specifiers to the simple sequence of selectors 2015-10-11 23:40:51 +02:00
iska 7cd47486ac Add nullability specifiers to type selector 2015-10-11 23:40:15 +02:00
iska ad902e3138 Add nullability specifiers to attribute selector 2015-10-11 23:40:03 +02:00
iska 6cfe3b6f83 Add implementation for CSS nth-expressions
https://drafts.csswg.org/css-syntax/#anb-microsyntax
2015-10-10 21:34:50 +02:00
iska a2096b0e54 Add debug descriptions for the attribute, type & sequence selectors 2015-10-10 00:06:09 +02:00
iska 79fda9fdbe Remove extra initializer methods from type and attribute selectors
keep it simple
2015-10-06 23:05:25 +02:00
iska 1a05c41f86 Refactor CSS input stream to subclass the HTML input stream class to prevent duplication 2015-10-06 23:01:59 +02:00
iska bf751d94b1 Add category method for the hex number character set
and use a dispatch once to initialize the set only once
2015-10-04 23:50:39 +02:00
iska 43705dac69 Update gitignore file 2015-10-02 19:29:10 +02:00
iska 3c7e6e1913 Change returned code points to UniChar instead of UTF32Chars in CSS input stream 2015-10-02 19:28:32 +02:00
iska af4444e9a8 Add log message on CSS Tokenizer error
Proper handling will be implemented later
2015-06-23 00:07:47 +02:00
iska 23d0d62295 Reorganize CSS related classes 2015-06-22 23:48:31 +02:00
iska b0668e121e Remove obsolete CSS lexer 2015-06-22 23:40:16 +02:00
iska aa95bbd9f2 Add Unicode Range CSS Token parsing 2015-06-22 20:55:33 +02:00
iska 1544f71c50 Add initial implementation for a CSS Tokenizer
http://www.w3.org/TR/2013/WD-css-syntax-3-20131105/#tokenization
2015-06-22 00:44:09 +02:00
iska b1ddbc5f75 Add CSS Tokenizer related helper function for dealing with code points 2015-06-22 00:43:32 +02:00
iska 576dc4dfb2 Add CSS Token classes 2015-06-22 00:42:34 +02:00
iska c4aacfae2b Add CSS Input Stream class
http://www.w3.org/TR/2013/WD-css-syntax-3-20131105/#tokenizing-and-parsing
2015-06-15 22:06:26 +02:00
iska a54cae8829 Fix type & attribute selectors and their tests after merge with new DOM 2015-06-07 22:34:50 +02:00
iska 852dfad19c Add enum values for the other different tokens in a CSS Selector 2015-06-07 20:52:42 +02:00
iska a5d53b3eef Fix acceptNode method in the selector's implementation after merge with new DOM 2015-06-07 00:08:40 +02:00
iska 5e5b903c52 Fix import in CSS Selector test classes 2015-06-06 23:29:04 +02:00
iska 40b6e41e12 Merge branch 'develop' into feature/css_selectors
Conflicts:
	HTMLKit.xcodeproj/project.pbxproj
	HTMLKit/HTMLNodeFilter.h
2015-06-06 20:20:27 +02:00
iska 045e4db9d1 Add node iterator, tree walker & node filter imports to the HTMLDOM header 2015-06-06 20:11:49 +02:00
iska a7caa34762 Disable HTML DOM checks in parser's performance test
The baseline was set before the DOM validations were implemented.
2015-06-06 20:10:28 +02:00
iska df53870880 Drop the "Node" suffix from HTML Node's first child & last child properties
https://dom.spec.whatwg.org/#interface-node
2015-06-06 19:04:03 +02:00
iska 7f25aacaf1 Add test cases for the Tree Walker class 2015-06-06 19:00:02 +02:00
iska 5e482788ce Add Tree Walker's initializer methods 2015-06-06 18:59:06 +02:00
iska a39890e6e9 Add documentElement property for the HTML Document
The documentElement is the <html> element
2015-06-06 18:58:45 +02:00
iska fd516c67ef Change Node Filter's show options enum to NS_OPTIONS 2015-06-05 23:01:55 +02:00
iska a390edf599 Reintroduce the HTMLNodeFilterValue for Tree Walker implementation
While the Node Iterator treats skip & reject the same way, the Tree Walker can skip over a node
and all its children if rejected.

This reverses dc3de7a470
2015-06-05 23:00:50 +02:00
iska 0c82f6891b Add implementation for the Tree Walker
https://dom.spec.whatwg.org/#interface-treewalker
2015-06-05 22:46:41 +02:00
iska 0d7c57d755 Refactor common node traversal methods into separate class
These will be used in the Tree Walker
https://dom.spec.whatwg.org/#interface-treewalker
2015-06-05 22:09:02 +02:00
iska 40400864d8 Add block-based API for Node Filter
- HTMLNodeFilterBlock is a block-based class implementation conforming to HTMLNodeFilter
- HTMLNode & NodeIterator get block-based initializers
2015-06-05 18:06:23 +02:00
iska dc3de7a470 Remove the HTMLNodeFilterValue enum since Reject and Skip are semantically equivalent 2015-06-05 17:05:22 +02:00
iska c1b18f527c Refactor Node Iterator's initializers so that the filter argument is last 2015-06-05 17:04:28 +02:00
iska d4bb3c6636 Add implementation for the removing steps of the HTML Node Iterator
https://dom.spec.whatwg.org/#interface-nodeiterator
2015-06-05 16:47:37 +02:00
iska 0baa343e95 Add Document methods to access the root, head & body elements
The implementation will be changed/adapted later when the CSS Selectors are ready.
2015-06-05 16:46:36 +02:00
iska 2f1555e93d Rename group for DOM tests 2015-06-02 01:06:13 +02:00
iska a0fd89f417 Move test class for Ordered Dictionary into own group 2015-06-02 01:05:44 +02:00