LGTM1

On Wed, Mar 5, 2025 at 6:38 AM Stephen Chenney <schen...@chromium.org>
wrote:

> Thanks Vlad. Answers inline.
>
> On Tue, Mar 4, 2025 at 10:34 PM Vladimir Levin <vmp...@chromium.org>
> wrote:
>
>>
>>
>> On Tuesday, March 4, 2025 at 11:17:42 AM UTC-5 Chromestatus wrote:
>>
>> Contact emails schen...@chromium.org
>>
>> Explainer https://github.com/whatwg/html/pull/10873
>>
>> Specification https://github.com/whatwg/html/pull/10873
>>
>> Summary
>>
>> The <canvas> DOM element, like all DOM elements, accepts a `lang`
>> attribute that is used to define language specific treatment for font
>> selection (when fonts have locale specific glyphs). Browsers respect this
>> attribute. However, when an OffscreenCanvas is created there is no way to
>> set locale information, possibly resulting in a state where an offscreen
>> canvas produces rendered results that differ from the canvas in which it's
>> output is used. This feature adds a `lang` IDL attribute to
>> CanvasTextDrawingStyles to give developers direct control over the language
>> for the text drawing and metrics.
>>
>>
>> Blink component Blink>Canvas
>> <https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3ECanvas%22>
>>
>> TAG review None
>>
>> TAG review status Not applicable
>>
>>
>> Is there a reason for no TAG review? I'm not sure if there's an exception
>> that applies here.
>>
>
> I didn't consider TAG review because the discussion in WHATWG viewed this
> as fixing an oversite in the canvas spec, and from a technical/ergonomics
> perspective it seems pretty straight forward. Happy to see if the TAG have
> any opinions though so I'll file an issue.
>
>
>>
>> Risks
>>
>>
>> Interoperability and Compatibility
>>
>> None
>>
>>
>> *Gecko*: No signal (https://github.com/mozilla/
>> standards-positions/issues/1150) Non official support in WHATWG
>> meetings.
>>
>> *WebKit*: Support (https://github.com/WebKit/
>> standards-positions/issues/439)
>>
>> *Web developers*: No signals
>>
>>
>> Although this seems like a small feature, having no web developer signals
>> is a bit unfortunate. Do you know of any cases where this behavior is
>> currently broken and would be fixed by the change?
>>
>
> Finding reports of developers having problems is a bit tricky, in part
> because "canvas" is also a very widely used online learning framework with
> lots of people who care about language. Anyways, this is one report of
> offscreen canvas giving the wrong metrics
> <https://forum.nwoods.com/t/html-lang-set-to-ja-or-zh-the-text-will-exceed-the-frame/16450>
> for text due to the lack of offscreen language support (exactly what this
> intent is expected to fix). Hitting the problem of offscreen/DOM
> inconsistency that we are trying to fix here would require a localized
> application using a common font for multiple locales with
> developers/users attentive enough to notice problems and report them.
>
> Another way of looking at Web Developer signals is that this is a
> prerequisite spec addition for the highly demanded Extended Text Metrics
> feature set. Without this we don't get better canvas text in general.
>
>
>>
>>
>>
>> *Other signals*:
>>
>> WebView application risks
>>
>> Does this intent deprecate or change behavior of existing APIs, such that
>> it has potentially high risk for Android WebView-based applications?
>>
>> Pure addition of functionality.
>>
>>
>> Debuggability
>>
>> None
>>
>>
>> Will this feature be supported on all six Blink platforms (Windows, Mac,
>> Linux, ChromeOS, Android, and Android WebView)? Yes
>>
>> Feature is useful on all platforms and important for localization.
>>
>>
>> Is this feature fully tested by web-platform-tests
>> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
>> ? Yes
>>
>> https://wpt.fyi/results/html/canvas/element/manual/text?
>> label=master&label=experimental canvas.2d.lang.dynamic.html
>> canvas.2d.lang.empty.canvas.html canvas.2d.lang.inherit.canvas.html
>> canvas.2d.lang.inherit.disconnected.canvas.html canvas.2d.lang.inherit.
>> document.disconnected.canvas.html canvas.2d.lang.inherit.document.html
>> canvas.2d.lang.html https://wpt.fyi/results/html/
>> canvas/offscreen/manual/text?label=master&label=experimental
>> canvas.2d.offscreen.lang.inherit.html canvas.2d.offscreen.lang.html
>> canvas.2d.offscreen.transferred.lang.inherit.document.html
>> canvas.2d.offscreen.transferred.lang.inherit.html 
>> canvas.2d.offscreen.transferred.lang.html
>> canvas.2d.offscreen.worker.lang.inherit.html 
>> canvas.2d.offscreen.worker.lang.html
>> https://wpt.fyi/results/html/canvas/element/text?label=
>> master&label=experimental 2d.text.lang.default.html
>> 2d.text.lang.valid.html https://wpt.fyi/results/html/
>> canvas/offscreen/text?label=master&label=experimental
>> 2d.text.lang.default.html 2d.text.lang.valid.html
>>
>>
>> Flag name on about://flags Experimental Web Platform Features
>>
>> Finch feature name CanvasTextLang
>>
>> Non-finch justification
>>
>> This is a feature addition with very very little expected impact on
>> performance or changes in existing website functionality.
>>
>>
>> Requires code in //chrome? False
>>
>> Tracking bug https://issues.chromium.org/issues/385006131
>>
>> Availability expectation WebKit implementation is moving forward. There
>> is agreement that the feature is needed and implementation is not complex.
>> I would anticipate all browsers have implemented within 2 years.
>>
>> Adoption expectation I would expect that the feature is adopted by
>> default, in that the default value for the new attribute is likely to be by
>> far the most common. So sites will immediately "adopt" the feature and get
>> the benefits without taking any action.
>>
>>
>> It wasn't immediately clear: what's the default value that would be used?
>>
>
> Default is "inherit", the behavior of which matches DOM canvas right now,
> and would make offscreen canvas match DOM canvas.
>
>
>>
>>
>> Adoption plan The feature is publicized at https://blogs.igalia.com/
>> schenney/canvas-localization-support/ and will have an MDN page.
>>
>> Non-OSS dependencies
>>
>> Does the feature depend on any code or APIs outside the Chromium open
>> source repository and its open-source dependencies to function?
>> None.
>>
>> Sample links
>> https://blogs.igalia.com/schenney/canvas-localization-support
>>
>> Estimated milestones Shipping on desktop 136 DevTrial on desktop 135 Shipping
>> on Android 136 DevTrial on Android 135 Shipping on WebView 136
>>
>> Anticipated spec changes
>>
>> Open questions about a feature may be a source of future web compat or
>> interop issues. Please list open issues (e.g. links to known github issues
>> in the project for the feature specification) whose resolution may
>> introduce web compat/interop risk (e.g., changing to naming or structure of
>> the API in a non-backward-compatible way).
>> None.
>>
>> Link to entry on the Chrome Platform Status https://chromestatus.com/
>> feature/5066778773028864?gate=5145440662847488
>>
>> Links to previous Intent discussions Intent to Prototype:
>> https://groups.google.com/a/chromium.org/g/blink-dev/c/WEjhPwI6lLc
>>
>>
>> This intent message was generated by Chrome Platform Status
>> <https://chromestatus.com>.
>>
>> --
> 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+unsubscr...@chromium.org.
> To view this discussion visit
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAGsbWzSYuQJfmu_MWGOCOOWufKqk6zH1miOqJ_B6E%3DOx9-2RnA%40mail.gmail.com
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAGsbWzSYuQJfmu_MWGOCOOWufKqk6zH1miOqJ_B6E%3DOx9-2RnA%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>

-- 
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+unsubscr...@chromium.org.
To view this discussion visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw9chy0ERp73bWaHqXoRn7g6CEjPf9pgbBJWmk-boh-mHA%40mail.gmail.com.

Reply via email to