Apologies for the delay, this got hidden from me due to some gmail
filtering issues...comments inline.

On Thu, Jul 26, 2018 at 2:14 PM PhistucK <phist...@gmail.com> wrote:

> I misremembered formatToParts as a relatively recent feature, but now I
> see that the intent I remembered was actually discussing NumberFormat.
> DateTimeFormat did not seem to have an intent on blink-dev (but I see
> that it did on v8-users).
> https://www.chromestatus.com/features/6319456309477376 says it is still
> behind a flag... Is the MDN article
> <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat/formatToParts>
> correct in stating that it was supported in Chrome 57 (and confusingly,
> also behind the flag until Chrome 60)?
>

Indeed, Chrome 57 looks like the right release (from looking through v8
commits). I've updated that on chromestatus. That is indeed awhile ago.


> Shameless plug - probably a good opportunity to add it to my filtered feed
> scraper and to my RSS reader -
>
> https://frequentfeedscraper.appspot.com/read?feed=v8users&title_filter=exact:intent
>
> Nevertheless, my intuition (more like a hunch, though) is that this
> specific field is relatively little used, but I may be wrong (the fact that
> my locale does not use it probably makes me biased).
> From seeing all of the polyfills (which already use the standard casing)
> on GitHub (the search yielded a lot of those), I presumed they are also
> used by projects, which might mean those projects probably tested their
> polyfilled implementation as well on Internet Explorer 11 or Safari pre-11,
> so they would have probably seen the casing issue if they did something
> with that particular field (Salesforce worked around it, for example).
> However, there is probably a lot of code that is Chrome only (:(), so...
>

Again, it'd be great to get Jungshik's input on this, since he was the one
who implemented it.


> Is there an option to add a use counter to V8?
> Is there an existing use counter for formatToParts altogether that I may
> have missed (or maybe it is internal)?
>

It is possible to add use counters to V8. They need to be plumbed through
the API, and then manually updated from V8, so it's more work to add than
it is in Blink, but it's doable. Would you be interested in adding such a
counter?


> Also, Node does not have to use V8 anymore, just saying. ;)
>
> ☆*PhistucK*
>
>
> On Thu, Jul 26, 2018 at 7:59 PM Adam Klein <ad...@chromium.org> wrote:
>
>> +Jungshik and Dan, who I believe worked on this feature in V8 originally.
>> I'm curious if they know how it happened that this ended up with the wrong
>> capitalization.
>>
>> I appreciate the outreach you've done to fix uses in the wild, but it
>> still scares me a little bit to make such a hard-breaking change,
>> especially for V8-only environments like Node. So I'd also like to get some
>> of your (or Jungshik or Dan's) intuition about how often this particular
>> field is accessed.
>>
>> On Fri, Jul 20, 2018 at 8:56 AM PhistucK <phist...@gmail.com> wrote:
>>
>>> (Probably an overkill, but here it goes)
>>>
>>>
>>> Contact emails
>>>
>>> phist...@gmail.com
>>>
>>> Explainer
>>>
>>> No explainer, a specification exists already.
>>>
>>> Spec
>>> https://tc39.github.io/ecma402/#sec-partitiondatetimepattern
>>>
>>> Summary
>>>
>>> This change corrects a non-compliant type value in the formatToParts
>>> implementation.
>>>
>>>
>>> > new Intl.DateTimeFormat("en-us", {hour12: true, hour:
>>> "numeric"}).formatToParts()
>>>
>>> [{"type": "hour", "value": "6"}, {"type": "literal", "value": " "},
>>> {"type": "day*p*eriod", "value": "PM"}]
>>>
>>>
>>> Will change to -
>>>
>>> [{"type": "hour", "value": "6"}, {"type": "literal", "value": " "},
>>> {"type": "day*P*eriod", "value": "PM"}]
>>>
>>>
>>> Motivation
>>>
>>> Compliance with the standards and other browsers and likely most of the
>>> code that is already out there.
>>>
>>>
>>> Risks
>>>
>>> Interoperability and Compatibility
>>>
>>> Compatibility risk - small to medium at worst.
>>>
>>>
>>> Searched GitHub (not exhaustive, but some indication) for dayperiod 
>>> instances
>>> -
>>>
>>> https://github.com/search?l=&p=1&q=formatToParts+dayperiod+language%3AJavaScript&type=Code
>>>
>>> The vast majority are polyfills that use dayPeriod already, or code
>>> that uses type.toLowerCase() to bridge over the differences.
>>>
>>>
>>> Sent pull requests to the few cases that were plain wrong -
>>> https://github.com/sensu/sensu-go/pull/1852
>>> https://github.com/brave/browser-laptop/pull/14790
>>> https://github.com/ray007/js-misc/pull/1
>>> https://github.com/OriginalNexus/venture/pull/1
>>> https://github.com/ua9msn/datetime/pull/9
>>>
>>>
>>> Interoperability risk - none.
>>>
>>>
>>> Edge: No signals
>>>
>>> Firefox: Shipped
>>>
>>> Safari: Shipped
>>>
>>> Web developers: No signals.
>>>
>>>
>>> Alternatives for web developers
>>>
>>> Either check for type === "dayPeriod" || type === "dayperiod", or 
>>> type.toLowerCase()
>>> === "dayperiod".
>>>
>>> Ergonomics
>>>
>>> Irrelevant.
>>>
>>> Activation
>>>
>>> Irrelevant.
>>>
>>> Debuggability
>>>
>>> Already debuggable.
>>>
>>>
>>> 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/+/master/docs/testing/web_platform_tests.md>
>>> ?
>>>
>>> Nope, but it is tested by test262, though not this case (which is
>>> apparently why the interoperability issue exists).
>>>
>>> *I submitted a test262 pull request to maintain interoperability -*
>>> *https://github.com/tc39/test262/pull/1645
>>> <https://github.com/tc39/test262/pull/1645>*
>>>
>>>
>>> Bug and proposed change list -
>>>
>>> https://crbug.com/865351
>>>
>>> https://chromium-review.googlesource.com/c/v8/v8/+/1145304
>>>
>>>
>>> Link to entry on the feature dashboard <https://www.chromestatus.com/>
>>> https://www.chromestatus.com/features/5252265900244992
>>>
>>> Requesting approval to ship?
>>>
>>> Yes. I think so. Do you think a deprecation period is warranted? There
>>> is no (public?) use counter for formatToParts.
>>>
>>>
>>> ☆*PhistucK*
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "blink-dev" group.
>>> To view this discussion on the web visit
>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CABc02_%2B1xEoNvCtuc4ocTw%3DtLmfHmT-z-cFTuiE6YS9Q_MdPqg%40mail.gmail.com
>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CABc02_%2B1xEoNvCtuc4ocTw%3DtLmfHmT-z-cFTuiE6YS9Q_MdPqg%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>

-- 
-- 
v8-users mailing list
v8-users@googlegroups.com
http://groups.google.com/group/v8-users
--- 
You received this message because you are subscribed to the Google Groups 
"v8-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to v8-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to