title: MutationObserver called twice when space is pressed
body: <p>I have created an observer to a content editable div.
  When I press space, it is called twice.</p>
  
  <pre><code>// Write TypeScript code!
  var appDiv: HTMLElement = document.createElement('div');
  
  document.getElementById('app').appendChild(appDiv)
  appDiv.setAttribute('contenteditable','true');
  appDiv.innerText = 'Hello there';
  var config = {    
    subtree: true,
      characterData: true,};
  // Callback function to execute when mutations are observed
  var callback = function(mutationsList, observer) {
      for(var mutation of mutationsList) {
        console.log(mutation)
      }
  };
  
  // Create an observer instance linked to the callback function
  var observer = new MutationObserver(callback);
  
  // Start observing the target node for configured mutations
  observer.observe(appDiv, config);
  </code></pre>
  
  <p>Can anyone give an explanation? Is this expected behavior?
  live demo: <a href="https://typescript-zngvv9.stackblitz.io/" rel="nofollow noreferrer">stackblitz</a>
  If you open the <code>console</code> and hit one space, you can see that there are two <code>MutationRecord</code>
  I test this on Chrome, however on firefox, instead of two records, I got three.
  PS: for any other key struck, you got one mutation record, however if you press another letter after pressing space, in this case you also get two mutation record.</p>