internal void InitializeTag(bool isEndTag, HtmlNameIndex tagNameIndex, bool droppedEndTag) { this.isEndTag = isEndTag; isEmptyElementTag = false; this.tagNameIndex = tagNameIndex; writeState = droppedEndTag ? TagWriteState.Deleted : TagWriteState.Undefined; invokeCallbackForEndTag = false; deleteInnerContent = false; deleteEndTag = !this.isEndTag; cookie = unchecked ((byte)(cookie + 1)); }
public void WriteTag(bool copyInputAttributes) { AssertContextValid(); if (writeState != TagWriteState.Undefined) { throw new InvalidOperationException(writeState == TagWriteState.Written ? Strings.CallbackTagAlreadyWritten : Strings.CallbackTagAlreadyDeleted); } deleteEndTag = false; WriteTagImpl(!isEndTag && copyInputAttributes); writeState = TagWriteState.Written; }
public void DeleteTag(bool keepEndTag) { AssertContextValid(); if (writeState != TagWriteState.Undefined) { throw new InvalidOperationException(writeState == TagWriteState.Written ? Strings.CallbackTagAlreadyWritten : Strings.CallbackTagAlreadyDeleted); } if (!isEndTag && !isEmptyElementTag) { deleteEndTag = !keepEndTag; } else { deleteEndTag = false; } DeleteTagImpl(); writeState = TagWriteState.Deleted; }