And user activation is detected and recorded through
LocalFrame::NotifyUserActivation
<https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/frame/local_frame.h;drc=618bd0c5efa3237d7948c89cd6adc1393ae0481d;l=340>.
You can click on the method name to find out the callers.

On Mon, Nov 24, 2025 at 10:39 AM Michael Thiessen <[email protected]>
wrote:

> The bulk of the intent-launching checks are done
> in 
> components/external_intents/android/java/src/org/chromium/components/external_intents/,
> the most important classes being ExternalNavigationHandler.java
> <https://source.chromium.org/chromium/chromium/src/+/main:components/external_intents/android/java/src/org/chromium/components/external_intents/ExternalNavigationHandler.java>
> , InterceptNavigationDelegateImpl.java
> <https://source.chromium.org/chromium/chromium/src/+/main:components/external_intents/android/java/src/org/chromium/components/external_intents/InterceptNavigationDelegateImpl.java>,
> and RedirectHandler.java
> <https://source.chromium.org/chromium/chromium/src/+/main:components/external_intents/android/java/src/org/chromium/components/external_intents/RedirectHandler.java>.
> See also the readme
> <https://source.chromium.org/chromium/chromium/src/+/main:components/external_intents/README.md>
> for additional information.
>
> On Mon, Nov 24, 2025 at 7:41 AM Yoav Weiss (@Shopify) <
> [email protected]> wrote:
>
>> +Mustaq Ahmed <[email protected]>
>>
>> On Mon, Nov 24, 2025, 14:19 Alex <[email protected]> wrote:
>>
>>> Hi everyone,
>>> I’m new to Chromium and currently studying specific components for a
>>> university web-security seminar. Because the codebase is quite large, I’m
>>> hoping someone can point me to the relevant areas.
>>>
>>> Specifically, I’m trying to understand *where Chromium decides whether
>>> an action counts as a “user activation”* in the context of *Android
>>> intent URI handling* (e.g., clicking a link like:
>>> intent://scan/#Intent;scheme=exampleapp;package=com.example.app;end;
>>> which then opens an app)
>>>
>>> Chrome on Android will allow this navigation if it was triggered by a
>>> genuine user gesture (e.g., a tap), but if it is triggered by script
>>> without prior user interaction, Chrome either blocks it or shows a
>>> confirmation dialog.
>>>
>>> My goal is to analyze *which input events qualify as transient user
>>> activation* and how this feeds into the intent-launching logic.
>>>
>>> So far, from online documentation, I found that events such as click,
>>> keydown/keyup, touchstart/touchend contribute to user activation, while
>>> others do not. However, I would like to confirm this by locating the actual
>>> decision logic in the source code.
>>>
>>> Could someone point me to the part of the Chromium codebase where:
>>>
>>>    1.
>>>
>>>    User gestures / user activation are detected and recorded, and
>>>    2.
>>>
>>>    The navigation / intent-launching code checks are done?
>>>
>>> Any pointers to the right directories or files would be greatly
>>> appreciated.
>>>
>>> I hope the question isn't too confusing.
>>> Thanks in advance!
>>>
>>>
>>> --
>>> 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 [email protected].
>>> To view this discussion visit
>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/2842dde4-5ad7-4ffa-b348-ca538589981fn%40chromium.org
>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/2842dde4-5ad7-4ffa-b348-ca538589981fn%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 [email protected].
>> To view this discussion visit
>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOmohS%2BBbpga6v3EXPaYOwdqXELCYkd_TkV7iU-oS1_c%2BqFGzQ%40mail.gmail.com
>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOmohS%2BBbpga6v3EXPaYOwdqXELCYkd_TkV7iU-oS1_c%2BqFGzQ%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 [email protected].
To view this discussion visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAB0cuO7TU_jYSr_m3-5NRv_W1kdTKV8joN%2B-kXO_67ZMb%2BmJaw%40mail.gmail.com.

Reply via email to