/// <summary>Called when this node has been created and is being added to the given lexer. /// Closely related to Element.OnLexerCloseNode.</summary> /// <returns>True if this element handled itself.</returns> public override bool OnLexerAddNode(HtmlLexer lexer, int mode) { if ((mode & InHeadMode) != 0) { lexer.RawTextOrRcDataAlgorithm(this, HtmlParseMode.Rawtext); } else if (mode == HtmlTreeMode.AfterHead) { lexer.AfterHeadHeadTag(this); } else { return(false); } return(true); }
/// <summary>Called when this node has been created and is being added to the given lexer. /// Closely related to Element.OnLexerCloseNode.</summary> /// <returns>True if this element handled itself.</returns> public override bool OnLexerAddNode(HtmlLexer lexer, int mode) { if ((mode & (HtmlTreeMode.InHead | HtmlTreeMode.InBody | HtmlTreeMode.InTemplate | HtmlTreeMode.InTable | HtmlTreeMode.InHeadNoScript)) != 0) { // Add as text: lexer.RawTextOrRcDataAlgorithm(this, HtmlParseMode.Rawtext); } else if (mode == HtmlTreeMode.AfterHead) { lexer.AfterHeadHeadTag(this); } else { return(false); } return(true); }
/// <summary>Called when this node has been created and is being added to the given lexer. /// Closely related to Element.OnLexerCloseNode.</summary> /// <returns>True if this element handled itself.</returns> public override bool OnLexerAddNode(HtmlLexer lexer, int mode) { if ((mode & (HtmlTreeMode.InHead | HtmlTreeMode.InBody | HtmlTreeMode.InTemplate)) != 0) { // Generic RCData algorithm: lexer.RawTextOrRcDataAlgorithm(this, HtmlParseMode.RCData); } else if (mode == HtmlTreeMode.AfterHead) { lexer.AfterHeadHeadTag(this); } else { return(false); } return(true); }
/// <summary>Called when this node has been created and is being added to the given lexer. /// Closely related to Element.OnLexerCloseNode.</summary> /// <returns>True if this element handled itself.</returns> public override bool OnLexerAddNode(HtmlLexer lexer, int mode) { if ((mode & (HtmlTreeMode.InHead | HtmlTreeMode.InBody | HtmlTreeMode.InTemplate | HtmlTreeMode.InHeadNoScript)) != 0) { // Append it. DO NOT push to the stack: lexer.Push(this, false); } else if (mode == HtmlTreeMode.AfterHead) { lexer.AfterHeadHeadTag(this); } else { return(false); } return(true); }
/// <summary>Called when this node has been created and is being added to the given lexer. /// Closely related to Element.OnLexerCloseNode.</summary> /// <returns>True if this element handled itself.</returns> public override bool OnLexerAddNode(HtmlLexer lexer, int mode) { if ((mode & (HtmlTreeMode.InHead | HtmlTreeMode.InBody | HtmlTreeMode.InTemplate | HtmlTreeMode.InHeadNoScript)) != 0) { // Append it. DO NOT push to the stack: lexer.Push(this, false); // Should check for encoding here. // http://w3c.github.io/html/syntax.html#the-in-head-insertion-mode } else if (mode == HtmlTreeMode.AfterHead) { lexer.AfterHeadHeadTag(this); } else { return(false); } return(true); }
/// <summary>Called when this node has been created and is being added to the given lexer. /// Closely related to Element.OnLexerCloseNode.</summary> /// <returns>True if this element handled itself.</returns> public override bool OnLexerAddNode(HtmlLexer lexer, int mode) { if ((mode & InHeadOpen) != 0) { // Opening a template lexer.Push(this, true); lexer.AddScopeMarker(); lexer.FramesetOk = false; lexer.CurrentMode = HtmlTreeMode.InTemplate; lexer.TemplateModes.Push(HtmlTreeMode.InTemplate); } else if (mode == HtmlTreeMode.AfterHead) { lexer.AfterHeadHeadTag(this); } else { return(false); } return(true); }
/// <summary>Called when this node has been created and is being added to the given lexer. /// Closely related to Element.OnLexerCloseNode.</summary> /// <returns>True if this element handled itself.</returns> public override bool OnLexerAddNode(HtmlLexer lexer, int mode) { if ((mode & (HtmlTreeMode.InHead | HtmlTreeMode.InBody | HtmlTreeMode.InTemplate | HtmlTreeMode.InSelectInTable | HtmlTreeMode.InSelect | HtmlTreeMode.InTable)) != 0) { // Append it: lexer.Push(this, true); // Switch to Script data: lexer.PreviousMode = lexer.CurrentMode; lexer.CurrentMode = HtmlTreeMode.Text; lexer.State = HtmlParseMode.Script; } else if (mode == HtmlTreeMode.AfterHead) { lexer.AfterHeadHeadTag(this); } else { return(false); } return(true); }