Thanks Domenic - I agree.

On 5/30/24 9:31 PM, Domenic Denicola wrote:
LGTM for a new OT from 127 to 129.

(Speaking generally, I think starting new OTs is better than extending existing ones, so I am glad the team has taken this route. From an ecosystem perspective, new OTs make it easier for the team to make breaking changes, and encourages OT participants to continually re-engage with the process.)

On Friday, May 31, 2024 at 10:07:00 AM UTC+9 jrob...@google.com wrote:

    Mike or other API Owners, still approved given that this is
    actually requesting a new OT?

    Thanks,
    jason!

    On Wednesday, May 29, 2024 at 5:10:54 PM UTC-7 Tsuyoshi Horo wrote:

        Ah, sorry for the confusion.

        This request is for the V3 Origin Trial.

        V1 OT was from 117 to 122.
        V2 OT was from 122 to 125.
        And this V3 OT is from 127 to 129.


        On Thu, May 30, 2024 at 8:32 AM Patrick Meenan
        <pme...@chromium.org> wrote:

            Sorry, probably some confusion with the process.

            This is for the 3rd round of OT on the platform status
            entry (CompressionDictionaryTransportV3) so "extend" may
            not be the right terminology.  V1 really ended at 122 and
            we had the same confusion the last time around and the V2
            trial was created that went from 123-125 (and is the
            current active trial).

            I'll leave it to Tsuyoshi so I don't accidentally break
            anything, but I assume we need to mark the v3 trial as the
            active stage.

            On Wed, May 29, 2024 at 7:16 PM Panos Astithas
            <past...@google.com> wrote:

                Hi Tsuyoshi,

                Is this a request to extend the V1 OT as it appears in
                Chromestatus and in the title of this thread or are
                you trying to create a new V3 trial as it seems to be
                the intent based on the content of your intent? Note
                that V1 ended at M125, so teh extension would be for 4
                milestones.

                On Wed, May 29, 2024 at 10:22 AM Mike Taylor
                <mike...@chromium.org> wrote:

                    Thanks all. LGTM to extend from 127 to 129 inclusive.

                    On 5/29/24 10:51 AM, Patrick Meenan wrote:

                    On the spec side of things, there is one more
                    issue outstanding in the IETF discussion but it's
                    not API-impacting and we expect that this latest
                    draft
                    
<https://datatracker.ietf.org/doc/draft-ietf-httpbis-compression-dictionary/04/>,
                    which this OT implements, has the final API
                    shape. There will be some tweaks around the edges
                    as we go through the final steps of the RFC
                    process but the V3 OT will give sites something
                    to test against that matches what we expect to ship.

                    There are some fairly substantial changes from
                    the previous OT that it would be useful to get
                    feedback on. In particular, the change to the
                    file format that embeds the dictionary hash into
                    the file itself instead of being a separate
                    response header.

                    On Wed, May 29, 2024 at 10:37 AM Yoav Weiss
                    (@Shopify) <yoav...@chromium.org> wrote:



                        On Wed, May 29, 2024 at 4:31 PM Mike Taylor
                        <mike...@chromium.org> wrote:

                            Hi there,

                            Would you mind commenting on progress for
                            the following items, per OT renewal
                            guidelines:

                        <API owner hat off / feature champion hat on>

                            Draft spec (early draft is ok, but must
                            be spec-like and associated with the
                            appropriate standardization venue, or WICG)

                        Recently published
                        
<https://datatracker.ietf.org/doc/draft-ietf-httpbis-compression-dictionary/> 
with
                        above-mentioned changes.
                        +Patrick Meenan can probably add precision
                        there, but it's making good progress in the
                        HTTPWG.

                            TAG review (see exceptions)

                        https://github.com/w3ctag/design-reviews/issues/877
                        <https://github.com/w3ctag/design-reviews/issues/877>


                            bit.ly/blink-signals
                            <http://bit.ly/blink-signals> requests

                        Both Mozilla
                        
<https://github.com/mozilla/standards-positions/issues/771>
                        and WebKit
                        
<https://github.com/WebKit/standards-positions/issues/160>
                        are positive (with ongoing discussion about
                        some details with Mozilla folks).

                            Outreach for feedback from the spec community

                        Regular HTTPWG and WebPerfWG engagement.

                            WPT tests

                        
https://wpt.fyi/results/fetch/compression-dictionary?label=experimental&label=master&aligned
                        
<https://wpt.fyi/results/fetch/compression-dictionary?label=experimental&label=master&aligned>


                            thanks,
                            Mike

                            On 5/28/24 5:59 AM, Tsuyoshi Horo wrote:

                            Contact emails

                            ho...@chromium.org, pme...@chromium.org,
                            yoav...@chromium.org,
                            kenji...@chromium.org, deno...@chromium.org

                            *
                            *


                                    Explainer

                            
https://github.com/WICG/compression-dictionary-transport
                            
<https://github.com/WICG/compression-dictionary-transport>

                            *
                            *


                                    Specification

                            
https://datatracker.ietf.org/doc/draft-ietf-httpbis-compression-dictionary/
                            
<https://datatracker.ietf.org/doc/draft-ietf-httpbis-compression-dictionary/>

                            *
                            *


                                    Design docs

                            
https://docs.google.com/document/d/1IcRHLv-e9boECgPA5J4t8NDv9FPHDGgn0C12kfBgANg/edit
                            
<https://docs.google.com/document/d/1IcRHLv-e9boECgPA5J4t8NDv9FPHDGgn0C12kfBgANg/edit>

                            
https://github.com/WICG/compression-dictionary-transport
                            
<https://github.com/WICG/compression-dictionary-transport>

                            
https://datatracker.ietf.org/doc/draft-ietf-httpbis-compression-dictionary/
                            
<https://datatracker.ietf.org/doc/draft-ietf-httpbis-compression-dictionary/>

                            *
                            *

                            Summary

                            We are running the second round of the
                            Origin Trial until Chrome 125. The
                            design of the feature has also evolved
                            during the origin trial and RFC process.
                            We’d like to run a third round of the
                            Origin Trial to get more feedback on the
                            updated
                            
<https://chromium.googlesource.com/chromium/src/+/d934bf37456735d9bc03107c577804f439f8a986/docs/experiments/compression-dictionary-transport.md#changes-in-m127>design.

                            *
                            *


                                    Blink component

                            Blink>Network
                            
<https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3ENetwork>

                            *
                            *


                                    TAG review

                            https://github.com/w3ctag/design-reviews/issues/877
                            
<https://github.com/w3ctag/design-reviews/issues/877>


                                    TAG review status

                            Closed


                                    Risks


                                    Interoperability and Compatibility

                            Interoperability and Compatibility risk
                            are low. This feature introduces a new
                            compression method for transporting
                            resources over HTTP. Web sites can know
                            the browser support for the new feature
                            by checking
                            
`document.createElement('link').relList.supports('compression-dictionary')`. 
                            The feature is a negotiation between
                            servers and clients that involves a
                            server specifying that a resource should
                            be used as a dictionary for future
                            requests with a ‘Use-As-Dictionary’
                            response header. Clients that don’t
                            support the feature will ignore the
                            header and nothing further will happen.

                            This feature is an opt-in feature. And
                            the dictionary storage is isolated using
                            the top level site and the frame origin
                            as the key. That means, if there is no
                            dictionary registered for the site, the
                            behavior of Chrome will not change while
                            browsing the site. Also this feature is
                            only usable within a secure-context so
                            this feature will not increase the risk
                            of having network proxies meddle with
                            the content’s encoding. For enterprises
                            that have deployed HTTPS-intercepting
                            proxies that do not properly handle
                            unknown encodings there is an enterprise
                            policy exposed to disable the feature.
                            The feature is currently enabled only
                            over connections using a well-known
                            trust root for the secure connection
                            which eliminates the risk of security
                            devices and proxies breaking traffic.
                            The roll-out plan for production has
                            steps to remove the trust root
                            restriction and enable support in
                            enterprise environments where
                            intercepting proxies are common.

                            *
                            *

                            Gecko: Positive
                            
(https://github.com/mozilla/standards-positions/issues/771
                            
<https://github.com/mozilla/standards-positions/issues/771>)

                            *
                            *

                            WebKit: Positive
                            
(https://github.com/WebKit/standards-positions/issues/160
                            
<https://github.com/WebKit/standards-positions/issues/160>)

                            *
                            *

                            Web developers: Positive

                            *
                            *

                            Other signals:

                            *
                            *


                                    Ergonomics

                            To reduce memory usage in network
                            services, dictionary metadata is stored
                            in a database on disk. And to avoid
                            performance degradation for normal
                            requests that do not use a dictionary,
                            the reading of this metadata is designed
                            not to block network requests. In other
                            words, if the reading of metadata from
                            the database is not completed before the
                            request header is ready to be sent to
                            the server, the dictionary may not be
                            used even if it is already registered in
                            the database.

                            *

                            *


                                    Activation

                            To adopt this feature, web developers
                            need to make changes in their web
                            servers or build processes for static
                            resources. Currently there is no major
                            server software which directly supports
                            compression dictionaries. Some CDNs have
                            shared interest in supporting shared
                            dictionary compression (e.g. publicly
                            mentioned
                            
<https://blog.cloudflare.com/this-is-brotli-from-origin/#:~:text=One%20development%20that%20we%27re%20particularly%20focused%20on%20is%20shared%20dictionaries%20with%20Brotli.>in
                            a blog post by Cloudflare).

                            *

                            *


                                    Security

                            Chrome registers the response as a
                            dictionary only when the response is
                            CORS-readable from the document origin.
                            Also we use a registered dictionary to
                            decompress the response only when the
                            response is CORS-readable from the
                            document origin. Additionally, the
                            dictionary and the compressed resource
                            are required to be from the same origin
                            as each other. So this should not
                            introduce any new attack vector of
                            information leaks.The dictionaries are
                            partitioned with the storage cache and
                            are cleared whenever cookies or cache is
                            cleared to ensure that the dictionaries
                            can not be abused as a tracking vector.

                            *

                            *


                                    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

                            *
                            *

                            Goals for experimentation

                            We would like to collect feedback on the
                            updated API design of Compression
                            Dictionary Transport feature. Also, we
                            would like to continue some experiments
                            using this feature to measure its
                            performance impact.


                            The difference from the previous Origin
                            Trial:

                            - Renamed the link rel attribute for
                            fetching the dictionary from
                            "dictionary" to "compression-dictionary".

                            - Using "dcb" and "dcz" content encoding
                            in place of "br-d" and "zstd-d". The new
                            encodings incorporate the dictionary hash.

                            - Removed the dictionary hash check
                            logic using the "Content-Dictionary"
                            response header, and instead checking
                            the hash within the encoded response body.


                                    Ongoing technical constraints

                            None

                            *

                            *


                                    Debuggability

                            We have introduced
                            chrome://net-internals/#sharedDictionary.
                            Using it, web developers can manage the
                            registered dictionaries. Also web
                            developers can check the related HTTP
                            request and response headers
                            (Use-As-Dictionary,
                            Available-Dictionary, Accept-Encoding,
                            Content-Encoding).

                            Any errors in processing responses as a
                            result of dictionary compression issues
                            are reported as issues in Dev Tools.
                            This includes things like dictionary
                            hash mismatches and cors-readability
                            failures.

                            *

                            *


                                    Will this feature be supported
                                    on all six Blink platforms
                                    (Windows, Mac, Linux, Chrome OS,
                                    Android, and Android WebView)?

                            Yes

                            *
                            *


                                    Is this feature fully tested by
                                    web-platform-tests
                                    
<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>?

                            Yes.
                            https://wpt.fyi/results/fetch/compression-dictionary
                            
<https://wpt.fyi/results/fetch/compression-dictionary>

                            *
                            *


                                    Flag name on chrome://flags

                            
chrome://flags/#enable-compression-dictionary-transport-backend
                            
chrome://flags/#enable-compression-dictionary-transport

                            *
                            *


                                    Finch feature name

                            CompressionDictionaryTransportBackend
                            CompressionDictionaryTransport

                            *
                            *


                                    Requires code in //chrome?

                            True

                            *
                            *


                                    Tracking bug

                            https://crbug.com/1413922
                            <https://crbug.com/1413922>

                            *
                            *


                                    Launch bug

                            https://launch.corp.google.com/launch/4266286
                            <https://launch.corp.google.com/launch/4266286>

                            *
                            *


                                    Estimated milestones

                            OriginTrial desktop last

                                

                            129

                            OriginTrial desktop first

                                

                            127

                            *
                            *

                            OriginTrial Android last

                                

                            129

                            OriginTrial Android first

                                

                            127

                            *
                            *

                            *
                            *


                                    Link to entry on the Chrome
                                    Platform Status

                            https://chromestatus.com/feature/5124977788977152
                            <https://chromestatus.com/feature/5124977788977152>

                            *
                            *


                                    Links to previous Intent discussions

                            Intent to prototype:
                            
https://groups.google.com/a/chromium.org/g/blink-dev/c/-qYpLo9DTjw/m/JX6kbUOtBQAJ
                            
<https://groups.google.com/a/chromium.org/g/blink-dev/c/-qYpLo9DTjw/m/JX6kbUOtBQAJ>

                            Intent to experiment:
                            
https://groups.google.com/a/chromium.org/g/blink-dev/c/NgH-BeYO72E/m/oup5DpbxAAAJ
                            
<https://groups.google.com/a/chromium.org/g/blink-dev/c/NgH-BeYO72E/m/oup5DpbxAAAJ>

                            Intent to extend Origin Trial:
                            
https://groups.google.com/a/chromium.org/g/blink-dev/c/7YdP2YxRQn4/m/9oPxLDdjAAAJ
                            
<https://groups.google.com/a/chromium.org/g/blink-dev/c/7YdP2YxRQn4/m/9oPxLDdjAAAJ>


-- 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/CADk0S-UpM8k_NGuqbuA%2BNuC%2BTdGDjGzUt0Fp05Y8pHROjH-WZA%40mail.gmail.com
                            
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CADk0S-UpM8k_NGuqbuA%2BNuC%2BTdGDjGzUt0Fp05Y8pHROjH-WZA%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/f9f7a485-94d3-45cf-a0b1-3021c6d7526a%40chromium.org
                    
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/f9f7a485-94d3-45cf-a0b1-3021c6d7526a%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/f1463900-23c0-4b81-a883-29d0d7588cc2%40chromium.org.

Reply via email to