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.

Reply via email to