diff --git a/HTMLKit/HTMLParser.m b/HTMLKit/HTMLParser.m index 76fbab9..2c18460 100644 --- a/HTMLKit/HTMLParser.m +++ b/HTMLKit/HTMLParser.m @@ -17,6 +17,9 @@ #import "HTMLMarker.h" #import "NSString+HTMLKit.h" +@interface HTMLTokenizer (Private) +@property (nonatomic, weak) HTMLParser *parser; +@end @interface HTMLDocument (Private) @property (nonatomic, assign) HTMLDocumentReadyState readyState; @@ -70,6 +73,7 @@ _stackOfOpenElements = [HTMLStackOfOpenElements new]; _listOfActiveFormattingElements = [NSMutableArray new]; _tokenizer = [[HTMLTokenizer alloc] initWithString:string]; + _tokenizer.parser = self; _pendingTableCharacterTokens = [[HTMLCharacterToken alloc] initWithString:@""]; diff --git a/HTMLKit/HTMLTokenizer.h b/HTMLKit/HTMLTokenizer.h index c2c82dc..b9be8de 100644 --- a/HTMLKit/HTMLTokenizer.h +++ b/HTMLKit/HTMLTokenizer.h @@ -14,9 +14,13 @@ * HTML Tokenizer * https://html.spec.whatwg.org/multipage/syntax.html#tokenization */ + +@class HTMLParser; + @interface HTMLTokenizer : NSObject @property (nonatomic, assign) HTMLTokenizerState state; +@property (nonatomic, weak, readonly) HTMLParser *parser; - (instancetype)initWithString:(NSString *)string;