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 <dome...@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 <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/CAM0wra_MThpiH1EQJcwiLkZe8UUR3WU8tUFfrz1Tb3rkwUXQyw%40mail.gmail.com.

Reply via email to