On Thu, Feb 22, 2024 at 4:20 PM Yuzu Saijo <yu...@google.com> wrote:

> Thanks Domenic for bringing up the concerns!
>
>    - I found
>    performance-navigation-timing-navigation-failure.tentative.window.js
>    
> <https://github.com/web-platform-tests/wpt/blob/master/performance-timeline/not-restored-reasons/performance-navigation-timing-navigation-failure.tentative.window.js>
>  which
>    seems like it needs to be updated from "error-document" to
>    "navigation-failure". That's worth looking into in case it means the
>    implementation is also not yet updated.
>
> > Updated all the strings to match the spec-defined strings.
>
>    - I also found that the Chromium test directory is full of
>    -expected.txt files
>    
> <https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/web_tests/external/wpt/performance-timeline/not-restored-reasons/abort-block-bfcache.window-expected.txt?q=NotRestoredReasonDetails&ss=chromium%2Fchromium%2Fsrc&start=21>,
>    which seem to match up with the failures on wpt.fyi
>    
> <https://wpt.fyi/results/performance-timeline/not-restored-reasons?label=master&label=experimental&aligned&q=performance-timeline%2Fnot-restored-reasons>.
>    Will those be addressed before shipping?
>
> > Now the failing tests and the expected files are down to three.
> 1) parser-aborted
> We currently block with different reason("loading"), as we haven't worked
> on differentiating loading vs parser getting aborted.
>

Note that "loading" is a nonstandard reason, so it would be bad to ship in
that state. It should either be the correct reason ("parser-aborted") or
the generi "masked" reason.


> 2) navigation-failure
> We do report "navigation-failure" when the document errors(implementation
> <https://source.chromium.org/chromium/chromium/src/+/main:content/browser/renderer_host/back_forward_cache_impl.cc;drc=f4a00cc248dd2dc8ec8759fb51620d47b5114090;bpv=1;bpt=1;l=912>),
> but somehow the test only reports "http-status-not-ok" which is the chrome
> internal reason.
>

Similar to the above.


> I will look into this more.
> 3) weblock
> Chrome currently blocks with another reason here (masked), so this failure
> will not go away. Maybe I should make WPTs to test if the expected reason
> exists in the list, instead of checking the complete list.
>

Allowing an implementation to always do "masked" and pass the tests seems
reasonable to me.


>
>    - I found a nonstandard toJSON() in NotRestoredReasonDetails
>    
> <https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/timing/not_restored_reasons.idl;l=12;drc=6211b1c8268b239694bd84d7a99e508a15dc6dea>
>  in
>    Chromium. Was the intent to specify that?
>
> > Added this to the spec, thanks!
>

>    - Can you confirm that Chromium does not plan to ship any nonstandard
>    not restored reason strings, beyond the specified "fetch",
>    "navigation-failure", "parser-aborted", "websocket", "lock", and "masked"?
>
> > We plan to add user-agent specific reasons to the spec in the may-block
> section.
> This is the draft PR <https://github.com/whatwg/html/pull/10154/files>
> (have't added the explanation for each reason yet).
> Is it okay to ship while we work on the follow-up PR?
>

You could ship the portion that is fully specified, but the portions in the
draft PR would not be approved for shipment until they reach the usual bars
(e.g., a fully reviewed spec, web platform tests, other-vendor positions,
etc.).


>
>
> On Wednesday, February 7, 2024 at 2:33:04 PM UTC+9 Domenic Denicola wrote:
>
>> On Wed, Feb 7, 2024 at 12:51 PM Fergal Daly <fer...@google.com> wrote:
>>
>>> On Wed, 7 Feb 2024 at 12:26, Domenic Denicola <dom...@chromium.org>
>>> wrote:
>>>
>>>>
>>>>
>>>> On Tue, Feb 6, 2024 at 6:40 PM Fergal Daly <fer...@google.com> wrote:
>>>>
>>>>> On Tue, 6 Feb 2024 at 15:13, Domenic Denicola <dom...@chromium.org>
>>>>> wrote:
>>>>>
>>>>>> I am happy with the spec progress here and don't think it's a
>>>>>> significant blocker for the Intent at this point.
>>>>>>
>>>>>> On the tests and implementation:
>>>>>>
>>>>>>    - I found
>>>>>>    performance-navigation-timing-navigation-failure.tentative.window.js
>>>>>>    
>>>>>> <https://github.com/web-platform-tests/wpt/blob/master/performance-timeline/not-restored-reasons/performance-navigation-timing-navigation-failure.tentative.window.js>
>>>>>>    which seems like it needs to be updated from "error-document" to
>>>>>>    "navigation-failure". That's worth looking into in case it means the
>>>>>>    implementation is also not yet updated.
>>>>>>    - I also found that the Chromium test directory is full of
>>>>>>    -expected.txt files
>>>>>>    
>>>>>> <https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/web_tests/external/wpt/performance-timeline/not-restored-reasons/abort-block-bfcache.window-expected.txt?q=NotRestoredReasonDetails&ss=chromium%2Fchromium%2Fsrc&start=21>,
>>>>>>    which seem to match up with the failures on wpt.fyi
>>>>>>    
>>>>>> <https://wpt.fyi/results/performance-timeline/not-restored-reasons?label=master&label=experimental&aligned&q=performance-timeline%2Fnot-restored-reasons>.
>>>>>>    Will those be addressed before shipping?
>>>>>>    - I found a nonstandard toJSON() in NotRestoredReasonDetails
>>>>>>    
>>>>>> <https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/timing/not_restored_reasons.idl;l=12;drc=6211b1c8268b239694bd84d7a99e508a15dc6dea>
>>>>>>  in
>>>>>>    Chromium. Was the intent to specify that?
>>>>>>    - Can you confirm that Chromium does not plan to ship any
>>>>>>    nonstandard not restored reason strings, beyond the specified "fetch",
>>>>>>    "navigation-failure", "parser-aborted", "websocket", "lock", and 
>>>>>> "masked"?
>>>>>>
>>>>>> I don't know specifically what is there right now but I would expect
>>>>> that we will ship others. E.g. BroadcastChannel blocks BFCache on Chrome
>>>>> and Mozilla but not WebKit and there is currently disagreement. Why would
>>>>> it be better to show "masked" for that case?
>>>>>
>>>>
>>>> The idea is to follow the standards and not ship nonstandard behavior.
>>>> The current spec PR actually only allows sending "masked" in the
>>>> cross-origin case, and doesn't allow sending it for BroadcastChannel. If
>>>> the intention is to send some value in the BroadcastChannel case (which is 
>>>> this
>>>> part of the spec
>>>> <https://html.spec.whatwg.org/multipage/browsing-the-web.html#document-state:~:text=User%20agents%20may,keeping%20it%20cached.>)
>>>> then that needs to be specified in the spec PR before shipping such a value
>>>> in Chromium.
>>>>
>>>
>>> BFCaching is never required by spec. That means any browser can block
>>> BFCache at any time, for any reason and still be in spec.
>>>
>>
>> Yes. But a browser cannot create values for the
>> NotRestoredReasonDetails's reason property which are not in the spec, while
>> staying spec-compliant. This is similar to how we cannot have, e.g.,
>> DOMException's name property returning arbitrary values; we instead document
>> them all in the spec
>> <https://webidl.spec.whatwg.org/#idl-DOMException-error-names>, and then
>> document that some of them may be thrown in implementation-specific
>> circumstances (example <https://html.spec.whatwg.org/#killing-scripts>).
>>
>>
>>>
>>> I think what's missing is that said we would maintain a registry of
>>> reasons that were not in the spec so that when we block for unspecced
>>> reasons, we don't proliferate a bunch of undocumented names.
>>>
>>> I'm not sure how to express that in the spec,
>>>
>>
>> We discussed how to do so upthread:
>> https://groups.google.com/a/chromium.org/g/bfcache-dev/c/ufQx6r6su6U/m/vyQM9nGHAwAJ
>>
>>
>>
>>
>>
>>>
>>> F
>>>
>>>
>>>>
>>>>
>>>>>
>>>>> F
>>>>>
>>>>>
>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Mon, Feb 5, 2024 at 5:38 PM Yuzu Saijo <yu...@google.com> wrote:
>>>>>>
>>>>>>> This is now ready to ship, now that we have all the approvals on the
>>>>>>> ChromeStatus
>>>>>>> <https://chromestatus.com/feature/5684908759449600?gate=6535221965488128>and
>>>>>>> the spec draft <https://github.com/whatwg/html/pull/9360> is close
>>>>>>> to agreement.
>>>>>>>
>>>>>>> Can you please take a look at this again?
>>>>>>> Thanks!
>>>>>>>
>>>>>>> On Saturday, September 30, 2023 at 5:00:51 AM UTC+9 Chris Harrelson
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Please also make sure to complete all of the other shipping gate
>>>>>>>> reviews
>>>>>>>> <https://groups.google.com/a/chromium.org/g/blink-dev/c/bqvB1oap0Yc/m/YlO8DEHgAQAJ>
>>>>>>>> .
>>>>>>>>
>>>>>>>> Thanks!
>>>>>>>> Chris
>>>>>>>>
>>>>>>>> On Thu, Aug 10, 2023 at 8:46 AM 'Yuzu Saijo' via blink-dev <
>>>>>>>> blin...@chromium.org> wrote:
>>>>>>>>
>>>>>>>>> Sounds good, I will create a list on the explainer
>>>>>>>>> <https://github.com/WICG/bfcache-not-restored-reason/blob/main/NotRestoredReason.md>
>>>>>>>>> for the "may block" reasons then.
>>>>>>>>>
>>>>>>>>> Re: exposing NotRestoredReasons interface instead of object in idl:
>>>>>>>>> I'm working on the implementation in this CL
>>>>>>>>> <https://chromium-review.googlesource.com/c/chromium/src/+/4770594>
>>>>>>>>> .
>>>>>>>>> This might be a basic question, but is there any difference on how
>>>>>>>>> to call the API from users' perspective, when the exposed attribute 
>>>>>>>>> is an
>>>>>>>>> interface vs object?
>>>>>>>>>
>>>>>>>>> On Thursday, August 10, 2023 at 10:06:49 AM UTC+9
>>>>>>>>> dom...@chromium.org wrote:
>>>>>>>>>
>>>>>>>>>> On Wed, Aug 9, 2023 at 6:44 PM Fergal Daly <fer...@google.com>
>>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>>> On Wed, 9 Aug 2023 at 12:01, Domenic Denicola <
>>>>>>>>>>> dom...@chromium.org> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> I think specifying these reasons is important. As noted in the
>>>>>>>>>>>> linked issue
>>>>>>>>>>>> <https://github.com/WICG/bfcache-not-restored-reason/issues/2>,
>>>>>>>>>>>> I think the end goal should be:
>>>>>>>>>>>>
>>>>>>>>>>>>    - Every reason that a browser ever emits, is found in a
>>>>>>>>>>>>    specification somewhere. (It doesn't have to be the HTML spec, 
>>>>>>>>>>>> e.g. the
>>>>>>>>>>>>    speech synthesis reason could live in the speech synthesis 
>>>>>>>>>>>> spec.)
>>>>>>>>>>>>
>>>>>>>>>>>> There's no intrinsic reason for speech synthesis to block
>>>>>>>>>>> BFCache. It just happens that Chrome blocked it. There's no spec 
>>>>>>>>>>> reason for
>>>>>>>>>>> unload to block BFCache, in fact the spec says that it doesn't.
>>>>>>>>>>>
>>>>>>>>>>> I think it's good for us to have agreed names, e.g.
>>>>>>>>>>> "unload-event-handler". Should we put into various specs "if an 
>>>>>>>>>>> implementer
>>>>>>>>>>> chooses to block BFCache because X has been used, they should use 
>>>>>>>>>>> the
>>>>>>>>>>> reason `Y`"?
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>>    - If browsers prevent bfcache restoration for a reason not
>>>>>>>>>>>>    found in a spec, it is always translated to a standardized 
>>>>>>>>>>>> reason such as
>>>>>>>>>>>>    "unknown".
>>>>>>>>>>>>
>>>>>>>>>>>> This avoids the usual interop problems with vendor-specific
>>>>>>>>>>>> extensions to the web platform, such as: no clear specification 
>>>>>>>>>>>> for what
>>>>>>>>>>>> strings to use; no clear point at which the reason is added to the
>>>>>>>>>>>> document's reasons list; etc. Although you claim these reasons are
>>>>>>>>>>>> idiosyncratic to Chrome, that won't necessarily be the case; e.g. 
>>>>>>>>>>>> Firefox
>>>>>>>>>>>> has unload handler as a reason, and I suspect most user agents 
>>>>>>>>>>>> have memory
>>>>>>>>>>>> limitations or similar.
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Chrome has over 100 reasons. I'd say at least 50 of them are
>>>>>>>>>>> actionable such that you wouldn't want to lump them into an opaque
>>>>>>>>>>> "unknown" category.
>>>>>>>>>>>
>>>>>>>>>>> I do not relish the idea of updating 50 places in spec to insert
>>>>>>>>>>> a name to be used if you decide to block.
>>>>>>>>>>>
>>>>>>>>>>> How about maintaining a central list of reasons with low
>>>>>>>>>>> friction to add new reasons even if they are browser-specific? The 
>>>>>>>>>>> cases
>>>>>>>>>>> where you *must* block should still be inline in spec (and also
>>>>>>>>>>> on the list),
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> That sounds great to me. We should probably make this separation
>>>>>>>>>> clear in the spec, e.g. the "must" list will have cross-references 
>>>>>>>>>> you can
>>>>>>>>>> follow, whereas the "may" list ends up only being cross-referenced 
>>>>>>>>>> from
>>>>>>>>>> some generic location like
>>>>>>>>>> https://html.spec.whatwg.org/multipage/browsing-the-web.html#note-bfcache:~:text=User%20agents%20may,keeping%20it%20cached.
>>>>>>>>>> .
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> F
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> We could have a discussion about allowing vendor-specific
>>>>>>>>>>>> information in the API *in addition* to the standardized
>>>>>>>>>>>> reasons. For example, we could have one of the standardized 
>>>>>>>>>>>> reasons be
>>>>>>>>>>>> "user-agent-specific", and then add an additional field
>>>>>>>>>>>> userAgentSpecificInfo. But I would like to see significantly more
>>>>>>>>>>>> discussion with other vendors before going that route.
>>>>>>>>>>>>
>>>>>>>>>>>> On Tue, Aug 8, 2023 at 9:56 PM Yuzu Saijo <yu...@google.com>
>>>>>>>>>>>> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> +bfcache-dev
>>>>>>>>>>>>>
>>>>>>>>>>>>> I was talking to Fergal today and discussed this, and I am not
>>>>>>>>>>>>> sure about adding browser-specific reasons to the spec.
>>>>>>>>>>>>> For example, some reasons like "speech synthesis API is used"
>>>>>>>>>>>>> / "unload handler" are completely specific to Chrome, and it 
>>>>>>>>>>>>> doesn't really
>>>>>>>>>>>>> make sense to add them to the spec, even with the namespace
>>>>>>>>>>>>> (x-speechsysthesis / x-unloadhandler).
>>>>>>>>>>>>> Maybe we can document the reasons somewhere in a shared list
>>>>>>>>>>>>> but not in the spec?
>>>>>>>>>>>>>
>>>>>>>>>>>>> I think the API would be more useful if it can give as much
>>>>>>>>>>>>> information as possible, not limited to the specced reasons.
>>>>>>>>>>>>> Please let me know what you think!
>>>>>>>>>>>>>
>>>>>>>>>>>>> Yuzu
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Thursday, August 3, 2023 at 12:39:17 PM UTC+9 Yuzu Saijo
>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Sorry for the delayed response.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> *> there doesn't appear to be any NotRestoredReasons
>>>>>>>>>>>>>> interface defined in Chromium?*
>>>>>>>>>>>>>> Let me address this implementation and delay the shipping
>>>>>>>>>>>>>> until the chromium implementation matches the proposed spec. 
>>>>>>>>>>>>>> Thanks for
>>>>>>>>>>>>>> pointing it out!
>>>>>>>>>>>>>> Same for WPT. I will add tests for all the standardized
>>>>>>>>>>>>>> reasons.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> *> Can you confirm that you're only shipping the specified
>>>>>>>>>>>>>> four?*
>>>>>>>>>>>>>> We do have ~50 not restored reasons, and in theory we will be
>>>>>>>>>>>>>> able to remove most of them except for the standardized four 
>>>>>>>>>>>>>> reasons.
>>>>>>>>>>>>>> However, in reality it will take time for us to support all
>>>>>>>>>>>>>> the reasons and we need to keep blocking on them for a while.
>>>>>>>>>>>>>> In the meantime, our plan was to expose the non-standardized
>>>>>>>>>>>>>> reasons too, but in a way that's distinguishable from 
>>>>>>>>>>>>>> standardized reasons as
>>>>>>>>>>>>>> you suggested here
>>>>>>>>>>>>>> <https://github.com/WICG/bfcache-not-restored-reason/issues/2>
>>>>>>>>>>>>>> .
>>>>>>>>>>>>>> I realized that we need to add browser specific reasons to
>>>>>>>>>>>>>> the spec as well. Let me add that and send a review request 
>>>>>>>>>>>>>> again.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Thanks!
>>>>>>>>>>>>>> Yuzu
>>>>>>>>>>>>>> On Thursday, July 13, 2023 at 12:07:05 PM UTC+9
>>>>>>>>>>>>>> dom...@chromium.org wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Also, checking the tests, it seems like the
>>>>>>>>>>>>>>> currently-implemented reasons don't match the spec. E.g. this
>>>>>>>>>>>>>>> test
>>>>>>>>>>>>>>> <https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/web_tests/external/wpt/performance-timeline/not-restored-reasons/performance-navigation-timing-bfcache-reasons-stay.tentative.window.js>
>>>>>>>>>>>>>>>  requires
>>>>>>>>>>>>>>> the reason to be "WebSocket", but the specification says 
>>>>>>>>>>>>>>> "websocket"
>>>>>>>>>>>>>>> (lowercase). I couldn't find tests for the other three 
>>>>>>>>>>>>>>> reasons...
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Thu, Jul 13, 2023 at 12:04 PM Domenic Denicola <
>>>>>>>>>>>>>>> dom...@chromium.org> wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> I have some questions about how well the implementation
>>>>>>>>>>>>>>>> here matches up with the spec.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> First, there doesn't appear to be any NotRestoredReasons
>>>>>>>>>>>>>>>> interface defined in Chromium? The relevant attribute on
>>>>>>>>>>>>>>>> PerformanceNavigationTiming returns object?
>>>>>>>>>>>>>>>> <https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/timing/performance_navigation_timing.idl;l=33?q=NotRestoredReasons%20file:%5C.idl&ss=chromium>.
>>>>>>>>>>>>>>>> That seems like a problematic mismatch...
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Second, I can't find exactly where the list of
>>>>>>>>>>>>>>>> script-exposed not restored reasons are. But, I'll note that 
>>>>>>>>>>>>>>>> Chromium
>>>>>>>>>>>>>>>> seems to have ~50 such reasons
>>>>>>>>>>>>>>>> <https://source.chromium.org/chromium/chromium/src/+/refs/heads/main:content/browser/renderer_host/back_forward_cache_metrics.h;drc=6754d1409bf5099314eea7e87e896622ade9bc0f;l=49>,
>>>>>>>>>>>>>>>> whereas you've only specified 4 (fetch, navigation-failure, 
>>>>>>>>>>>>>>>> parser-aborted,
>>>>>>>>>>>>>>>> websocket). Can you confirm that you're only shipping the 
>>>>>>>>>>>>>>>> specified four?
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Thanks!
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On Thu, Jul 13, 2023 at 12:11 AM Yoav Weiss <
>>>>>>>>>>>>>>>> yoav...@chromium.org> wrote:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On Thu, Jul 6, 2023 at 7:28 AM 'Yuzu Saijo' via blink-dev <
>>>>>>>>>>>>>>>>> blin...@chromium.org> wrote:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Contact emails
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> yu...@google.com, yu...@chromium.org, fer...@chromium.org
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Explainer
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> https://github.com/WICG/bfcache-not-restored-reason/blob/main/NotRestoredReason.md
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Specification
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> https://github.com/whatwg/html/pull/9360
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Design docs
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> https://github.com/WICG/bfcache-not-restored-reason/blob/main/NotRestoredReason.md
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Summary
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> NotRestoredReason API will report the list of reasons why
>>>>>>>>>>>>>>>>>> a page is not served from BFcache in a frame tree structure, 
>>>>>>>>>>>>>>>>>> via
>>>>>>>>>>>>>>>>>> PerformanceNavigationTiming API.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Blink component
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> UI>Browser>Navigation>BFCache
>>>>>>>>>>>>>>>>>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:UI%3EBrowser%3ENavigation%3EBFCache>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> TAG review
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> https://github.com/w3ctag/design-reviews/issues/739
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> TAG review status
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Issues addressed
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Risks
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Interoperability and Compatibility
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Gecko: Defer (
>>>>>>>>>>>>>>>>>> https://github.com/mozilla/standards-positions/issues/766)
>>>>>>>>>>>>>>>>>> Once issues (standardized reasons & unsalvageable 
>>>>>>>>>>>>>>>>>> documents), they would
>>>>>>>>>>>>>>>>>> switch to positive.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> It seems like the "standardized reasons" part is addressed
>>>>>>>>>>>>>>>>> in your PR. Is the same true for the second point?
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> WebKit: No signal (
>>>>>>>>>>>>>>>>>> https://github.com/WebKit/standards-positions/issues/154)
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Web developers: Positive (
>>>>>>>>>>>>>>>>>> https://github.com/w3c/navigation-timing/issues/171#issuecomment-1062672989
>>>>>>>>>>>>>>>>>> )
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Other signals: Positive from Origin Trial users:
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> How likely are you to keep using this feature?
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> 92% answered likely, 8% (1 vote) is unsure
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Security
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> We do not report detailed information about cross-origin
>>>>>>>>>>>>>>>>>> iframes. See Security and Privacy section
>>>>>>>>>>>>>>>>>> <https://github.com/WICG/bfcache-not-restored-reason/blob/main/NotRestoredReason.md#security-and-privacy>
>>>>>>>>>>>>>>>>>> in the explainer.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> 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?
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> No.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Debuggability
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> In DevTools console, try:
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> performance.getEntriesByType('navigation')[0].notRestoredReasons;
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Will this feature be supported on all six Blink platforms
>>>>>>>>>>>>>>>>>> (Windows, Mac, Linux, Chrome OS, Android, and Android 
>>>>>>>>>>>>>>>>>> WebView)?
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Yes.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> NotRestoredReasons API is available on all platforms
>>>>>>>>>>>>>>>>>> including WebView, but back/forward cache is not enabled on 
>>>>>>>>>>>>>>>>>> WebView. So on
>>>>>>>>>>>>>>>>>> WebView, NotRestoredReasons API should always say that the 
>>>>>>>>>>>>>>>>>> page is blocked
>>>>>>>>>>>>>>>>>> from being restored from bfcache with the reason being 
>>>>>>>>>>>>>>>>>> something like “not
>>>>>>>>>>>>>>>>>> supported”.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> (Currently it reports null due to a bug
>>>>>>>>>>>>>>>>>> <https://bugs.chromium.org/p/chromium/issues/detail?id=1459533>
>>>>>>>>>>>>>>>>>> )
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Is this feature fully tested by web-platform-tests
>>>>>>>>>>>>>>>>>> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
>>>>>>>>>>>>>>>>>> ?
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Yes.
>>>>>>>>>>>>>>>>>> https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/web_tests/external/wpt/performance-timeline/not-restored-reasons/
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> DevTrial instructions
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> https://github.com/rubberyuzu/bfcache-not-retored-reason/blob/main/HowToTest.md
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Flag nameblink RunTimeEnabledFeature:
>>>>>>>>>>>>>>>>>> BackForwardCacheSendNotRestoredReasons
>>>>>>>>>>>>>>>>>> <https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/platform/runtime_enabled_features.json5;l=423?q=BackForwardCacheSendNotRestoredReasons%20-f:out&ss=chromium>
>>>>>>>>>>>>>>>>>> Requires code in //chrome?
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> False
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Tracking bug
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> https://bugs.chromium.org/p/chromium/issues/detail?id=1326344
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Launch bug
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> https://launch.corp.google.com/launch/4200848
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Estimated milestones
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Shipping on desktop
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> 116
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> OriginTrial desktop last
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> 114
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> OriginTrial desktop first
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> 109
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> DevTrial on desktop
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> 108
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Shipping on Android
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> 116
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> OriginTrial Android last
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> 114
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> OriginTrial Android first
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> 109
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> DevTrial on Android
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> 108
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Shipping on WebView
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> 116
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> OriginTrial WebView last
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> 114
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> OriginTrial WebView first
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> 109
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> DevTrial on WebView
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> 108
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Anticipated spec changes
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Open questions about a feature may be a source of future
>>>>>>>>>>>>>>>>>> web compat or interop issues. Please list open issues.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> https://github.com/whatwg/html/pull/9360
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Link to entry on the Chrome Platform Status
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> https://chromestatus.com/feature/5684908759449600
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Links to previous Intent discussions
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Intent to prototype:
>>>>>>>>>>>>>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAP-nMoGAzjUjzv3WmxcRpUSBgnA-AHQ05kh9gXc%2BQB8pRM6%2BfA%40mail.gmail.com
>>>>>>>>>>>>>>>>>> Intent to Experiment:
>>>>>>>>>>>>>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAP-nMoHe391sAB2PdbEVw9uiSPFxTB_EYsRizcPpZ7-pg16O0A%40mail.gmail.com
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Intent to Extend Experiment:
>>>>>>>>>>>>>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAA5e698QcKZSthm%3Dz_4pi8cOzi4kfbx-AXveC%2BAKimUh-tMycA%40mail.gmail.com
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> 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+...@chromium.org.
>>>>>>>>>>>>>>>>>> To view this discussion on the web visit
>>>>>>>>>>>>>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAP-nMoHYpT3sxWV%2BEipL5NcNSWy8fOdDdAroucmNb%3DZvxJWRBA%40mail.gmail.com
>>>>>>>>>>>>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAP-nMoHYpT3sxWV%2BEipL5NcNSWy8fOdDdAroucmNb%3DZvxJWRBA%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+...@chromium.org.
>>>>>>>>>>>>>>>>> To view this discussion on the web visit
>>>>>>>>>>>>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAL5BFfXtkH6O82W%2BWm9ckCyYasSJt2cbs9VA4VZAmYhtivgj4g%40mail.gmail.com
>>>>>>>>>>>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAL5BFfXtkH6O82W%2BWm9ckCyYasSJt2cbs9VA4VZAmYhtivgj4g%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>>>>>>>>>>>>>> .
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> --
>>>>>>>>>>>> You received this message because you are subscribed to the
>>>>>>>>>>>> Google Groups "bfcache-dev" group.
>>>>>>>>>>>> To unsubscribe from this group and stop receiving emails from
>>>>>>>>>>>> it, send an email to bfcache-dev...@chromium.org.
>>>>>>>>>>>> To view this discussion on the web, visit
>>>>>>>>>>>> https://groups.google.com/a/chromium.org/d/msgid/bfcache-dev/CAM0wra-P3NxELP28%3Dgh%3D3ROC35m8ijS_5RRcStyjFew1AXNyEg%40mail.gmail.com
>>>>>>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/bfcache-dev/CAM0wra-P3NxELP28%3Dgh%3D3ROC35m8ijS_5RRcStyjFew1AXNyEg%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+...@chromium.org.
>>>>>>>>>
>>>>>>>> To view this discussion on the web visit
>>>>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/43e32f0e-454e-4525-b317-cbe492e2f23bn%40chromium.org
>>>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/43e32f0e-454e-4525-b317-cbe492e2f23bn%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 on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM0wra8Kr9r7UdfBkGeXRdWp3sEtusW8jO_Frnw-bwSwmaRu8Q%40mail.gmail.com.

Reply via email to