If you emit a deprecation warning, I think it might show you the stack trace. How to inject stuff on page load - that is beyond my knowledge. :)
☆*PhistucK* On Wed, May 17, 2023 at 7:50 PM Debadree Chatterjee <debadree...@gmail.com> wrote: > > I mean that we have to find out how the calling function looks like so I > was wondering if we could run your debug solution whenever a webpage loads, > like if I could stop the page and observe what the code looks like > On Thursday, May 18, 2023 at 12:16:26 AM UTC+5:30 PhistucK wrote: > >> If you change Chromium anyway, you can just add a log/CHECK or something >> in the has/delete implementation itself, right? >> >> ☆*PhistucK* >> >> >> On Wed, May 17, 2023 at 5:50 PM Debadree Chatterjee <debad...@gmail.com> >> wrote: >> >>> Is it possible to put these methods on Chrome startup? Like because >>> loading the page would clear up devtools so in my local chromium if I could >>> make these changes? any idea about which files would be relevant? >>> >>> On Wednesday, May 17, 2023 at 10:11:51 PM UTC+5:30 Debadree Chatterjee >>> wrote: >>> >>>> Hey! >>>> >>>> Phistuck's method sounds interesting! I am giving it a try and >>>> reporting back! Thank you so much, everyone! >>>> >>>> On Wednesday, May 17, 2023 at 10:09:10 PM UTC+5:30 Philip Jägenstedt >>>> wrote: >>>> >>>>> Thanks PhistucK, I didn't know about these devtools tricks :D >>>>> >>>>> On Wed, May 17, 2023 at 6:31 PM PhistucK <phis...@gmail.com> wrote: >>>>> >>>>>> Excessive, but you can run this in the console - >>>>>> debug(URLSearchParams.prototype.has) >>>>>> debug(URLSearchParams.prototype.delete) >>>>>> That will break whenever those are called. >>>>>> If you want it to break less, you can replace the functions with your >>>>>> own and run debugger; in case there is more than one parameter - >>>>>> var originalHas = URLSearchParams.prototype.has; >>>>>> URLSearchParams.prototype.has = (...a) => { if (a.length > 1) >>>>>> debugger; return originalHas.call(this, ...a); } >>>>>> var originalDelete = URLSearchParams.prototype.delete; >>>>>> URLSearchParams.prototype.delete = (...a) => { if (a.length > 1) >>>>>> debugger; return originalDelete.call(this, ...a); } >>>>>> But make sure you run this very early on the page somehow. >>>>>> >>>>>> ☆*PhistucK* >>>>>> >>>>>> >>>>>> On Wed, May 17, 2023 at 5:17 PM Philip Jägenstedt < >>>>>> foo...@chromium.org> wrote: >>>>>> >>>>>>> Hi Debadree, minified code is OK, all we need to see is what the >>>>>>> call site looks like. In particular is it an explicit and intentional >>>>>>> extra >>>>>>> arg like `someUrl.searchParams.delete('something', extraArg)`, or is it >>>>>>> a >>>>>>> callback involving forEach or similar? >>>>>>> >>>>>>> With some way to break in devtools at the code path in question, it >>>>>>> should be a question of stepping up the call stack one level. The most >>>>>>> straightforward way to do this would be a local change to Chromium, to >>>>>>> make >>>>>>> the methods throw an exception if given and extra argument, and then >>>>>>> looking for the exception in devtools. >>>>>>> >>>>>>> Does that sound workable? If it's unreasonably hard to do, then we >>>>>>> need some other way to understand what the usage in the wild is about. >>>>>>> >>>>>>> On Wed, May 17, 2023 at 5:27 PM Debadree Chatterjee < >>>>>>> debad...@gmail.com> wrote: >>>>>>> >>>>>>>> Hey Everyone! >>>>>>>> >>>>>>>> I am writing to seek some help regarding identifying code patterns >>>>>>>> as you say, almost all the code in these sites seems to be minified >>>>>>>> compacted so quite difficult to find manually does anyone know a >>>>>>>> better way >>>>>>>> to go about it? like is there an example of maybe modifying some code >>>>>>>> in >>>>>>>> Chrome to detect these code patterns? >>>>>>>> >>>>>>>> Yours Sincerely, >>>>>>>> Debadree >>>>>>>> On Monday, May 15, 2023 at 10:06:05 PM UTC+5:30 PhistucK wrote: >>>>>>>> >>>>>>>>> It would be something like this - >>>>>>>>> >>>>>>>>> https://groups.google.com/a/chromium.org/g/blink-dev/c/rDaQdKpWAx8/m/qjTlRNShAgAJ >>>>>>>>> >>>>>>>>> ☆*PhistucK* >>>>>>>>> >>>>>>>>> >>>>>>>>> On Mon, May 15, 2023 at 10:25 AM Philip Jägenstedt < >>>>>>>>> foo...@chromium.org> wrote: >>>>>>>>> >>>>>>>>>> Hey Andreu, >>>>>>>>>> >>>>>>>>>> Can you give an example of what the code looks like that calls >>>>>>>>>> the methods with a second argument? >>>>>>>>>> >>>>>>>>>> Best regards, >>>>>>>>>> Philip >>>>>>>>>> >>>>>>>>>> On Fri, May 12, 2023 at 8:51 PM Andreu Botella < >>>>>>>>>> abot...@igalia.com> wrote: >>>>>>>>>> >>>>>>>>>>> jornalmassa.com.br doesn't seem to be calling these methods >>>>>>>>>>> with two arguments, at least in my testing. The rest of sites do >>>>>>>>>>> occasionally (sometimes with the second argument being 0, >>>>>>>>>>> sometimes a different number, sometimes a string), but none seemed >>>>>>>>>>> to break >>>>>>>>>>> in my testing. >>>>>>>>>>> >>>>>>>>>>> Andreu >>>>>>>>>>> On 5/12/23 10:38, Philip Jägenstedt wrote: >>>>>>>>>>> >>>>>>>>>>> It looks like this was spec'd in >>>>>>>>>>> https://github.com/whatwg/url/pull/735, with participation from >>>>>>>>>>> Chromium and WebKit folks. >>>>>>>>>>> https://bugzilla.mozilla.org/show_bug.cgi?id=1831587 was filed >>>>>>>>>>> for Gecko, but there's no clear position. Would you mind filing an >>>>>>>>>>> issue at >>>>>>>>>>> https://github.com/mozilla/standards-positions/issues/new to >>>>>>>>>>> ensure Mozilla is aware this happening? >>>>>>>>>>> >>>>>>>>>>> https://chromestatus.com/metrics/feature/timeline/popularity/4478 >>>>>>>>>>> is pretty low, but was any analysis done of sites that reach this >>>>>>>>>>> use >>>>>>>>>>> counter? It's honestly higher usage than I'd expect for an argument >>>>>>>>>>> that >>>>>>>>>>> didn't do anything before, so likely the value passed doesn't make >>>>>>>>>>> sense >>>>>>>>>>> and will result in the parameter not being deleted for delete(), >>>>>>>>>>> which >>>>>>>>>>> could be a problem. What can you say about usage in the wild here? >>>>>>>>>>> >>>>>>>>>>> +Andreu Botella >>>>>>>>>>> >>>>>>>>>>> On Fri, May 12, 2023 at 9:30 AM Debadree Chatterjee < >>>>>>>>>>> debad...@gmail.com> wrote: >>>>>>>>>>> >>>>>>>>>>>> Contact emails debad...@gmail.com >>>>>>>>>>>> >>>>>>>>>>>> Explainer None >>>>>>>>>>>> >>>>>>>>>>>> Specification >>>>>>>>>>>> https://url.spec.whatwg.org/#dom-urlsearchparams-has >>>>>>>>>>>> >>>>>>>>>>>> Summary >>>>>>>>>>>> >>>>>>>>>>>> This feature adds the ability to pass a `value` argument to >>>>>>>>>>>> URLSearchParams's has() and delete() methods which allow for >>>>>>>>>>>> deleting >>>>>>>>>>>> tuples stored in URLSearchParams either by the `name` parameter or >>>>>>>>>>>> by the >>>>>>>>>>>> combination of `name` and `value` >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> Blink component Blink >>>>>>>>>>>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink> >>>>>>>>>>>> >>>>>>>>>>>> TAG review None >>>>>>>>>>>> >>>>>>>>>>>> TAG review status Not applicable >>>>>>>>>>>> >>>>>>>>>>>> Risks >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> Interoperability and Compatibility Compatibility with existing >>>>>>>>>>>> websites were tested by means of a Counter in chromium, ref: >>>>>>>>>>>> https://github.com/whatwg/url/pull/735#issuecomment-1441503315 and >>>>>>>>>>>> no significant chances of breaking were found >>>>>>>>>>>> >>>>>>>>>>>> *Gecko*: No signal >>>>>>>>>>>> >>>>>>>>>>>> *WebKit*: No signal >>>>>>>>>>>> >>>>>>>>>>>> *Web developers*: Has Shipped ( >>>>>>>>>>>> https://github.com/WebKit/WebKit/pull/13500) >>>>>>>>>>>> >>>>>>>>>>>> *Other signals*: >>>>>>>>>>>> >>>>>>>>>>>> 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? >>>>>>>>>>>> >>>>>>>>>>>> None expected >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> Debuggability None >>>>>>>>>>>> >>>>>>>>>>>> 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 >>>>>>>>>>>> >>>>>>>>>>>> Flag name >>>>>>>>>>>> >>>>>>>>>>>> Requires code in //chrome? False >>>>>>>>>>>> >>>>>>>>>>>> Tracking bug >>>>>>>>>>>> https://bugs.chromium.org/p/chromium/issues/detail?id=1442916 >>>>>>>>>>>> >>>>>>>>>>>> Estimated milestones >>>>>>>>>>>> >>>>>>>>>>>> No milestones specified >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>>> Anticipated spec changes >>>>>>>>>>>> >>>>>>>>>>>> Open questions about a feature may be a source of future web >>>>>>>>>>>> compat or interop issues. Please list open issues (e.g. links to >>>>>>>>>>>> known >>>>>>>>>>>> github issues in the project for the feature specification) whose >>>>>>>>>>>> resolution may introduce web compat/interop risk (e.g., changing >>>>>>>>>>>> to naming >>>>>>>>>>>> or structure of the API in a non-backward-compatible way). >>>>>>>>>>>> None Expected >>>>>>>>>>>> >>>>>>>>>>>> Link to entry on the Chrome Platform Status >>>>>>>>>>>> https://chromestatus.com/feature/5147732899004416 >>>>>>>>>>>> >>>>>>>>>>>> Links to previous Intent discussions Intent to prototype: >>>>>>>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CFBE060E-9D1C-4B8D-A4FB-B0279D73E6F4%40gmail.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+...@chromium.org. >>>>>>>>>>>> To view this discussion on the web visit >>>>>>>>>>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/A73025EA-70D7-4818-9CFF-AE14B48875F0%40gmail.com >>>>>>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/A73025EA-70D7-4818-9CFF-AE14B48875F0%40gmail.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/CAARdPYcgT4HVYsB3tsDEpA%2B4-niBhZv5Op-ztxCi-Ae9mdAzdQ%40mail.gmail.com >>>>>>>>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAARdPYcgT4HVYsB3tsDEpA%2B4-niBhZv5Op-ztxCi-Ae9mdAzdQ%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/CABc02_%2BvRQcH%2B6Os%2B97wiVPNWzyPac4mLkQYsDDybhFyJc41KQ%40mail.gmail.com.