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.
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.
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.

   - 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?


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/8172ecd3-8d20-4a04-9a95-18e25713e29an%40chromium.org.

Reply via email to