Contact emails
Explainer
N/A
Design doc/Spec
N/A, user gestures are not very well specced today.
Summary
After this change, any operation requiring user activation must have an additional user gesture after a main frame navigation is started.
Draft CL: https://chromium-review.googlesource.com/c/chromium/src/+/676656
Note: navigations currently do *not* require a user gesture. This change will just cause them to consume one (such that subsequent actions requiring a gesture are blocked).
Motivation
The core motivation for this change is to help a subsequent effort to intervene on tab-unders [1]. After this change, tab-unders are guaranteed to open a popup *before* navigating the current page, so they are easily classified. This guarantee will help us to be accurate when we intervene, and ensure there are no gaps in the intervention for sites to exploit.
[1]: tab-under is a bit of an ambiguous term. I am using it to mean when a page opens a new tab to the true destination and navigates the original page to some third party content at the same time.
Demo link
Risks
Interoperability and Compatibility
Compatibility risk is low/moderate, as it could break existing tab-under use cases. The cases that break here are ones which navigate, and then open a popup (since the user gesture bit is consumed by the navigation). This could happen if the site synchronously initiates a navigation (e.g. via click()), then tries to window.open.
However, most use cases use window.open to open a popup which is synchronous, along with window.location to navigate the page. Since window.location is asynchronous, it will be performed after the popup is opened. We won’t break this case here.
It will be difficult to measure the impact of this change, or issue deprecation warnings beforehand without adding complex measurement infrastructure. I welcome any advice from blink-dev@ members, and I would be OK implementing this via a slow rollout.
Anecdotally, I tried my change on a number of sites with tabunders (e.g. http://popunderjs.com/) and I haven't seen any breakage yet.
In terms of Interop, this is moving away from other browsers, but I think it is a small amount and it has the chance to move the web forward by further restricting tab-unders.
Edge: No signals
Firefox: No signals
Safari: No signals
Web developers: No signals
Ergonomics
N/A
Activation
N/A
Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?
Yes.
Link to entry on the feature dashboard
Small change
Requesting approval to ship?
Yes
I have two alternate ideas, wondering what's your thought around those:- Why not "navigations require user gestures", instead of "navigations consume user gestures"? With "require" we should be able to block both "navigation then popup" and "popup then navigation" (unlike "consume" which can't block "popup then navigation").
- For tab-under exploiters, is "click() on an <a>" the most common (or the only) way to initiate navigation? If mostly yes, then can't we possibly make "click() on an <a>" require user gesture?
Will this break sites that attempt to trigger a file download and navigate to a "thanks for downloading" page as a part of the same flow?
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/4b0a4db2-4d94-4c9f-b49c-729f1b66de2c%40chromium.org.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CALjhuifmNW_V6ivY79LRF%2BKQryAp7NxHRQOiZ1TfOWq8S_iG7A%40mail.gmail.com.
bayden: This shouldn't block the "thanks for downloading pattern", since neither downloading nor navigating requires a user gesture, as far as I know.mustaq: Would you mind posting your doc with the things that require user gestures in Chrome?jochen: The original proposal was that any top level navigation will consume. Some notes on this choice:- Restricting to cross-site navigations is a false choice, as we don't know if a navigation will be cross-site until it commits. To be effective we need to consume synchronously at nav start.- We already consume a gesture at commit time to another document (I'm 99% sure of this, if we don't it's certainly a bug)- I'll probably need to make sure that same-document navigations are not affected here.
On Mon, Oct 9, 2017 at 9:38 AM, Jochen Eisinger <joc...@chromium.org> wrote:
can you clarify whether any top-level navigation will consume, or just cross-site navigations?On Mon, Oct 9, 2017 at 3:30 PM <bay...@gmail.com> wrote:Will this break sites that attempt to trigger a file download and navigate to a "thanks for downloading" page as a part of the same flow?
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/4b0a4db2-4d94-4c9f-b49c-729f1b66de2c%40chromium.org.
--
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/ef68da37-b7cc-41a9-8dca-ab826ee6c364%40chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CADjAqN7vw4J%2Bm%3Dpm7OCiqeVPEwbgOOCWOB4kFz5Dc4oVvDtHCA%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAARdPYeUE9BQv%3DL8oHtkdFNgWH02yApvTocJp-jMtpHgNjJO4w%40mail.gmail.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+unsubscribe@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAB0cuO6bnawBTKxW863qCRsf36mbCBWQyp37NX514-KOypW_OQ%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw_Z4JMPKds7dfbWNipNnjxB8Rf9e0HpQMGdCfQyQt_vjg%40mail.gmail.com.
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/CAB0cuO6bnawBTKxW863qCRsf36mbCBWQyp37NX514-KOypW_OQ%40mail.gmail.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/CAOMQ%2Bw_Z4JMPKds7dfbWNipNnjxB8Rf9e0HpQMGdCfQyQt_vjg%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CADjAqN4NcwUzOkYvEFWpu_qwiV-9CzVxR98S_XztruAn%2BaE6fw%40mail.gmail.com.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAB0cuO6bnawBTKxW863qCRsf36mbCBWQyp37NX514-KOypW_OQ%40mail.gmail.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+unsubscribe@chromium.org.
--To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw_Z4JMPKds7dfbWNipNnjxB8Rf9e0HpQMGdCfQyQt_vjg%40mail.gmail.com.
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CADjAqN5ZBbhNKCYvV5UVka5bEVvc6O_c_ADmbirkfuHhybfJiw%40mail.gmail.com.
Philip: Do you mean tentative tests for this specific proposal, or gesture consumption in general? Writing a tentative tests for this proposal is definitely doable. I think Mustaq can speak to whether or not this is true for his proposal.
I agree with everyone here: the user-facing issue Charles is targeting here shouldn't be delayed because of an open-ended spec issue. Even if we end up not spec-ing the consumption behavior at all, we can still have it as a Chrome-specific behavior as we have done for years with popups. And two other APIs have started consuming user activation recently.Charles, I am not an expert in navigation so may be I am missing something: to me, the impl difference between navigations requiring user activation w/o consumption vs w/consumption seems trivial. If this is the case, can we consider comparing the two approaches for the tab-under problem?
(Sorry about the mistaken identities, Charlie!)
From my perspective, I would also not block this intent on spec or interop work; it’s specifically designed to prevent abuse and protect users, in an area which has terrible interop already. I guess I did not make that clear in my previous message.
It’ll be great if we either come up with a way of using existing patterns while also getting these benefits, or figure out a way that in Mustaq’s proposed world we also get these benefits. I’m happy you’re thinking about that (per your last paragraph). But even if we don’t figure that out, it seems reasonable to me to still ship a quick fix here to benefit our users, at the cost of making a bit more work for ourselves down the line when we do drive toward interop.
--
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/CADjAqN52oh6744RzMFD-g0g8YrRiwHXjQGsTGmzUaON6X_c%2BGw%40mail.gmail.com.
--
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
Thanks Charlie, this gives me a pretty good understanding of the alternates.From user-activation perspective, I would prefer [3] or [4]. To me, [3] seems the best since the only con you mentioned looks like a minor one (again as a layman in navigation details). If a user does something during a slow navigation, the exact outcome seems hard to define (e.g. the new page may load before the click is fully handled).
For [4], is there a way to route all JS-initiated navigation requests through a common entry-point? If no, I agree any gaps would be picked up by bad actors.
Yeah I responded on the bug but this is one of the reasons why I was hesitant that we could ship anything that makes navigation require a user gesture. We couldn't even do it without loosening it to "sticky" user gesture for cross origin frames navigating the parent.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CADjAqN7hsj8XppFjoqNVJoPTDhJ_xXaSU33vCxnyKaR_3bAMKw%40mail.gmail.com.
We discussed this intent in the API owners meeting today (owners present: chrishtr, jochen, mkwst, rbyers). I think there was rough consensus on a few points:There's support for this general idea. Continuing to try to reduce user annoyance (tab unders, etc.) despite likely causing some compat pain is important to our mission. The idea of consuming any active user gesture on navigation makes a lot of sense to me. I wouldn't generally expect the page to be doing anything user-centric after it's started to navigate away (just cleanup, persist state, etc.). Maybe it would even make sense to go further and say that a page that has started to navigate away is no longer capable of receiving user activation at all. It's basically a race at this point if the user interacts again during unload - right?
Chrome's pop-up blocking behavior is unique (being the only browser to block multiple pop-ups, etc.). It seems quite unlikely that we'd have success anytime soon getting "consumption" behavior into the HTML spec (since no other engine is interested in this), yet also very unlikely that we'd be willing to remove the behavior from Chrome. If possible we should try to separate all the good work to fully standardize "user activation" from some of this messier stuff that's (nearly) specific to pop-ups. It would be shame to let our long-history of non-standard pop-up blocking behavior stall/delay progress in the work to improve interop for the wide variety of features relying on simple "activation". If we can get all the other cases fully spec'd and on a path to full interop, that'll be a fantastic improvement (even if Chrome's pop-up blocking is still totally non-standard). Some of us are still hopeful that we can eventually achieve interop and full standardization around pop-ups, but concede that it shouldn't be the highest priority. Anne / Domenic, could you live with some pragmatic middle ground like this for now?Regardless of debates around standardization, we have a responsibility to web developers to clearly explain how our pop-up blocker behaves and how that behavior is changing. So if we're not going to try to write a spec to cover 'consumption' or the changes we're talking about here, we'd like to at least see some permanent documentation page somewhere that can evolve over time (example code / tests would be awesome too). We'll link to this page from the deprecations/removals blog post for the milestone a change goes active in and ideally from a console warning on blocked popups. Charlie, since you're working on a series of changes here, what do you think about trying to write something (eg. on chromium.org) attempting to describe our pop-up blocking behavior?
I can understand how the compat risk is very difficult to quantify, but my intuition aligns with yours that it seems like it shouldn't be likely to a big problem. I support experimenting with this well before branch. Eg. you could land this behavior now for M64 canary/dev channel with a RBB-64 bug assigned to yourself to revert/disable before branch and then we could discuss what, if any, site compat bugs were found. If we can't find any concrete case that is broken, then building some complex tracking infrastructure to try to quantify the usage would almost certainly be a waste of time (especially since even a moderate usage could be explained primarily by existing abuse).
Thanks Rick! I left some comments inline.On Thu, Oct 26, 2017 at 3:07 PM, Rick Byers <rby...@chromium.org> wrote:We discussed this intent in the API owners meeting today (owners present: chrishtr, jochen, mkwst, rbyers). I think there was rough consensus on a few points:There's support for this general idea. Continuing to try to reduce user annoyance (tab unders, etc.) despite likely causing some compat pain is important to our mission. The idea of consuming any active user gesture on navigation makes a lot of sense to me. I wouldn't generally expect the page to be doing anything user-centric after it's started to navigate away (just cleanup, persist state, etc.). Maybe it would even make sense to go further and say that a page that has started to navigate away is no longer capable of receiving user activation at all. It's basically a race at this point if the user interacts again during unload - right?Yep this would be a race, but it's a race the user generally will win if the navigation is slow. I'm not confident, but I feel like applying this extra restriction would be overly confusing for users and developers, and I don't really see us gaining anything from it.
Chrome's pop-up blocking behavior is unique (being the only browser to block multiple pop-ups, etc.). It seems quite unlikely that we'd have success anytime soon getting "consumption" behavior into the HTML spec (since no other engine is interested in this), yet also very unlikely that we'd be willing to remove the behavior from Chrome. If possible we should try to separate all the good work to fully standardize "user activation" from some of this messier stuff that's (nearly) specific to pop-ups. It would be shame to let our long-history of non-standard pop-up blocking behavior stall/delay progress in the work to improve interop for the wide variety of features relying on simple "activation". If we can get all the other cases fully spec'd and on a path to full interop, that'll be a fantastic improvement (even if Chrome's pop-up blocking is still totally non-standard). Some of us are still hopeful that we can eventually achieve interop and full standardization around pop-ups, but concede that it shouldn't be the highest priority. Anne / Domenic, could you live with some pragmatic middle ground like this for now?Regardless of debates around standardization, we have a responsibility to web developers to clearly explain how our pop-up blocker behaves and how that behavior is changing. So if we're not going to try to write a spec to cover 'consumption' or the changes we're talking about here, we'd like to at least see some permanent documentation page somewhere that can evolve over time (example code / tests would be awesome too). We'll link to this page from the deprecations/removals blog post for the milestone a change goes active in and ideally from a console warning on blocked popups. Charlie, since you're working on a series of changes here, what do you think about trying to write something (eg. on chromium.org) attempting to describe our pop-up blocking behavior?Yes, I will happily help write some documentation. Would it be OK to write (web-dev focused) markdown that is in the source tree? I think that'd be easiest to maintain and increases visibility to Chromium devs. We could link to it from chromium.org.
I can understand how the compat risk is very difficult to quantify, but my intuition aligns with yours that it seems like it shouldn't be likely to a big problem. I support experimenting with this well before branch. Eg. you could land this behavior now for M64 canary/dev channel with a RBB-64 bug assigned to yourself to revert/disable before branch and then we could discuss what, if any, site compat bugs were found. If we can't find any concrete case that is broken, then building some complex tracking infrastructure to try to quantify the usage would almost certainly be a waste of time (especially since even a moderate usage could be explained primarily by existing abuse).Let me look over the overhead to launching it behind a feature flag (enabled by default), which will let us be a bit more flexible. There are some metrics we can look at for how much we are affecting popups.
On Thu, Oct 26, 2017 at 3:56 PM, Charles Harrison <cshar...@chromium.org> wrote:Thanks Rick! I left some comments inline.On Thu, Oct 26, 2017 at 3:07 PM, Rick Byers <rby...@chromium.org> wrote:We discussed this intent in the API owners meeting today (owners present: chrishtr, jochen, mkwst, rbyers). I think there was rough consensus on a few points:There's support for this general idea. Continuing to try to reduce user annoyance (tab unders, etc.) despite likely causing some compat pain is important to our mission. The idea of consuming any active user gesture on navigation makes a lot of sense to me. I wouldn't generally expect the page to be doing anything user-centric after it's started to navigate away (just cleanup, persist state, etc.). Maybe it would even make sense to go further and say that a page that has started to navigate away is no longer capable of receiving user activation at all. It's basically a race at this point if the user interacts again during unload - right?Yep this would be a race, but it's a race the user generally will win if the navigation is slow. I'm not confident, but I feel like applying this extra restriction would be overly confusing for users and developers, and I don't really see us gaining anything from it.Sounds good. I wasn't actually saying I preferred the additional restriction - just that conceptually I don't see obvious value in supporting any activation-triggered behavior after navigation has started.Chrome's pop-up blocking behavior is unique (being the only browser to block multiple pop-ups, etc.). It seems quite unlikely that we'd have success anytime soon getting "consumption" behavior into the HTML spec (since no other engine is interested in this), yet also very unlikely that we'd be willing to remove the behavior from Chrome. If possible we should try to separate all the good work to fully standardize "user activation" from some of this messier stuff that's (nearly) specific to pop-ups. It would be shame to let our long-history of non-standard pop-up blocking behavior stall/delay progress in the work to improve interop for the wide variety of features relying on simple "activation". If we can get all the other cases fully spec'd and on a path to full interop, that'll be a fantastic improvement (even if Chrome's pop-up blocking is still totally non-standard). Some of us are still hopeful that we can eventually achieve interop and full standardization around pop-ups, but concede that it shouldn't be the highest priority. Anne / Domenic, could you live with some pragmatic middle ground like this for now?Regardless of debates around standardization, we have a responsibility to web developers to clearly explain how our pop-up blocker behaves and how that behavior is changing. So if we're not going to try to write a spec to cover 'consumption' or the changes we're talking about here, we'd like to at least see some permanent documentation page somewhere that can evolve over time (example code / tests would be awesome too). We'll link to this page from the deprecations/removals blog post for the milestone a change goes active in and ideally from a console warning on blocked popups. Charlie, since you're working on a series of changes here, what do you think about trying to write something (eg. on chromium.org) attempting to describe our pop-up blocking behavior?Yes, I will happily help write some documentation. Would it be OK to write (web-dev focused) markdown that is in the source tree? I think that'd be easiest to maintain and increases visibility to Chromium devs. We could link to it from chromium.org.Great, thanks! That's fine with me, as long as it's approachable for web-devs (eg. not too much implementation detail, or at least those details kept to a separate section).I can understand how the compat risk is very difficult to quantify, but my intuition aligns with yours that it seems like it shouldn't be likely to a big problem. I support experimenting with this well before branch. Eg. you could land this behavior now for M64 canary/dev channel with a RBB-64 bug assigned to yourself to revert/disable before branch and then we could discuss what, if any, site compat bugs were found. If we can't find any concrete case that is broken, then building some complex tracking infrastructure to try to quantify the usage would almost certainly be a waste of time (especially since even a moderate usage could be explained primarily by existing abuse).Let me look over the overhead to launching it behind a feature flag (enabled by default), which will let us be a bit more flexible. There are some metrics we can look at for how much we are affecting popups.Yeah, that could be interesting for sure. Surely we should be able to measure the change in pop-up blocker "allow" usage, right? If the allow ratio is significantly higher for users with the change, that would suggest it might not be a good tradeoff...
--So, for me, if we could reasonably detangle these consumption cases from the ongoing "user activation" work (allowing Mustaq to focus on the more tractable and broadly impactful subset), and get some decent developer documentation published on our special pop-up blocking behavior, then that would be enough for me to be comfortable shipping this proposal.On Wed, Oct 25, 2017 at 2:43 PM, Charles Harrison <cshar...@chromium.org> wrote:Yeah I responded on the bug but this is one of the reasons why I was hesitant that we could ship anything that makes navigation require a user gesture. We couldn't even do it without loosening it to "sticky" user gesture for cross origin frames navigating the parent.--On Tue, Oct 24, 2017 at 3:20 PM, Mustaq Ahmed <mus...@google.com> wrote:FYI for Charlie: looks like we already have a navigation code that relies "somewhat" on user activation. "Somewhat" because it doesn't rely on a currently active user gesture, I suspect because of the challenges you mentioned earlier.On Fri, Oct 20, 2017 at 10:22 AM, Domenic Denicola <d...@domenic.me> wrote:From: Anne van Kesteren [mailto:ann...@annevk.nl]
> How does this intent relate to ongoing work over at https://github.com/WICG/gesture-delegation? That seems to build features on top of this kind of model. That seems a little problematic if we don't yet know whether the model will be successful.
I don't think "this intent", for main frame navigations consuming the user gesture, is very related to WICG/gesture-delegation. For example there is no "navigation" token in the proposed DOMTokenList. (Indeed, most of the uses mentioned at https://github.com/whatwg/html/issues/3123 do not appear in the token list. I filed https://github.com/WICG/gesture-delegation/issues/10.) Instead both are related to ongoing work on achieving interop on user activation.
That said, I agree with your assessment that WICG/gesture-delegation builds on top of a speculative architecture and it's not clear it would make sense to ship in other browsers. I trust the API Owners to make the right call when the intent to ship comes through about whether such a feature is destined to be part of the interoperable web, and as such is OK to ship in Chrome.
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CADjAqN7hsj8XppFjoqNVJoPTDhJ_xXaSU33vCxnyKaR_3bAMKw%40mail.gmail.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+unsubscribe@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAFUtAY-LGZxS_9hC%2BtusV7evBj5qVxRVfU7qy8-ehZYHMBcMXw%40mail.gmail.com.
I’m happy to defer to Mustaq here. If he believes we’re on the right track long-term, then we should be :)
To be clear, my concern wasn’t about shipping this particular change, but about the attitude expressed that it’d be a “fantastic” end-result to end up with something almost-but-not-quite interoperable. (Namely, Chrome three-concept, then trying to push a two-concept version into the spec and other browsers.) I think my concerns have been heard, so I’m good to go.
From: Mustaq Ahmed [mailto:mus...@google.com]
Sent: Thursday, December 14, 2017 12:04
To: Domenic Denicola <d...@domenic.me>; Charles Harrison <cshar...@chromium.org>
Cc: Rick Byers <rby...@chromium.org>; Anne van Kesteren <ann...@annevk.nl>; Philip Jägenstedt <foo...@google.com>; Jochen Eisinger <joc...@chromium.org>; Ojan Vafai <oj...@chromium.org>; Chris Harrelson <chri...@chromium.org>; Domenic Denicola <dom...@chromium.org>;
Eric Lawrence <elaw...@google.com>; blink-dev <blin...@chromium.org>; Mounir Lamouri <mlam...@google.com>
Subject: Re: [blink-dev] Re: Intent to Implement and Ship: Initiating main frame navigations consumes a user gesture
I expect some complication for our long term User Activation v2 plan but it shouldn't be a major one. So fixing Chrome w/o standardizing the behavior sounds good to me. Moreover, I agree with Domenic that it's unlikely for the web (which is already in a terrible state for user activation interop) to converge to our "three-concept" behavior.
--
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+unsubscribe@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/DM5PR05MB28928D2F01EC095522C50D0BDF0A0%40DM5PR05MB2892.namprd05.prod.outlook.com.
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/DM5PR05MB28928D2F01EC095522C50D0BDF0A0%40DM5PR05MB2892.namprd05.prod.outlook.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/CAOMQ%2Bw9-bJKBFd9hgzu3V4KpuG8Gn_6-5ExOG9MRgq9pSnuHdg%40mail.gmail.com.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/DM5PR05MB28928D2F01EC095522C50D0BDF0A0%40DM5PR05MB2892.namprd05.prod.outlook.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+unsubscribe@chromium.org.