Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MS Edge support #423

Reinmar opened this issue Apr 18, 2017 · 2 comments

MS Edge support #423

Reinmar opened this issue Apr 18, 2017 · 2 comments


Copy link

@Reinmar Reinmar commented Apr 18, 2017

Let's follow here all the issues with Edge.

NOTE: Having the dev tools open makes Edge extremely unstable. This is ridiculous... but you need to test it with the console closed.

STATUS UPDATE: #423 (comment).



  • new Range() doesn't work (throws twice in domconverter.js).
  • Native NodeList isn't iterable (throws in domconverter.js).
  • Some other broken view tests (observers and selection rendering).
    • Most of them fixed – the tests were incorrect.
  • Some broken model tests (which need to be debugged).
  • I saw some problems with focus/selection rendering. Sometimes when rendering the selection the focus was lost so e.g. when I wanted to focus the editor initially the focus was moved out of the editor after a few milliseconds so I had to click again and the process repeated. However, this is all hard to reproduce and seems to be Edge's lack of stability (sic!).
    • This is happening from time to time but I can't reliably reproduce it. I think that some blur/focus sequence is fired when selection changes in the editor and this cause the selection to be rerendered, resetting it to the previous state. Maybe, it's caused by the 0 timeout we use in the FocusObserver.
    • It turned out that at least some of the cases are an Edge bug and also apply to CKEditor 4:
  • There are some problems with mutations:
    • However, this is not a big deal as we handle most of the actions anyway.

And this happened (most likely that's a problem with re-rendering again):

apr-18-2017 21-37-57



  • nth() test fails
    • May not be critical, but it's worth reporting to MS as this is a pure JS issue.
  • isRange() test fails
    • Due to missing new Range() support.


  • Each typed letter creates a new undo snapshot.
    • Got fixed after fixing the new Range() usage in the engine.
  • One failing test.
    • Let's remove it. It caused problems in the past too.






  • Autoformat – clean.
  • Basic styles – clean.
  • Block quote – failing tests – most likely related to the failing engine tests.
  • Builds – clean.
  • Editors – clean.
  • Enter – clean.
  • Heading – clean.
  • Image – clean.
  • Link – clean.
  • List – clean.
  • Markdown GFM – clean.
  • Paragraph – clean.
  • Theme Lark – clean.
  • Undo – clean.
  • Widget – clean.

Possible other issues


This comment has been minimized.

Copy link
Member Author

@Reinmar Reinmar commented Apr 21, 2017

Ok, I went through all the engine manual tests. I encountered only two issues – the selection locking and incorrect mutations. And of course I learnt even more how bad Edge dev tools are:


This comment has been minimized.

Copy link
Member Author

@Reinmar Reinmar commented Apr 24, 2017

Okey dokey.

I've reviewed most of the things and, fortunately, I was able to either fix issues or they turned to be rather harmless.

Automated tests

Not all tests pass but more than 99%, so this is really good. Most of the broken tests are related to so we can wait for Edge 15. Most importantly, these are the results for the engine:

Edge 14.14393.0 (Windows 10 0.0.0): Executed 3285 of 3285 (3 FAILED) (23.374 secs / 22.187 secs)

One of these tests are unstable and the other two are related to some problems with selectionchange being fired poorly. But both are kinda edge cases so could be potentially ignored.

Manual tests

Here things also look quite well... if not the F12 tools. Edge's dev tools make it so terribly unstable that it renders them useless. However, with the dev tools closed the editor works really stable except two issues:

  • Only plain text is available in the clipboard – ckeditor/ckeditor5-clipboard#20. This was a big and sad surprise for me. I remember reporting this 2 years ago when Edge was one of two browsers which lacked the Clipboard API. Now it's the only one...
  • There are some problems with the selection – In certain cases, it's really stubborn and freezes when you try making it by mouse. I was also able to reproduce very similar issue in CKE4 which has nothing to do with selection changes (it doesn't re-render selection) so it proves that the problem is on the Edge side. I reported a bug to them... let's hope that it will be resolved.

What's next?

We're gonna support Edge just like other browsers – Chrome, Opera, Safari and Firefox. We don't need any particular actions to be taken.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
None yet
1 participant
You can’t perform that action at this time.