Example #1
0
        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));
        }
Example #2
0
        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;
        }
Example #3
0
        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;
        }