Thanks for the heads up. It would be nice to write WPTs for these changes (to the extent that it's possible), rather than just Chromium unit tests.

On 11/10/23 4:17 PM, Caleb Raitto wrote:
FYI: I merged crrev.com/c/4930438 <http://crrev.com/c/4930438> today, which makes the implementation adopt the "LIFO" semantics requested in [0]. The spec already was written to have these semantics. As part of this, I made a small spec change (https://github.com/WICG/turtledove/pull/903) to detect and handle duplicate adSlots in responses.

(Also, the PRs mentioned by miketaylr@ above, https://github.com/WICG/turtledove/pull/771 and https://github.com/WICG/turtledove/pull/774, merged last month).

[0] https://github.com/WICG/turtledove/pull/695#discussion_r1255065849

-Caleb

On Wed, Sep 20, 2023 at 5:00 PM Caleb Raitto <carai...@chromium.org> wrote:

    Will do (once spec reviewers have approved) -- I understand your
    LGTM is contingent on those landing.

    Thanks,
    -Caleb

    On Wednesday, September 20, 2023 at 3:07:11 PM UTC-4 Mike Taylor
    wrote:

        And gentle reminder to please land the spec PRs :)

        On 9/20/23 12:54 PM, Chris Harrelson wrote:
        LGTM3

        On Wed, Sep 20, 2023 at 9:53 AM Yoav Weiss
        <yoavwe...@chromium.org> wrote:

            LGTM2

            Talking to the team, the 10K limit is Finchable, so we'd
            be able to lower it if this runs into issues in the
            field. Also presumably, having that as a limit doesn't
            mean most responses would actually use that.

            On Sat, Sep 16, 2023 at 6:52 AM Yoav Weiss
            <yoavwe...@chromium.org> wrote:




                On Fri, Sep 15, 2023 at 10:00 PM Mike Taylor
                <miketa...@chromium.org> wrote:

                    Thanks, LGTM1 pending the PRs landing.

                    On 9/12/23 12:29 AM, Caleb Raitto wrote:

                    Hi Mike,


                    Pull request 695
                    <https://github.com/WICG/turtledove/pull/695>is
                    the change to update the explainer to describe
                    the new header-based directFromSellerSignals,
                    whereas 771
                    <https://github.com/WICG/turtledove/pull/771>and
                    774
                    <https://github.com/WICG/turtledove/pull/774>are
                    for the spec changes.


                    The explainer change describes usage of the new
                    API and provides context for the differences
                    between header-based and the prior bundles based
                    versions of directFromSellerSignals, whereas the
                    spec change describes how to implement the
                    header-based version.


                    We intend to land all 3 pull requests.


                    Thanks,

                    -Caleb

                    On Monday, September 11, 2023 at 11:18:26 AM
                    UTC-4 Mike Taylor wrote:


                        On 9/11/23 12:55 PM, Mike Taylor wrote:

                        On 9/7/23 6:00 PM, Caleb Raitto wrote:

                        Hi Yoav, some responses inline:

                        On Wednesday, September 6, 2023 at
                        12:15:45 PM UTC-4 Yoav Weiss wrote:

                            On Tue, Sep 5, 2023 at 9:55 PM Paul
                            Jensen <pauljen...@chromium.org> wrote:

                                Contact emails*

                                pauljen...@chromium.org


                                *Explainer*

                                https://github.com/WICG/turtledove/pull/69
                                <https://github.com/WICG/turtledove/pull/695>5

                                *


                            Can you clarify what this does, as the
                            explainer is not very explain-y?

                            IIUC, the current flow to
                            get directFromSellerSignals is to
                            download a response A which contains a
                            link to a WBN, then download the WBN
                            and that contains the signal info.
                            Your proposal is to change that so
                            that the directFromSellerSignals
                            information would be embedded in a
                            response header on response A?


                        The original directFromSellerSignals
                        worked by downloading a response A, from
                        the seller’s origin, that is a WBN
                        containing several subresources that
                        represent signals from the seller to
                        various auction participants -- no linking
                        was involved.


                Can you outline that flow more explicitly? Apologies,
                but I'd like to better understand its performance
                characteristics.
                IIUC, in both cases we have an initial page that
                triggers a request, where in one that request is to a
                WBN (using a <link> ?) and the other it's to a random
                resource using fetch({adAuctionHeaders: true}) ?

                I guess it's unclear to me why the former would be
                slower than the latter, especially given the large
                payloads and the fact that headers can't really be
                compressed.


                        You’re correct about this header-based
                        version of directFromSellerSignals -- when
                        Chrome downloads a response, from the
                        seller’s origin, with fetch(...,
                        {adAuctionHeaders: true}), the
                        Ad-Auction-Signals header gets parsed as
                        JSON to provide the signals.


                            If so, any more details on that
                            header? What would be the header name?
                            What payload sizes should we expect
                            for the header's value? In what
                            conditions will it actually be processed?


                        The name of the header is
                        Ad-Auction-Signals, as mentioned here in
                        the explainer: [0]. Currently, the payload
                        size is limited to 1kb [1], but we’re
                        considering increasing that to 10kb based
                        on feedback. When Chrome conducts a
                        Protected Audience auction, it processes
                        any received Ad-Auction-Signals headers
                        whose adSlot matches that of the auction. 
                        The header contains JSON that dictates
                        which signals are sent to which auction
                        participants.


                1K header is a lot. 10KB header is... really a lot.
                Have you tested that with a variety of CDNs and other
                intermediaries? I wouldn't be surprised if those
                values would break some assumptions in existing HTTP
                proxying software.

                Also, the JSON y'all are sending doesn't seem
                extremely nested. Have you considered structured
                fields <https://www.rfc-editor.org/rfc/rfc8941.html>?


                        [0]
                        
https://github.com/WICG/turtledove/pull/695/files#diff-d65ba9778fe3af46de3edfce2266b5b035192f8869280ec07179963b81f4e624R465
                        
<https://github.com/WICG/turtledove/pull/695/files#diff-d65ba9778fe3af46de3edfce2266b5b035192f8869280ec07179963b81f4e624R465>


                        [1]
                        
https://source.chromium.org/chromium/chromium/src/+/main:content/browser/interest_group/ad_auction_url_loader_interceptor.cc;l=195;drc=dcd52bb9a48216858a950b919383c44a290273f7
                        
<https://source.chromium.org/chromium/chromium/src/+/main:content/browser/interest_group/ad_auction_url_loader_interceptor.cc;l=195;drc=dcd52bb9a48216858a950b919383c44a290273f7>

                        Thanks for the explanation - what's
                        preventing
                        https://github.com/WICG/turtledove/pull/695
                        from landing? It seems rather old (and
                        references stuff that no longer exists,
                        like `X-FLEDGE-Auction-Only`. (It also
                        doesn't seem to define any error-handling
                        for parsing the JSON that a server returns,
                        which would be good to do.)
                        I maybe have just been confused. I'm not
                        sure if 695 is intended to land, beyond 771
                        and 774, both of which have much more recent
                        activity.


                        Thanks,

                        -Caleb

                                *
                                *Specification*

                                https://github.com/WICG/turtledove/pull/771
                                <https://github.com/WICG/turtledove/pull/771>

                                https://github.com/WICG/turtledove/pull/774
                                <https://github.com/WICG/turtledove/pull/774>


                                *Summary*

                                Protected Audience already
                                supports a mechanism to ensure the
                                authenticity and integrity of
                                information passed into the
                                auction from the seller called
                                directFromSellerSignals. Currently
                                this is implemented by the seller
                                providing subresources in a
                                WebBundle to the browser, which
                                after a year of testing has proved
                                to not be as efficient as
                                originally planned. It either
                                requires an entirely new
                                additional fetch of a WebBundle,
                                or for the seller to rewrite and
                                rework an existing fetch to
                                respond instead with only a
                                WebBundle. This feature is a
                                rewrite of directFromSellerSignals
                                to use an HTTP response header,
                                transferred via HTTPS same-origin
                                with the seller, instead of a
                                WebBundle to optimize performance.


                                *Blink component*

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


                                *TAG review*

                                The parent proposal, Protected
                                Audience, is still pending:
                                
https://github.com/w3ctag/design-reviews/issues/723
                                
<https://github.com/w3ctag/design-reviews/issues/723>


                                *TAG review status*

                                Pending


                                *Risks*
                                *

                                        Interoperability and
                                        Compatibility

                                        *

                                        None as this is an
                                        optional new way of
                                        providing
                                        directFromSellerSignals. 
                                        It cannot be used jointly
                                        with the old mechanism,
                                        but there shouldn’t be a
                                        need to use the old mechanism.

                                        *

                                        *
                                        *

                                        *

                                        Gecko &WebKit: No signal
                                        on parent proposal,
                                        Protected Audience.  Asked
                                        in the Mozilla forum here
                                        
<https://github.com/mozilla/standards-positions/issues/770>,
                                        and in the Webkit forum
                                        here
                                        
<https://github.com/WebKit/standards-positions/issues/158>.

                                        *

                                    *
                                    **

                                    Web developers: Adtech asked
                                    for this via this Protected
                                    Audience Github issue
                                    
<https://github.com/WICG/turtledove/issues/119#issuecomment-1274013176>.

                                    *

                                *

                                *Debuggability*

                                This feature affects values
                                provided to Protected Audience
                                scripts (generateBid(),
                                reportResult(), reportWin()) which
                                are debuggable via Chrome
                                DevTools.  This feature also
                                includes console log warnings on
                                parse failures.


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

                                It will be supported on all
                                platforms that support Protected
                                Audience, so all but WebView.


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

                                We plan to add WPTs to cover this
                                API in the next month.


                                *Flag name on chrome://flags*

                                None


                                *Finch feature name*

                                FledgeDirectFromSellerSignalsHeaderAdSlot


                                *Requires code in //chrome?*

                                False


                                *Estimated milestones*

                                Shipping on desktop and Android in
                                M117.


                                *Anticipated spec changes*

                                None related to this feature.


                                *Link to entry on the Chrome
                                Platform Status

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


                                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
                                <mailto:blink-dev+unsubscr...@chromium.org>.
                                To view this discussion on the web
                                visit
                                
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CABQTWrkbaAuRoxPUtrQnxyS-W%3DfZjba1JN%2BHCHyLmKCKveHXOg%40mail.gmail.com
                                
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CABQTWrkbaAuRoxPUtrQnxyS-W%3DfZjba1JN%2BHCHyLmKCKveHXOg%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/5c238b79-7120-4089-a8d7-dc1e67f956fcn%40chromium.org
                        
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/5c238b79-7120-4089-a8d7-dc1e67f956fcn%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/CAL5BFfWyKR0oFkjZqos1SmW1-q5DQajfnjsZDeOPJBRB2j45QA%40mail.gmail.com
            
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAL5BFfWyKR0oFkjZqos1SmW1-q5DQajfnjsZDeOPJBRB2j45QA%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/53b2b110-efe7-413a-b4de-6a48407d3691%40chromium.org.

Reply via email to