Intent to Ship: Custom Highlight API

266 views
Skip to first unread message

Daniel Clark

unread,
Jun 8, 2022, 1:43:11 PMJun 8
to blink-dev, Sanket Joshi (EDGE), Fernando Fiori, Bo Cupp, Luis Juan Sanchez Padilla, Delan Azabani, Manuel Rego Casasnovas, Emilio Cobos Álvarez, Rick Byers, Florian Rivoal

Contact emails

dan...@microsoft.com, sa...@microsoft.com, ffi...@microsoft.com, lusa...@microsoft.com, pc...@microsoft.com,

Explainer

https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/highlight/explainer.md


Specification

https://drafts.csswg.org/css-highlight-api-1/


Design docs


https://docs.google.com/document/d/1vaWiPLA9opz0AObbObuRj3P5zqzoM2ldy0pHkZkJyxo


Summary

The custom highlight API provides a way for web developers to style the text of arbitrary ranges. This is useful in a variety of scenarios, including editing frameworks that wish to implement their own selection, find-on-page over virtualized documents, multiple selections to represent online collaboration, or spellchecking frameworks.


Blink component

Blink>Editing


Search tags

Custom Highlight APIHighlight API


TAG review

https://github.com/w3ctag/design-reviews/issues/584


TAG review status

Issues addressed


Risks


Interoperability and Compatibility

Low risk: This feature received positive support from Safari and Firefox at TPAC 2019. Safari is implementing it, Firefox has not yet made any clear indication on implementation.



Gecko: No clear signal (https://github.com/mozilla/standards-positions/issues/482)

WebKit: Positive. WebKit implemented the feature behind an experimental flag in 99: https://developer.apple.com/safari/technology-preview/release-notes/#:~:text=Added%20support%20for%20rendering%20highlights%20specified%20in%20CSS%20Highlight%20API.

Web developers: Strongly positive (https://github.com/w3c/csswg-drafts/issues/4307). Multiple use cases have been pointed out in this issue. CKEditor has also shown support from the first highlight API explainer.

Other signals:


Ergonomics

Highlight API will be the first use case for constructible StaticRanges, which the API permits as an alternative to Iive Ranges because they do not incur cost during DOM mutations.




Activation

No. Web developers should be able to use the feature as-is. It is also easy to feature detect (checking for the existence of CSS.highlights).




WebView application risks

None.


Debuggability

DevTools shows ::highlight pseudo elements in the style pane. This includes inherited pseudos per the highlight inheritance model used by custom highlights.




Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?

Yes


Is this feature fully tested by web-platform-tests?

Yes
https://github.com/web-platform-tests/wpt/tree/master/css/css-highlight-api

Flag name

HighlightAPI


Requires code in //chrome?

False


Tracking bug

https://crbug.com/1164461


Estimated milestones

No milestones specified



Anticipated spec changes

Future work will likely add support for setting pointer event listeners on highlights so that highlights can react to user input. For some early thoughts on this see https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/highlight/events-explainer.md. That work will not be a compat risk; it would be only additive.



Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5436441440026624


Links to previous Intent discussions

Intent to prototype: https://groups.google.com/a/chromium.org/g/blink-dev/c/Ix2u8NHG5Po/m/jjMjWIHXAQAJ

Earlier Intent to ship: https://groups.google.com/a/chromium.org/g/blink-dev/c/Q21B          Qb-zV0w/m/2ik0_aKyCAAJ

 

Additional Comments:

We sent an earlier Intent to Ship for this feature last year where we received feedback about several spec and implementation issues that needed to be resolved prior to shipping. We have now addressed these issues. Things that have changed since the initial I2S include:

- Custom highlights have been switched to use highlight pseudo inheritance, resolving longstanding disagreements between how highlight pseudos work in Chromium versus what is said in the spec.

- Many highlight painting bugs have been fixed by Igalia’s work in this space. Note: Some of these fixes came from the HighlightOverlayPainting work that was landed in https://chromium-review.googlesource.com/c/chromium/src/+/3640642. That change was reverted due to a perf issue, so we’ll wait for it to reland prior to landing the shipping CL for Custom Highlight API.

- Custom highlights are now exposed to a11y tech though an approach developed in discussions with CSSWG and APAWG: https://github.com/w3c/csswg-drafts/issues/6498

- Miscellaneous other CSSWG resolutions and bugfixes.

Manuel Rego Casasnovas

unread,
Jun 9, 2022, 12:55:06 AMJun 9
to Daniel Clark, blink-dev, Sanket Joshi (EDGE), Fernando Fiori, Bo Cupp, Luis Juan Sanchez Padilla, Delan Azabani, Emilio Cobos Álvarez, Rick Byers, Florian Rivoal
I'm biased here as I've been working on this feature myself, so I cannot
give an official LGTM.

Thanks for all the work since the previous intent thread, I believe this
is now in a way better status to ship.

I'd be fine giving a LGTM with the following caveats:
* As mentioned at the end of the email, HighlightOverlayPainting flag
gets enabled before shipping this (that flag fixes lots of bugs
regarding paining of CSS highlight pseudos).
* The following CSSWG issue gets resolved:
https://github.com/w3c/csswg-drafts/issues/6774
It looks like there's an agreement already but it'd be nice to confirm
it, as this might change behavior if a different decision is made.

Other than that I've just some minor comments inline.

On 08/06/2022 19:42, 'Daniel Clark' via blink-dev wrote:
> Risks
>
>
> Interoperability and Compatibility
>
> Low risk: This feature received positive support from Safari and Firefox
> at TPAC 2019. Safari is implementing it, Firefox has not yet made any
> clear indication on implementation.
>
>
>
> /Gecko/: No clear signal
> (https://github.com/mozilla/standards-positions/issues/482
> <https://github.com/mozilla/standards-positions/issues/482>)

We could send a ping notifying that Chromium is planning to ship.

> /WebKit/: Positive. WebKit implemented the feature behind an
> <https://developer.apple.com/safari/technology-preview/release-notes/#:~:text=Added%20support%20for%20rendering%20highlights%20specified%20in%20CSS%20Highlight%20API>.

I agree that it's positive WebKit has a WIP implementation. But just to
clarify the status Safari has an old version of this spec implemented,
and the implementation is not complete and not up to date regarding the
spec (e.g. https://bugs.webkit.org/show_bug.cgi?id=229797).

Cheers,
Rego

Yoav Weiss

unread,
Jun 15, 2022, 4:32:15 AMJun 15
to blink-dev, Manuel Rego, Sanket Joshi (Edge), Fernando Fiori, Bo Cupp, Luis Juan Sanchez Padilla, Delan Azabani, Emilio Cobos Alvarez, Rick Byers, flo...@rivoal.net, Daniel Clark
On Thursday, June 9, 2022 at 6:55:06 AM UTC+2 Manuel Rego wrote:
I'm biased here as I've been working on this feature myself, so I cannot
give an official LGTM.

Thanks for all the work since the previous intent thread, I believe this
is now in a way better status to ship.

I'd be fine giving a LGTM with the following caveats:
* As mentioned at the end of the email, HighlightOverlayPainting flag
gets enabled before shipping this (that flag fixes lots of bugs
regarding paining of CSS highlight pseudos).
* The following CSSWG issue gets resolved:
https://github.com/w3c/csswg-drafts/issues/6774
It looks like there's an agreement already but it'd be nice to confirm
it, as this might change behavior if a different decision is made.

Other than that I've just some minor comments inline.

On 08/06/2022 19:42, 'Daniel Clark' via blink-dev wrote:
> Risks
>
>
> Interoperability and Compatibility
>
> Low risk: This feature received positive support from Safari and Firefox
> at TPAC 2019. Safari is implementing it, Firefox has not yet made any
> clear indication on implementation.

What's the feature detection/activation story here? Can developers use the feature while it's partially supported? What would be the implications of that?
  

>
>
>
> /Gecko/: No clear signal
> (https://github.com/mozilla/standards-positions/issues/482
> <https://github.com/mozilla/standards-positions/issues/482>)

We could send a ping notifying that Chromium is planning to ship.

> /WebKit/: Positive. WebKit implemented the feature behind an
> experimental flag in 99:
> https://developer.apple.com/safari/technology-preview/release-notes/#:~:text=Added%20support%20for%20rendering%20highlights%20specified%20in%20CSS%20Highlight%20API
> <https://developer.apple.com/safari/technology-preview/release-notes/#:~:text=Added%20support%20for%20rendering%20highlights%20specified%20in%20CSS%20Highlight%20API>.

I agree that it's positive WebKit has a WIP implementation. But just to
clarify the status Safari has an old version of this spec implemented,
and the implementation is not complete and not up to date regarding the
spec (e.g. https://bugs.webkit.org/show_bug.cgi?id=229797).

Can you ask for an explicit signal to see what their plans are on that front? Is there an interop risk from their incomplete implementation?
 


Cheers,
Rego

Daniel Clark

unread,
Jun 15, 2022, 5:54:30 PMJun 15
to Yoav Weiss, blink-dev, Emilio Cobos Alvarez, Manuel Rego, Sanket Joshi (EDGE), Fernando Fiori, Bo Cupp, Luis Juan Sanchez Padilla, Delan Azabani, Rick Byers, flo...@rivoal.net

> What's the feature detection/activation story here? Can developers use the feature while it's partially supported? What would be the implications of that?

 

Feature detection can be done by checking for the presence of CSS.highlights:

 

function supportsHighlightAPI() {

  return !!CSS.highlights;

}

 

For use cases where the highlights are key to the user experience (e.g. when used for an app’s custom find-on-page implementation), developers should fall back to a polyfill for unsupported browsers. For use cases where highlights are only added for stylistic purposes, they could be omitted altogether when there isn’t support.

 

A polyfill could be built for the feature that works by wrapping “highlighted” content in styled spans. This could get tricky to implement for cases involving many nested highlights (which is one thing that the API makes much easier), but it would work fine for most scenarios.

 

> We could send a ping notifying that Chromium is planning to ship.

 

I pinged the mozilla/standards-positions thread about this last week, still waiting to hear back https://github.com/mozilla/standards-positions/issues/482#issuecomment-1152601522. @Emilio, is there anything you’d be able to share about this?

 

> Can you ask for an explicit signal to see what their plans are on that front? Is there an interop risk from their incomplete implementation?

 

I sent a mail to webkit-dev, awaiting response. I just took another look at their implementation, and they’ve done some work to bring it closer to the current state of the spec since last I checked. The remaining major difference I see is just the lack of support for live Ranges. I expect that they will close this gap prior to shipping the feature. If they don’t then the difference could also be feature-detected by polyfills:

 

function supportsLiveRangeHighlights() {

  try {

    new Highlight(new Range());

    return true;

  } catch(ex) {

    return false;

  };

}

 

-- Dan

Yoav Weiss

unread,
Jun 22, 2022, 11:58:36 AMJun 22
to blink-dev, Daniel Clark, Manuel Rego, Sanket Joshi (Edge), Fernando Fiori, Bo Cupp, Luis Juan Sanchez Padilla, Delan Azabani, Rick Byers, flo...@rivoal.net, Yoav Weiss, Emilio Cobos Alvarez
LGTM1

Chris Harrelson

unread,
Jun 22, 2022, 11:58:50 AMJun 22
to Daniel Clark, Yoav Weiss, blink-dev, Emilio Cobos Alvarez, Manuel Rego, Sanket Joshi (EDGE), Fernando Fiori, Bo Cupp, Luis Juan Sanchez Padilla, Delan Azabani, Rick Byers, flo...@rivoal.net
LGTM1

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/DM5PR00MB04373D89C494999EB4660C78C5AD9%40DM5PR00MB0437.namprd00.prod.outlook.com.

Chris Harrelson

unread,
Jun 22, 2022, 11:59:14 AMJun 22
to Yoav Weiss, Daniel Clark, Manuel Rego, Sanket Joshi (Edge), Fernando Fiori, Bo Cupp, Luis Juan Sanchez Padilla, Delan Azabani, Rick Byers, flo...@rivoal.net, Emilio Cobos Alvarez
LGTM2 then. :(

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.

Daniel Bratell

unread,
Jun 22, 2022, 12:26:20 PMJun 22
to Yoav Weiss, blink-dev, Daniel Clark, Manuel Rego, Sanket Joshi (Edge), Fernando Fiori, Bo Cupp, Luis Juan Sanchez Padilla, Delan Azabani, Rick Byers, flo...@rivoal.net

With dual LGTM1 from Chris and Yoav, I'll jump directly to...

LGTM3

/Daniel

--

Joe Medley

unread,
Jun 22, 2022, 1:19:00 PMJun 22
to Daniel Bratell, Yoav Weiss, blink-dev, Daniel Clark, Manuel Rego, Sanket Joshi (Edge), Fernando Fiori, Bo Cupp, Luis Juan Sanchez Padilla, Delan Azabani, Rick Byers, flo...@rivoal.net
When do you hope to ship?
Joe Medley | Technical Writer, Chrome DevRel | jme...@google.com | 816-678-7195
If an API's not documented it doesn't exist.


Daniel Clark

unread,
Jun 22, 2022, 1:36:47 PMJun 22
to Joe Medley, Daniel Bratell, Yoav Weiss, blink-dev, Manuel Rego, Sanket Joshi (EDGE), Fernando Fiori, Bo Cupp, Luis Juan Sanchez Padilla, Delan Azabani, Rick Byers, flo...@rivoal.net

Thanks all!

 

Shipping in 105 seems like a good target (branch date Thu, Jul 21, 2022). We still need HighlightOverlayPainting (https://chromium-review.googlesource.com/c/chromium/src/+/3640642) to reland first. I believe @Delan Azabani/@Manuel Rego Casasnovas are driving that change and may have a better idea of the timeline. I'll follow up with the CL to enable Highlight API as soon as that lands.


-- Dan

Delan Azabani

unread,
Jun 24, 2022, 3:42:07 AMJun 24
to Daniel Clark, Joe Medley, Daniel Bratell, Yoav Weiss, blink-dev, Manuel Rego, Sanket Joshi (EDGE), Fernando Fiori, Bo Cupp, Luis Juan Sanchez Padilla, Rick Byers, flo...@rivoal.net

On 2022-06-22 19:36, Daniel Clark wrote:

Shipping in 105 seems like a good target (branch date Thu, Jul 21, 2022). We still need HighlightOverlayPainting (https://chromium-review.googlesource.com/c/chromium/src/+/3640642) to reland first. I believe @Delan Azabani/@Manuel Rego Casasnovas are driving that change and may have a better idea of the timeline. I'll follow up with the CL to enable Highlight API as soon as that lands.

I think all of the blocking spec issues are now resolved or at consensus, so the only thing left is the Chromium OS performance regression in bug 1335762. It’s hard to give a time estimate on that until we figure out the root cause though.

Cheers,
Delan Azabani
Igalia // web platform

Manuel Rego Casasnovas

unread,
Jul 14, 2022, 7:30:54 AMJul 14
to Daniel Clark, blink-dev, Sanket Joshi (EDGE), Fernando Fiori, Bo Cupp, Luis Juan Sanchez Padilla, Delan Azabani, Emilio Cobos Álvarez, Rick Byers, Florian Rivoal
One comment about this feature and legacy layout.

It seems ::highlight customization is only supported in LayoutNG for
most properties (only background-color works in legacy).

I'm wondering if we should add some kind of console warning message,
like for Container Queries [*], so if people see some differences in
some cases they can know the reason why.


Another thing that I noticed is that highlight pseudos are not being
printed, I guess that was on purpose for things like ::selection or
::target-text, but should we allow printing ::highlight? Should we open
a spec issue about that so it's properly defined (I didn't find anything
on the specs regarding printing)?

I don't mean this is a blocker for shipping, but if this is not properly
defined, maybe it's time to clarify things regarding printing.

Cheers,
Rego

[*] https://chromium-review.googlesource.com/c/chromium/src/+/3706582

On 08/06/2022 19:42, 'Daniel Clark' via blink-dev wrote:
>
> Contact emails
>
> dan...@microsoft.com <mailto:dan...@microsoft.com>, sa...@microsoft.com
> <mailto:sa...@microsoft.com>, ffi...@microsoft.com
> <mailto:ffi...@microsoft.com>, lusa...@microsoft.com
> <mailto:lusa...@microsoft.com>, pc...@microsoft.com
> <mailto:pc...@microsoft.com>,
>
>
> Explainer
>
> https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/highlight/explainer.md
> <https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/highlight/explainer.md>
>
>
> Specification
>
> https://drafts.csswg.org/css-highlight-api-1/
> <https://drafts.csswg.org/css-highlight-api-1/>
>
>
> Design docs
>
>
> https://docs.google.com/document/d/1vaWiPLA9opz0AObbObuRj3P5zqzoM2ldy0pHkZkJyxo
> <https://docs.google.com/document/d/1vaWiPLA9opz0AObbObuRj3P5zqzoM2ldy0pHkZkJyxo>
>
>
> Summary
>
> The custom highlight API provides a way for web developers to style the
> text of arbitrary ranges. This is useful in a variety of scenarios,
> including editing frameworks that wish to implement their own selection,
> find-on-page over virtualized documents, multiple selections to
> represent online collaboration, or spellchecking frameworks.
>
>
> Blink component
>
> Blink>Editing
> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EEditing>
>
>
> Search tags
>
> Custom Highlight API
> <https://chromestatus.com/features#tags:Custom%20Highlight%20API>, Highlight
> API <https://chromestatus.com/features#tags:Highlight%20API>
>
>
> TAG review
>
> https://github.com/w3ctag/design-reviews/issues/584
> <https://github.com/w3ctag/design-reviews/issues/584>
>
>
> TAG review status
>
> Issues addressed
>
>
> Risks
>
>
> Interoperability and Compatibility
>
> Low risk: This feature received positive support from Safari and Firefox
> at TPAC 2019. Safari is implementing it, Firefox has not yet made any
> clear indication on implementation.
>
>
>
> /WebKit/: Positive. WebKit implemented the feature behind an
> experimental flag in 99:
> /Web developers/: Strongly positive
> (https://github.com/w3c/csswg-drafts/issues/4307
> <https://github.com/w3c/csswg-drafts/issues/4307>). Multiple use cases
> have been pointed out in this issue. CKEditor has also shown support
> from the first highlight API explainer.
>
> /Other signals/:
>
>
> Ergonomics
>
> Highlight API will be the first use case for constructible StaticRanges,
> which the API permits as an alternative to Iive Ranges because they do
> not incur cost during DOM mutations.
>
>
>
>
> Activation
>
> No. Web developers should be able to use the feature as-is. It is also
> easy to feature detect (checking for the existence of CSS.highlights).
>
>
>
>
> WebView application risks
>
> None.
>
>
> Debuggability
>
> DevTools shows ::highlight pseudo elements in the style pane. This
> includes inherited pseudos per the highlight inheritance model
> <https://drafts.csswg.org/css-pseudo-4/#highlight-cascade> used by
> custom highlights.
>
>
>
>
> Will this feature be supported on all six Blink platforms
> (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?
>
> Yes
>
>
> Is this feature fully tested by web-platform-tests
> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>?
>
> Yes
> https://github.com/web-platform-tests/wpt/tree/master/css/css-highlight-api
> <https://github.com/web-platform-tests/wpt/tree/master/css/css-highlight-api>
>
>
> Flag name
>
> HighlightAPI
>
>
> Requires code in //chrome?
>
> False
>
>
> Tracking bug
>
> https://crbug.com/1164461 <https://crbug.com/1164461>
>
>
> Estimated milestones
>
> No milestones specified
>
>
>
> Anticipated spec changes
>
> Future work will likely add support for setting pointer event listeners
> on highlights so that highlights can react to user input. For some early
> thoughts on this see
> https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/highlight/events-explainer.md
> <https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/highlight/events-explainer.md>.
> That work will not be a compat risk; it would be only additive.
>
>
>
> Link to entry on the Chrome Platform Status
>
> https://chromestatus.com/feature/5436441440026624
> <https://chromestatus.com/feature/5436441440026624>
>
>
> Links to previous Intent discussions
>
> Intent to
> prototype: https://groups.google.com/a/chromium.org/g/blink-dev/c/Ix2u8NHG5Po/m/jjMjWIHXAQAJ
> <https://groups.google.com/a/chromium.org/g/blink-dev/c/Ix2u8NHG5Po/m/jjMjWIHXAQAJ>
>
> Earlier Intent to ship:
> https://groups.google.com/a/chromium.org/g/blink-dev/c/Q21B         
> Qb-zV0w/m/2ik0_aKyCAAJ
> <https://groups.google.com/a/chromium.org/g/blink-dev/c/Q21B%09Qb-zV0w/m/2ik0_aKyCAAJ>
>
>  
>
> *Additional Comments:*
>
> We sent an earlier Intent to Ship
> <https://groups.google.com/a/chromium.org/g/blink-dev/c/Q21BQb-zV0w/m/2ik0_aKyCAAJ>
> for this feature last year where we received feedback about several spec
> and implementation issues that needed to be resolved prior to shipping.
> We have now addressed these issues. Things that have changed since the
> initial I2S include:
>
> - Custom highlights have been switched to use highlight pseudo
> inheritance <https://drafts.csswg.org/css-pseudo-4/#highlight-cascade>,
> resolving longstanding disagreements between how highlight pseudos work
> in Chromium versus what is said in the spec.
>
> - Many highlight painting bugs have been fixed by Igalia’s work in this
> space. *Note:* Some of these fixes came from the
> HighlightOverlayPainting work that was landed in
> https://chromium-review.googlesource.com/c/chromium/src/+/3640642
> <https://chromium-review.googlesource.com/c/chromium/src/+/3640642>.
> That change was reverted due to a perf issue, so we’ll wait for it to
> reland prior to landing the shipping CL for Custom Highlight API.
>
> - Custom highlights are now exposed to a11y tech though an approach
> developed in discussions with CSSWG and APAWG:
> https://github.com/w3c/csswg-drafts/issues/6498
> <https://github.com/w3c/csswg-drafts/issues/6498>
>
> - Miscellaneous other CSSWG resolutions and bugfixes.
>
> --
> You received this message because you are subscribed to the Google
> Groups "blink-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to blink-dev+...@chromium.org
> <mailto:blink-dev+...@chromium.org>.
> To view this discussion on the web visit
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/DM5PR00MB0437B1B4E35C4373FF37E4C4C5A49%40DM5PR00MB0437.namprd00.prod.outlook.com
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/DM5PR00MB0437B1B4E35C4373FF37E4C4C5A49%40DM5PR00MB0437.namprd00.prod.outlook.com?utm_medium=email&utm_source=footer>.

Daniel Clark

unread,
Jul 14, 2022, 7:53:16 PMJul 14
to Manuel Rego Casasnovas, blink-dev, Sanket Joshi (EDGE), Fernando Fiori, Bo Cupp, Luis Juan Sanchez Padilla, Delan Azabani, Emilio Cobos Álvarez, Rick Byers, Florian Rivoal
These are both good points, thanks for bringing them up. I won't plan to block shipping for these but I'll follow up for both.

I filed https://bugs.chromium.org/p/chromium/issues/detail?id=1344685 to track the addition of the console warning.
I filed https://github.com/w3c/csswg-drafts/issues/7499 to track clarification of the printing behavior.

Thanks,
Dan

-----Original Message-----
From: Manuel Rego Casasnovas <re...@igalia.com>
Sent: Thursday, July 14, 2022 4:31 AM
To: Daniel Clark <dan...@microsoft.com>; blink-dev <blin...@chromium.org>
Cc: Sanket Joshi (EDGE) <sa...@microsoft.com>; Fernando Fiori <ffi...@microsoft.com>; Bo Cupp <pc...@microsoft.com>; Luis Juan Sanchez Padilla <Luis....@microsoft.com>; Delan Azabani <daza...@igalia.com>; Emilio Cobos Álvarez <emi...@mozilla.com>; Rick Byers <rby...@chromium.org>; Florian Rivoal <flo...@rivoal.net>
Subject: Re: [blink-dev] Intent to Ship: Custom Highlight API

One comment about this feature and legacy layout.

It seems ::highlight customization is only supported in LayoutNG for most properties (only background-color works in legacy).

I'm wondering if we should add some kind of console warning message, like for Container Queries [*], so if people see some differences in some cases they can know the reason why.


Another thing that I noticed is that highlight pseudos are not being printed, I guess that was on purpose for things like ::selection or ::target-text, but should we allow printing ::highlight? Should we open a spec issue about that so it's properly defined (I didn't find anything on the specs regarding printing)?

I don't mean this is a blocker for shipping, but if this is not properly defined, maybe it's time to clarify things regarding printing.

Cheers,
Rego

[*] https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fchromium-review.googlesource.com%2Fc%2Fchromium%2Fsrc%2F%2B%2F3706582&amp;data=05%7C01%7Cdaniec%40microsoft.com%7Ce900e8a35b984e0378ea08da658c4bd3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637933950515742925%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=jQM8QtQRPqgZls%2F9HsfJrCfZgyS27G6dNHZeFIDr2sc%3D&amp;reserved=0

On 08/06/2022 19:42, 'Daniel Clark' via blink-dev wrote:
>
> Contact emails
>
> dan...@microsoft.com <mailto:dan...@microsoft.com>,
> sa...@microsoft.com <mailto:sa...@microsoft.com>, ffi...@microsoft.com
> <mailto:ffi...@microsoft.com>, lusa...@microsoft.com
> <mailto:lusa...@microsoft.com>, pc...@microsoft.com
> <mailto:pc...@microsoft.com>,
>
>
> Explainer
>
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith
> ub.com%2FMicrosoftEdge%2FMSEdgeExplainers%2Fblob%2Fmain%2Fhighlight%2F
> explainer.md&amp;data=05%7C01%7Cdaniec%40microsoft.com%7Ce900e8a35b984
> e0378ea08da658c4bd3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C63793
> 3950515742925%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2lu
> MzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=gltxN5Ppd
> jpK2hmy9YOvzmv4JCoBz5fEy6VKu8r5wvI%3D&amp;reserved=0
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit
> hub.com%2FMicrosoftEdge%2FMSEdgeExplainers%2Fblob%2Fmain%2Fhighlight%2
> Fexplainer.md&amp;data=05%7C01%7Cdaniec%40microsoft.com%7Ce900e8a35b98
> 4e0378ea08da658c4bd3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C6379
> 33950515742925%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2l
> uMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=gltxN5Pp
> djpK2hmy9YOvzmv4JCoBz5fEy6VKu8r5wvI%3D&amp;reserved=0>
>
>
> Specification
>
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdraf
> ts.csswg.org%2Fcss-highlight-api-1%2F&amp;data=05%7C01%7Cdaniec%40micr
> osoft.com%7Ce900e8a35b984e0378ea08da658c4bd3%7C72f988bf86f141af91ab2d7
> cd011db47%7C1%7C0%7C637933950515742925%7CUnknown%7CTWFpbGZsb3d8eyJWIjo
> iMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%
> 7C%7C&amp;sdata=cx9ESC489CebPDKkllktvpHmsUei2QQBKAwG3m16%2Fw4%3D&amp;r
> eserved=0
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdra
> fts.csswg.org%2Fcss-highlight-api-1%2F&amp;data=05%7C01%7Cdaniec%40mic
> rosoft.com%7Ce900e8a35b984e0378ea08da658c4bd3%7C72f988bf86f141af91ab2d
> 7cd011db47%7C1%7C0%7C637933950515742925%7CUnknown%7CTWFpbGZsb3d8eyJWIj
> oiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C
> %7C%7C&amp;sdata=cx9ESC489CebPDKkllktvpHmsUei2QQBKAwG3m16%2Fw4%3D&amp;
> reserved=0>
>
>
> Design docs
>
>
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdocs
> .google.com%2Fdocument%2Fd%2F1vaWiPLA9opz0AObbObuRj3P5zqzoM2ldy0pHkZkJ
> yxo&amp;data=05%7C01%7Cdaniec%40microsoft.com%7Ce900e8a35b984e0378ea08
> da658c4bd3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C63793395051574
> 2925%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBT
> iI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=%2B9vU47ZUdmIo8j8o
> nyK%2B%2FHUIqENPsLRFOvXOaGgRtsc%3D&amp;reserved=0
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdoc
> s.google.com%2Fdocument%2Fd%2F1vaWiPLA9opz0AObbObuRj3P5zqzoM2ldy0pHkZk
> Jyxo&amp;data=05%7C01%7Cdaniec%40microsoft.com%7Ce900e8a35b984e0378ea0
> 8da658c4bd3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C6379339505157
> 42925%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJB
> TiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=%2B9vU47ZUdmIo8j8
> onyK%2B%2FHUIqENPsLRFOvXOaGgRtsc%3D&amp;reserved=0>
>
>
> Summary
>
> The custom highlight API provides a way for web developers to style
> the text of arbitrary ranges. This is useful in a variety of
> scenarios, including editing frameworks that wish to implement their
> own selection, find-on-page over virtualized documents, multiple
> selections to represent online collaboration, or spellchecking frameworks.
>
>
> Blink component
>
> Blink>Editing
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbug
> s.chromium.org%2Fp%2Fchromium%2Fissues%2Flist%3Fq%3Dcomponent%3ABlink%
> 253EEditing&amp;data=05%7C01%7Cdaniec%40microsoft.com%7Ce900e8a35b984e
> 0378ea08da658c4bd3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637933
> 950515742925%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luM
> zIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=NhMcz4Ty7P
> K7eRZFIG%2FgSxhbzLNk1aM8jLh1zsAAOlM%3D&amp;reserved=0>
>
>
> Search tags
>
> Custom Highlight API
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fchr
> omestatus.com%2Ffeatures%23tags%3ACustom%2520Highlight%2520API&amp;dat
> a=05%7C01%7Cdaniec%40microsoft.com%7Ce900e8a35b984e0378ea08da658c4bd3%
> 7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637933950515899159%7CUnkn
> own%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwi
> LCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=ff2BtxAGf9xOdiBm1OLQ3zPcYkVd2
> drcAJlfSSyLOl8%3D&amp;reserved=0>, Highlight API
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fchr
> omestatus.com%2Ffeatures%23tags%3AHighlight%2520API&amp;data=05%7C01%7
> Cdaniec%40microsoft.com%7Ce900e8a35b984e0378ea08da658c4bd3%7C72f988bf8
> 6f141af91ab2d7cd011db47%7C1%7C0%7C637933950515899159%7CUnknown%7CTWFpb
> GZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0
> %3D%7C3000%7C%7C%7C&amp;sdata=BsggToajzcHYiPyya0waQIm4JL0YhyP%2B8mnxyg
> WIo8E%3D&amp;reserved=0>
>
>
> TAG review
>
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith
> ub.com%2Fw3ctag%2Fdesign-reviews%2Fissues%2F584&amp;data=05%7C01%7Cdan
> iec%40microsoft.com%7Ce900e8a35b984e0378ea08da658c4bd3%7C72f988bf86f14
> 1af91ab2d7cd011db47%7C1%7C0%7C637933950515899159%7CUnknown%7CTWFpbGZsb
> 3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%
> 7C3000%7C%7C%7C&amp;sdata=ftgkVL3h%2FpV5IZWoQa2%2BI6ZwpAn%2B7Oh2alf9KF
> VWGBA%3D&amp;reserved=0
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit
> hub.com%2Fw3ctag%2Fdesign-reviews%2Fissues%2F584&amp;data=05%7C01%7Cda
> niec%40microsoft.com%7Ce900e8a35b984e0378ea08da658c4bd3%7C72f988bf86f1
> 41af91ab2d7cd011db47%7C1%7C0%7C637933950515899159%7CUnknown%7CTWFpbGZs
> b3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D
> %7C3000%7C%7C%7C&amp;sdata=ftgkVL3h%2FpV5IZWoQa2%2BI6ZwpAn%2B7Oh2alf9K
> FVWGBA%3D&amp;reserved=0>
>
>
> TAG review status
>
> Issues addressed
>
>
> Risks
>
>
> Interoperability and Compatibility
>
> Low risk: This feature received positive support from Safari and
> Firefox at TPAC 2019. Safari is implementing it, Firefox has not yet
> made any clear indication on implementation.
>
>
>
> /Gecko/: No clear signal
> (https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit
> hub.com%2Fmozilla%2Fstandards-positions%2Fissues%2F482&amp;data=05%7C0
> 1%7Cdaniec%40microsoft.com%7Ce900e8a35b984e0378ea08da658c4bd3%7C72f988
> bf86f141af91ab2d7cd011db47%7C1%7C0%7C637933950515899159%7CUnknown%7CTW
> FpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6
> Mn0%3D%7C3000%7C%7C%7C&amp;sdata=6pRrLQWyg4MLwh7Vm5FZxyEwtTH8a1e5UOtp4
> 4gKW7s%3D&amp;reserved=0
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit
> hub.com%2Fmozilla%2Fstandards-positions%2Fissues%2F482&amp;data=05%7C0
> 1%7Cdaniec%40microsoft.com%7Ce900e8a35b984e0378ea08da658c4bd3%7C72f988
> bf86f141af91ab2d7cd011db47%7C1%7C0%7C637933950515899159%7CUnknown%7CTW
> FpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6
> Mn0%3D%7C3000%7C%7C%7C&amp;sdata=6pRrLQWyg4MLwh7Vm5FZxyEwtTH8a1e5UOtp4
> 4gKW7s%3D&amp;reserved=0>)
>
> /WebKit/: Positive. WebKit implemented the feature behind an
> experimental flag in 99:
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdeve
> loper.apple.com%2Fsafari%2Ftechnology-preview%2Frelease-notes%2F%23%3A
> ~%3Atext%3DAdded%2520support%2520for%2520rendering%2520highlights%2520
> specified%2520in%2520CSS%2520Highlight%2520API&amp;data=05%7C01%7Cdani
> ec%40microsoft.com%7Ce900e8a35b984e0378ea08da658c4bd3%7C72f988bf86f141
> af91ab2d7cd011db47%7C1%7C0%7C637933950515899159%7CUnknown%7CTWFpbGZsb3
> d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7
> C3000%7C%7C%7C&amp;sdata=hKo26GTcQJGDPs0oWwqRFgB8r6rKMw1rZif%2BbWPS0hM
> %3D&amp;reserved=0
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdeveloper.apple.com%2Fsafari%2Ftechnology-preview%2Frelease-notes%2F%23%3A~%3Atext%3DAdded%2520support%2520for%2520rendering%2520highlights%2520specified%2520in%2520CSS%2520Highlight%2520API&amp;data=05%7C01%7Cdaniec%40microsoft.com%7Ce900e8a35b984e0378ea08da658c4bd3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637933950515899159%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=hKo26GTcQJGDPs0oWwqRFgB8r6rKMw1rZif%2BbWPS0hM%3D&amp;reserved=0>.
>
> /Web developers/: Strongly positive
> (https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit
> hub.com%2Fw3c%2Fcsswg-drafts%2Fissues%2F4307&amp;data=05%7C01%7Cdaniec
> %40microsoft.com%7Ce900e8a35b984e0378ea08da658c4bd3%7C72f988bf86f141af
> 91ab2d7cd011db47%7C1%7C0%7C637933950515899159%7CUnknown%7CTWFpbGZsb3d8
> eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3
> 000%7C%7C%7C&amp;sdata=J2R6wy6eJQDin0angcZEV9X0xXs5%2FxAnhvUOLQbqsWo%3
> D&amp;reserved=0
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit
> hub.com%2Fw3c%2Fcsswg-drafts%2Fissues%2F4307&amp;data=05%7C01%7Cdaniec
> %40microsoft.com%7Ce900e8a35b984e0378ea08da658c4bd3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637933950515899159%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=J2R6wy6eJQDin0angcZEV9X0xXs5%2FxAnhvUOLQbqsWo%3D&amp;reserved=0>). Multiple use cases have been pointed out in this issue. CKEditor has also shown support from the first highlight API explainer.
>
> /Other signals/:
>
>
> Ergonomics
>
> Highlight API will be the first use case for constructible
> StaticRanges, which the API permits as an alternative to Iive Ranges
> because they do not incur cost during DOM mutations.
>
>
>
>
> Activation
>
> No. Web developers should be able to use the feature as-is. It is also
> easy to feature detect (checking for the existence of CSS.highlights).
>
>
>
>
> WebView application risks
>
> None.
>
>
> Debuggability
>
> DevTools shows ::highlight pseudo elements in the style pane. This
> includes inherited pseudos per the highlight inheritance model
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdra
> fts.csswg.org%2Fcss-pseudo-4%2F%23highlight-cascade&amp;data=05%7C01%7Cdaniec%40microsoft.com%7Ce900e8a35b984e0378ea08da658c4bd3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637933950515899159%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=DRdVyoNKcg9Oe2UJcR%2BFtdSf5YmGS4GLFvERWeHEoCc%3D&amp;reserved=0> used by custom highlights.
>
>
>
>
> Will this feature be supported on all six Blink platforms
> (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?
>
> Yes
>
>
> Is this feature fully tested by web-platform-tests
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fchromium.googlesource.com%2Fchromium%2Fsrc%2F%2B%2Fmain%2Fdocs%2Ftesting%2Fweb_platform_tests.md&amp;data=05%7C01%7Cdaniec%40microsoft.com%7Ce900e8a35b984e0378ea08da658c4bd3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637933950515899159%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=eonrCk%2F%2BQzc6EZOCSpYySwIRQdZqnYSxanYbYoKRDIo%3D&amp;reserved=0>?
>
> Yes
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith
> ub.com%2Fweb-platform-tests%2Fwpt%2Ftree%2Fmaster%2Fcss%2Fcss-highligh
> t-api&amp;data=05%7C01%7Cdaniec%40microsoft.com%7Ce900e8a35b984e0378ea
> 08da658c4bd3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637933950515
> 899159%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJ
> BTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=Cf5J3dRNButR8xvt
> ej3NePolCCgp6FiPVRLz8MXidqQ%3D&amp;reserved=0
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit
> hub.com%2Fweb-platform-tests%2Fwpt%2Ftree%2Fmaster%2Fcss%2Fcss-highlig
> ht-api&amp;data=05%7C01%7Cdaniec%40microsoft.com%7Ce900e8a35b984e0378e
> a08da658c4bd3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C63793395051
> 5899159%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLC
> JBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=Cf5J3dRNButR8xv
> tej3NePolCCgp6FiPVRLz8MXidqQ%3D&amp;reserved=0>
>
>
> Flag name
>
> HighlightAPI
>
>
> Requires code in //chrome?
>
> False
>
>
> Tracking bug
>
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcrbu
> g.com%2F1164461&amp;data=05%7C01%7Cdaniec%40microsoft.com%7Ce900e8a35b
> 984e0378ea08da658c4bd3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C63
> 7933950515899159%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV
> 2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=0vCySN
> MEzuccQpclx%2BmcS%2FX4i23DZSoa8q%2FpBcVpJ%2Bg%3D&amp;reserved=0
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcrb
> ug.com%2F1164461&amp;data=05%7C01%7Cdaniec%40microsoft.com%7Ce900e8a35
> b984e0378ea08da658c4bd3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C6
> 37933950515899159%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoi
> V2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=0vCyS
> NMEzuccQpclx%2BmcS%2FX4i23DZSoa8q%2FpBcVpJ%2Bg%3D&amp;reserved=0>
>
>
> Estimated milestones
>
> No milestones specified
>
>
>
> Anticipated spec changes
>
> Future work will likely add support for setting pointer event
> listeners on highlights so that highlights can react to user input.
> For some early thoughts on this see
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith
> ub.com%2FMicrosoftEdge%2FMSEdgeExplainers%2Fblob%2Fmain%2Fhighlight%2F
> events-explainer.md&amp;data=05%7C01%7Cdaniec%40microsoft.com%7Ce900e8
> a35b984e0378ea08da658c4bd3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%
> 7C637933950515899159%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQI
> joiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=ZC
> 8A2GN6YcdHI2nTmIR%2BPSlK0YKUv%2FF39rgG%2Fq8ocwo%3D&amp;reserved=0
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftEdge%2FMSEdgeExplainers%2Fblob%2Fmain%2Fhighlight%2Fevents-explainer.md&amp;data=05%7C01%7Cdaniec%40microsoft.com%7Ce900e8a35b984e0378ea08da658c4bd3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637933950515899159%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=ZC8A2GN6YcdHI2nTmIR%2BPSlK0YKUv%2FF39rgG%2Fq8ocwo%3D&amp;reserved=0>.
> That work will not be a compat risk; it would be only additive.
>
>
>
> Link to entry on the Chrome Platform Status
>
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fchro
> mestatus.com%2Ffeature%2F5436441440026624&amp;data=05%7C01%7Cdaniec%40
> microsoft.com%7Ce900e8a35b984e0378ea08da658c4bd3%7C72f988bf86f141af91a
> b2d7cd011db47%7C1%7C0%7C637933950515899159%7CUnknown%7CTWFpbGZsb3d8eyJ
> WIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000
> %7C%7C%7C&amp;sdata=vsSvzhA3FLt5%2FswuBszolOwuEECPUN0BWTHhw6E7C%2Bw%3D
> &amp;reserved=0
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fchr
> omestatus.com%2Ffeature%2F5436441440026624&amp;data=05%7C01%7Cdaniec%4
> 0microsoft.com%7Ce900e8a35b984e0378ea08da658c4bd3%7C72f988bf86f141af91
> ab2d7cd011db47%7C1%7C0%7C637933950515899159%7CUnknown%7CTWFpbGZsb3d8ey
> JWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C300
> 0%7C%7C%7C&amp;sdata=vsSvzhA3FLt5%2FswuBszolOwuEECPUN0BWTHhw6E7C%2Bw%3
> D&amp;reserved=0>
>
>
> Links to previous Intent discussions
>
> Intent to
> prototype: 
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgrou
> ps.google.com%2Fa%2Fchromium.org%2Fg%2Fblink-dev%2Fc%2FIx2u8NHG5Po%2Fm
> %2FjjMjWIHXAQAJ&amp;data=05%7C01%7Cdaniec%40microsoft.com%7Ce900e8a35b
> 984e0378ea08da658c4bd3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C63
> 7933950515899159%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV
> 2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=ONonRB
> SUAW8jS2G7NOrWYIVIYAM4qm3%2BjLtXdPSoCgg%3D&amp;reserved=0
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgro
> ups.google.com%2Fa%2Fchromium.org%2Fg%2Fblink-dev%2Fc%2FIx2u8NHG5Po%2F
> m%2FjjMjWIHXAQAJ&amp;data=05%7C01%7Cdaniec%40microsoft.com%7Ce900e8a35
> b984e0378ea08da658c4bd3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C6
> 37933950515899159%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoi
> V2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=ONonR
> BSUAW8jS2G7NOrWYIVIYAM4qm3%2BjLtXdPSoCgg%3D&amp;reserved=0>
>
> Earlier Intent to ship:
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgrou
> ps.google.com%2Fa%2Fchromium.org%2Fg%2Fblink-dev%2Fc%2FQ21B&amp;data=0
> 5%7C01%7Cdaniec%40microsoft.com%7Ce900e8a35b984e0378ea08da658c4bd3%7C7
> 2f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637933950515899159%7CUnknown
> %7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJ
> XVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=Go3oQoVHdzEZNbfA8%2F1tMVZot2H4iA
> ECaIcignIwM98%3D&amp;reserved=0
> Qb-zV0w/m/2ik0_aKyCAAJ
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgro
> ups.google.com%2Fa%2Fchromium.org%2Fg%2Fblink-dev%2Fc%2FQ21B%2509Qb-zV
> 0w%2Fm%2F2ik0_aKyCAAJ&amp;data=05%7C01%7Cdaniec%40microsoft.com%7Ce900
> e8a35b984e0378ea08da658c4bd3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C
> 0%7C637933950515899159%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJ
> QIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=
> 1vXPC4PqVaLU0npWAo7No0oW6NXxK7plKzYJmGMPN5M%3D&amp;reserved=0>
>
>  
>
> *Additional Comments:*
>
> We sent an earlier Intent to Ship
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgro
> ups.google.com%2Fa%2Fchromium.org%2Fg%2Fblink-dev%2Fc%2FQ21BQb-zV0w%2F
> m%2F2ik0_aKyCAAJ&amp;data=05%7C01%7Cdaniec%40microsoft.com%7Ce900e8a35
> b984e0378ea08da658c4bd3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C6
> 37933950515899159%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoi
> V2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=XAyPE
> oPENu8ZF9oyUD92RdJcjhTWkW7Ona9P%2FZ638Hg%3D&amp;reserved=0>
> for this feature last year where we received feedback about several
> spec and implementation issues that needed to be resolved prior to shipping.
> We have now addressed these issues. Things that have changed since the
> initial I2S include:
>
> - Custom highlights have been switched to use highlight pseudo
> inheritance
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdra
> fts.csswg.org%2Fcss-pseudo-4%2F%23highlight-cascade&amp;data=05%7C01%7
> Cdaniec%40microsoft.com%7Ce900e8a35b984e0378ea08da658c4bd3%7C72f988bf8
> 6f141af91ab2d7cd011db47%7C1%7C0%7C637933950515899159%7CUnknown%7CTWFpb
> GZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0
> %3D%7C3000%7C%7C%7C&amp;sdata=DRdVyoNKcg9Oe2UJcR%2BFtdSf5YmGS4GLFvERWe
> HEoCc%3D&amp;reserved=0>, resolving longstanding disagreements between
> how highlight pseudos work in Chromium versus what is said in the
> spec.
>
> - Many highlight painting bugs have been fixed by Igalia's work in
> this space. *Note:* Some of these fixes came from the
> HighlightOverlayPainting work that was landed in
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fchro
> mium-review.googlesource.com%2Fc%2Fchromium%2Fsrc%2F%2B%2F3640642&amp;
> data=05%7C01%7Cdaniec%40microsoft.com%7Ce900e8a35b984e0378ea08da658c4b
> d3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637933950515899159%7CU
> nknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1ha
> WwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=OYibSNFTtJaiBijgrcj7F16y5H
> byAEslO790JqZTefo%3D&amp;reserved=0
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fchromium-review.googlesource.com%2Fc%2Fchromium%2Fsrc%2F%2B%2F3640642&amp;data=05%7C01%7Cdaniec%40microsoft.com%7Ce900e8a35b984e0378ea08da658c4bd3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637933950515899159%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=OYibSNFTtJaiBijgrcj7F16y5HbyAEslO790JqZTefo%3D&amp;reserved=0>.
> That change was reverted due to a perf issue, so we'll wait for it to
> reland prior to landing the shipping CL for Custom Highlight API.
>
> - Custom highlights are now exposed to a11y tech though an approach
> developed in discussions with CSSWG and APAWG:
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith
> ub.com%2Fw3c%2Fcsswg-drafts%2Fissues%2F6498&amp;data=05%7C01%7Cdaniec%
> 40microsoft.com%7Ce900e8a35b984e0378ea08da658c4bd3%7C72f988bf86f141af9
> 1ab2d7cd011db47%7C1%7C0%7C637933950515899159%7CUnknown%7CTWFpbGZsb3d8e
> yJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C30
> 00%7C%7C%7C&amp;sdata=fmPL0aBQ5taAidVnt3g1BbVNqbTW%2FF9b77SdpYb1CK4%3D
> &amp;reserved=0
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit
> hub.com%2Fw3c%2Fcsswg-drafts%2Fissues%2F6498&amp;data=05%7C01%7Cdaniec
> %40microsoft.com%7Ce900e8a35b984e0378ea08da658c4bd3%7C72f988bf86f141af
> 91ab2d7cd011db47%7C1%7C0%7C637933950515899159%7CUnknown%7CTWFpbGZsb3d8
> eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3
> 000%7C%7C%7C&amp;sdata=fmPL0aBQ5taAidVnt3g1BbVNqbTW%2FF9b77SdpYb1CK4%3
> D&amp;reserved=0>
>
> - Miscellaneous other CSSWG resolutions and bugfixes.
>
> --
> You received this message because you are subscribed to the Google
> Groups "blink-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to blink-dev+...@chromium.org
> <mailto:blink-dev+...@chromium.org>.
> To view this discussion on the web visit
> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgrou
> ps.google.com%2Fa%2Fchromium.org%2Fd%2Fmsgid%2Fblink-dev%2FDM5PR00MB04
> 37B1B4E35C4373FF37E4C4C5A49%2540DM5PR00MB0437.namprd00.prod.outlook.co
> m&amp;data=05%7C01%7Cdaniec%40microsoft.com%7Ce900e8a35b984e0378ea08da
> 658c4bd3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C6379339505158991
> 59%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI
> 6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=it5orsE6vTm5NNMleZlL
> Chp1hMCIylLkVvj5UCIaOsU%3D&amp;reserved=0
> <https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgroups.google.com%2Fa%2Fchromium.org%2Fd%2Fmsgid%2Fblink-dev%2FDM5PR00MB0437B1B4E35C4373FF37E4C4C5A49%2540DM5PR00MB0437.namprd00.prod.outlook.com%3Futm_medium%3Demail%26utm_source%3Dfooter&amp;data=05%7C01%7Cdaniec%40microsoft.com%7Ce900e8a35b984e0378ea08da658c4bd3%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C637933950515899159%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&amp;sdata=hozStLJPUxmCRtMjco4rgU3IsfTH5ArQrecrHWdZfe8%3D&amp;reserved=0>.

Delan Azabani

unread,
Jul 15, 2022, 2:32:12 PMJul 15
to blink-dev, Delan Azabani, jme...@google.com, Daniel Bratell, yoav...@chromium.org, blink-dev, Manuel Rego, Sanket Joshi (Edge), Fernando Fiori, Bo Cupp, Luis Juan Sanchez Padilla, rby...@chromium.org, flo...@rivoal.net, Daniel Clark
On Friday, 24 June 2022 at 3:42:07 pm UTC+8 Delan Azabani wrote:
I think all of the blocking spec issues are now resolved or at consensus, so the only thing left is the Chromium OS performance regression in bug 1335762. It’s hard to give a time estimate on that until we figure out the root cause though.

We’ve fixed the regression and rebumped HighlightOverlayPainting to stable, so we should be good to go!

Daniel Clark

unread,
Jul 15, 2022, 5:07:11 PMJul 15
to Delan Azabani, blink-dev, Delan Azabani, jme...@google.com, Daniel Bratell, yoav...@chromium.org, blink-dev, Manuel Rego, Sanket Joshi (EDGE), Fernando Fiori, Bo Cupp, Luis Juan Sanchez Padilla, rby...@chromium.org, flo...@rivoal.net

Thanks for following through with that fix and reland! Highlight API has shipped: https://chromium-review.googlesource.com/c/chromium/src/+/3718885

 

From: Delan Azabani <de...@azabani.com>
Sent: Friday, July 15, 2022 1:16 AM
To: blink-dev <blin...@chromium.org>
Cc: Delan Azabani <daza...@igalia.com>; jme...@google.com <jme...@google.com>; Daniel Bratell <brat...@gmail.com>; yoav...@chromium.org <yoav...@chromium.org>; blink-dev <blin...@chromium.org>; Manuel Rego <re...@igalia.com>; Sanket Joshi (EDGE) <sa...@microsoft.com>; Fernando Fiori <ffi...@microsoft.com>; Bo Cupp <pc...@microsoft.com>; Luis Juan Sanchez Padilla <Luis....@microsoft.com>; rby...@chromium.org <rby...@chromium.org>; flo...@rivoal.net <flo...@rivoal.net>; Daniel Clark <dan...@microsoft.com>
Subject: Re: [blink-dev] Intent to Ship: Custom Highlight API

 

You don't often get email from de...@azabani.com. Learn why this is important

Fernando Fiori

unread,
Jul 15, 2022, 5:53:39 PMJul 15
to Daniel Clark, Delan Azabani, blink-dev, Delan Azabani, jme...@google.com, Daniel Bratell, yoav...@chromium.org, blink-dev, Manuel Rego, Sanket Joshi (EDGE), Bo Cupp, Luis Juan Sanchez Padilla, rby...@chromium.org, flo...@rivoal.net

This is awesome! Thank you and congrats to everyone who has been working on it to make it happen 😊

Reply all
Reply to author
Forward
0 new messages