There may be a large amount of work to do to process a remove() operation and we should not block the UI thread while this happens.
Proposed Change: expand the "append" related events and attribute for the remove operation
- Section 4: rename "appending" attribute to "updating" through the whole section
- Section 4: rename "appendstart" to "updatestart" through the section
- Section 4: rename "appendend" to "updateend" through the section
- Section 4.1: in the updating definition, add "remove()" operation to the list
- Section 4.2: in the definition of the remove() operation insert the following between steps 4 and 5
o Set the updating attribute to true.
o Queue a task to fire a simple event named updatestart at this SourceBuffer object.
- Then after step 5.4, add the following
o Set the updating attribute to false.
o Queue a task to fire a simple event named updateend at this SourceBuffer object.