Hi all,

I randomly discovered today that we forgot to remove one property as part 
of this deprecation and removal. We successfully removed NavigateEvent's 
transitionWhile() (replaced with intercept()), but did not remove the 
property canTransition (replaced with canIntercept).

The percentage of page loads using the navigation API 
<https://chromestatus.com/metrics/feature/timeline/popularity/4056> has 
certainly grown since this Intent was sent (now between 0.1-0.2%). However, 
I'm hopeful nobody is using canTransition. It's not documented anywhere, 
whereas canIntercept is. I did some GitHub code searches (e.canTransition 
<https://github.com/search?q=%2Fe%5C.canTransition%2F+language%3AJavaScript&type=code>,
 
event.canTransition 
<https://github.com/search?q=%2Fevent%5C.canTransition%2F+language%3AJavaScript&type=code>,
 
and a much-noisier canTransition 
<https://github.com/search?q=%2FcanTransition%2F+language%3AJavaScript&type=code>)
 
and didn't find anything that would break: there was one case where it was 
being logged informationally, and a couple other cases where it was being 
used alongside transitionWhile(). Since transitionWhile() does not exist 
anymore, such code is already broken and thus likely not being used in the 
wild.

Which path of action would the API owners prefer?

   - Immediately disable canTransition, with a Finch flag to reenable it if 
   that breaks something, based on the approval of this intent.
   - Add use counters and UKM, and wait for them to reach stable. Then, 
   assuming all looks good, send a second Intent to Remove.


On Wednesday, June 29, 2022 at 11:47:58 PM UTC+9 Mike West wrote:

> LGTM3.
>
> -mike
>
>
> On Wed, Jun 22, 2022 at 6:57 PM Mike Taylor <miketa...@chromium.org> 
> wrote:
>
>> LGTM2
>>
>> On 6/22/22 12:24 PM, Chris Harrelson wrote:
>>
>> LGTM1
>>
>> On Tue, Jun 14, 2022 at 11:25 AM Nate Chapin <jap...@chromium.org> wrote:
>>
>>> Contact emails 
>>>
>>> jap...@chromium.org, dome...@chromium.org
>>>
>>> Specification 
>>>
>>> https://github.com/WICG/navigation-api/pull/235
>>>
>>> Summary 
>>>
>>> transitionWhile() is being replaced by navigateEvent.intercept() due to 
>>> design flaws reported by developers.
>>>
>>> The flaws in transitionWhile() were discussed in 
>>> https://github.com/WICG/navigation-api/issues/230,
>>>
>>> the spec update to replace transitionWhile() with intercept() is at 
>>> https://github.com/WICG/navigation-api/pull/235, and the introduction 
>>> of intercept() has its own chromestatus entry at 
>>> https://chromestatus.com/feature/5194055716700160.
>>>
>>>
>>> Blink component 
>>>
>>> Blink>History 
>>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EHistory>
>>>
>>> Motivation 
>>>
>>> transitionWhile() has design issues that have meant developers have 
>>> found it difficult to use effectively, detailed in 
>>> https://github.com/WICG/navigation-api/issues/230#issuecomment-1137891972
>>>
>>> intercept() is being introduced to provide a more usable API for the 
>>> same basic functionality of transitionWhile().
>>>
>>>
>>> Initial public proposal 
>>>
>>> https://github.com/WICG/navigation-api/pull/235
>>>
>>> TAG review 
>>>
>>> https://github.com/w3ctag/design-reviews/issues/717
>>>
>>> TAG review status 
>>>
>>> Issues open
>>>
>>> Risks 
>>>
>>> Interoperability and Compatibility 
>>>
>>> For those migrating to intercept(), the main risk is that web developer 
>>> "handling" logic will run at a subtly different time, but per the explainer 
>>> that time will actually be less buggy in the usual case.
>>>
>>> Also, transitionWhile() only recently shipped (M102). There are few 
>>> consumers of the API, and we are in contact with most of them already, so 
>>> we believe we can guide them on any migration challenges they might have.
>>>
>>> The overall use counter for the navigation API (
>>> https://chromestatus.com/metrics/feature/timeline/popularity/4056) 
>>> shows 0.000097% of pages on the web using any portion of the API, which 
>>> provides an upper bound on the potential breakage here. (That use counter 
>>> also counts various other entry points to the API, which are not being 
>>> changed.)
>>>
>>> We plan to support both intercept() and transitionWhile() for 3 releases 
>>> to provide a migration period (adding intercept() in M105, removing 
>>> transitionWhile() in M108).
>>>
>>>
>>> Gecko: No signal 
>>> https://github.com/mozilla/standards-positions/issues/543 remains open 
>>> as the positions request for the original API.
>>>
>>> WebKit: No signal 
>>> https://www.mail-archive.com/webkit-dev@lists.webkit.org/msg30257.html 
>>> remains open as the positions request for the original API.
>>>
>>> Web developers: Positive The problem this was solving was discovered by 
>>> a web developer in https://github.com/WICG/navigation-api/issues/230, 
>>> and has some engagement there. 
>>>
>>> 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?
>>>
>>>
>>> Debuggability 
>>>
>>> N/A
>>>
>>>
>>> Is this feature fully tested by web-platform-tests 
>>> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
>>> ? 
>>>
>>> No
>>>
>>>
>>> Requires code in //chrome? 
>>>
>>> False
>>>
>>> Tracking bug 
>>>
>>> https://bugs.chromium.org/p/chromium/issues/detail?id=1336000
>>>
>>> Estimated milestones 
>>>
>>> Deprecate: M105. Remove: M108.
>>>
>>>
>>> Link to entry on the Chrome Platform Status 
>>>
>>> https://chromestatus.com/feature/5169970311856128
>>>
>>> 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 on the web visit 
>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CACf%3D2LJ2ErzDF1O8eo2BrsW3y9MWQ3XbcFQGJov%3Dcd5q7%3DPgCw%40mail.gmail.com
>>>  
>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CACf%3D2LJ2ErzDF1O8eo2BrsW3y9MWQ3XbcFQGJov%3Dcd5q7%3DPgCw%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 on the web visit 
>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw94z3Tb%3DMPBiG9MUszWz7art3gX1jqn3YvefG_Xwo8bMg%40mail.gmail.com
>>  
>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw94z3Tb%3DMPBiG9MUszWz7art3gX1jqn3YvefG_Xwo8bMg%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 on the web visit 
>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/172226f9-782e-8786-b3b8-8a3229f5fcc6%40chromium.org
>>  
>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/172226f9-782e-8786-b3b8-8a3229f5fcc6%40chromium.org?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/18443a7f-46d5-416d-a3ce-523ae5aedf41n%40chromium.org.

Reply via email to