Last modified: 2014-10-09 23:41:25 UTC
The concept of a block slug from a UX POV is great, but why do we need to keep them out of the DM? It seems to be the source of far too many getOffset hacks, as you can put your cursor somewhere that doesn't have a real offset (model-view inconsistency). We already have a way of marking a paragraph as to-be-ignored-by-the-converter-if-empty ({internal:'empty'}), so let's just put them in the DM, and throw them away at convert time if they're empty.
Also if we do this we can force the SurfaceObserver to always move cursor positions to content offsets (except for FocusableNodes) which should prevent bugs like Firefox select-all giving you [0,data.length].
Change 135131 had a related patch set uploaded by Jforrester: Stage slugs https://gerrit.wikimedia.org/r/135131
Change 135131 had a related patch set uploaded by Catrope: Stage slugs https://gerrit.wikimedia.org/r/135131
Change 135131 merged by jenkins-bot: Stage slugs https://gerrit.wikimedia.org/r/135131