Don’t use syntax themes in spec because they are inserted in shadow DOM
Don’t recycle the same composite disposable for stylesheet activation
Protect against stylesheets changing while detached
Go back to the plain “theme” group for theme stylesheets
Don’t rely on :focus selector for toHaveFocus matcher

:focus doesn’t work properly when focus is inside the shadow DOM of
an element, but document.activeElement does.
Account for shadow DOM when asserting on focus
Sample font styling when font config values change

We previously could do it whenever stylesheets changed, but these values
end up getting assigned to the global stylesheet for cascading reasons
and we’re only watching the local stylesheet. We poll the host elements
DOM properties, but forcing a sync poll when the config values change
makes behavior synchronous for specs and more responsive when changing
these values.
Proxy TextEditorView::find calls to the root inside the shadow DOM
Fix appendToLinesView
Use event capture for pane focus/blur events

Focusin/focusout don’t seem to bubble properly across shadow DOM
boundaries, so capturing is a more reliable alternative.
Split editor stylesheet into light and shadow DOM versions

This prevents the need for a :host pseudo-class in the editor CSS which
breaks linting. It also fits selectors targeting the host element in a
more intuitive spot in the cascade.
Put views appended via appendToLinesView in the light DOM

This adds an insertion point to the lines div via a <content> tag,
allowing immediate children of the editor tag to be positioned relative
to the lines div but still be styled via global CSS.
Listen for ‘blur’ on mini editor of select list rather than ‘focusout’

The focusout handler on the mini editor’s hidden input wasn’t being
triggered, but we can listen for blur directly on the editor now that
the shadow DOM abstracts the focus.
Define enter as ‘core:confirm’ in select-list mini editors

We were leaving this to packages to define, and they were getting it
wrong by selecting into the ‘input’ which is now in shadow.
Handle focus at the host element level

Detecting focus and blur at the level of the input is creating problems
when we blur and then immediately refocus. This is simpler.
Trigger ‘blur’ on select list editor instead of ‘focusut’ on its input
Fallback to light DOM in TextEditorView::find if nothing found in shadow
Don’t use :focus selector to store previously focused element
Refefine $.fn.position in terms of offsetTop/Left to work w/ shadow DOM

The default implementation of position seems to barf when things are in
the shadow DOM. This seems to be a suitable replacement that doesn’t.
Inject both underlayer and overlayer via shadow DOM insertion points