Opened 9 years ago
Closed 9 years ago
#14825 closed Bug (fixed)
[Edge] Dropped support for `setActive` (used to focus editor in some cases).
| Reported by: | kkrzton | Owned by: | kkrzton |
|---|---|---|---|
| Priority: | Normal | Milestone: | CKEditor 4.5.11 |
| Component: | General | Version: | |
| Keywords: | Cc: |
Description (last modified by )
The parent task is #14819.
The newest version of Edge browser (Edge 38.14393, EdgeHTML 14.14393) dropped support for setActive which is used to focus editor in some cases (e.g. divarea plugin) to prevent unwanted scrolling.
While focus should be probably used in this case, it causes this unwanted scrolling so some workaround should be also applied.
Steps to reproduce
- Go to
plugins/divarea/samples/divarea.html. - Run
CKEDITOR.instances.editor1.editable().find('table').getItem(0).scrollIntoView()in the console. - Run
CKEDITOR.instances.editor1.focus()in the console.
To check if editor was focused use document.activeElement.
Expected result
Editor should be focused without scrolling.
Actual result
Editor is focused and scrolled to the top.
Other details (browser, OS, CKEditor version, installed plugins)
Edge (Edge 38.14393, EdgeHTML 14.14393)
This issue causes some unit tests fails in:
- tests/core/config/inline
- tests/core/dom/documentfragment
- tests/core/editable/domfix2
- tests/core/editable/wysiwyg
- tests/core/editor/title
- tests/core/filter/editor
- tests/core/selection/editor
- tests/core/selection/fake
- tests/plugins/autoembed/autoembednotifications
- tests/plugins/floatingspace/floatingspace
- tests/plugins/image/image
- tests/plugins/mathjax/mathjax-mock
- tests/plugins/pastefromword/pastefromword
- tests/plugins/sourcearea/source
- tests/plugins/uploadimage/uploadimage
- tests/tickets/11500/1
At least using focus (instead of setActive) fixes the tests but scrolling problem remains.
Change History (9)
comment:1 Changed 9 years ago by
| Status: | new → confirmed |
|---|
comment:2 Changed 9 years ago by
| Description: | modified (diff) |
|---|
comment:3 Changed 9 years ago by
| Owner: | set to kkrzton |
|---|---|
| Status: | confirmed → assigned |
comment:4 Changed 9 years ago by
comment:5 Changed 9 years ago by
This one was a little tricky to track, but:
- The scrolling is caused by a native
focuscall (not by a custom logic as I assumed in a previous comment). - The scrolling effect does not occur when debugging via dev console (active breakpoints - pausing the code execution).
- The scrolling occurs only when
focusis executed via code (not initiated by user interaction) - that's why here http://jsfiddle.net/f1ames/v1bbspoe/1 clicking button does not cause scrolling but timeout call does. - The scroll caused by
focushappens in async way so the new scrollTop value should be retrieved in a deferred way afterfocusis called.
comment:6 Changed 9 years ago by
| Status: | assigned → review |
|---|
Pushed fix to t/14825.
One thing to notice is that the scroll happens only if editor is focused for the first time. If it was focused before, refocusing works as expected.
comment:7 Changed 9 years ago by
| Status: | review → assigned |
|---|
comment:8 Changed 9 years ago by
| Status: | assigned → review |
|---|
comment:9 Changed 9 years ago by
| Milestone: | → CKEditor 4.5.11 |
|---|---|
| Resolution: | → fixed |
| Status: | review → closed |
Fixed with git:3f95046.

After further investigating this issue it seems that not the native
focusis the reason of unwanted scrolling (http://jsfiddle.net/f1ames/v1bbspoe/) but some customfocuspost-logic.