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 <yoavwe...@chromium.org> wrote:

>
>
> On Thu, Jul 6, 2023 at 7:28 AM 'Yuzu Saijo' via blink-dev <
> blink-dev@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+unsubscr...@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+unsubscr...@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 
"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/CAM0wra9j%3Dy9oOzyG5iFCwPhqO%3DpM%3D6toGGe-VE0c%2BV79q1sPWg%40mail.gmail.com.

Reply via email to