• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

IgniteUI / igniteui-webcomponents / 31512154304
98%

Build:
DEFAULT BRANCH: master
Ran 11 Aug 2026 04:26PM UTC
Jobs 1
Files 230
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

11 Aug 2026 04:23PM UTC coverage: 98.361% (-0.006%) from 98.367%
31512154304

push

github

web-flow
fix(highlight): adopt highlight styles into the host's tree scope (#2315)

Matches are painted again in Firefox. The `::highlight()` rules now live in
the tree scope that owns the text they style, instead of in the component's
own shadow root.

`::highlight()` rules are tree-scoped - they only reach text nodes belonging
to the same tree scope as the stylesheet. The service adopted its sheet into
`renderRoot`, but `igc-highlight` renders nothing except a `<slot>`, so the
text it highlights is light DOM sitting in the host's scope. The two never
matched up. Earlier Firefox versions resolved such rules across scopes, as
Chromium still does, so the mismatch went unnoticed; once Firefox began
enforcing the scoping, nothing was painted at all. Matching itself was never
affected - `size` and the `Range` objects were correct throughout, only the
styles failed to apply.

The sheet is now adopted by `getRootNode()`, which is the document or an
outer shadow root depending on where the component sits. `attachStylesheet`
stays idempotent and tracks where the sheet actually landed, so a host that
moves between scopes drops it from the old root before adopting into the
new one, and a host that is detached - or built inside a `<template>`, whose
fragment has no `adoptedStyleSheets` - resolves to no root and is skipped.

`hostConnected` attaches the sheet directly rather than waiting on the
theming controller's `themeChange` callback. That callback is still needed,
since `adoptStyles` replaces `adoptedStyleSheets` wholesale on every theme
change, but it is no longer the only path that gets the sheet installed.

This also settles a Chromium bug that predates the Firefox change: an
`igc-highlight` nested inside another component's shadow root matched the
cross-scope rule but resolved `--background` / `--foreground` against the
wrong scope, painting the theme fallback instead of the configured colors.

Covered by three regression tests over scope placement, re-targeting ... (continued)

6744 of 7065 branches covered (95.46%)

Branch coverage included in aggregate %.

40 of 42 new or added lines in 1 file covered. (95.24%)

47641 of 48226 relevant lines covered (98.79%)

1786.12 hits per line

Uncovered Changes

Lines Coverage ∆ File
2
97.45
-1.08% src/components/highlight/service.ts
Jobs
ID Job ID Ran Files Coverage
1 31512154304.1 11 Aug 2026 04:26PM UTC 230
98.36
GitHub Action Run
Source Files on build 31512154304
  • Tree
  • List 230
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #31512154304
  • ca50169d on github
  • Prev Build on master (#31511094893)
  • Next Build on master (#31570833473)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc