The spec has a TODO on defining how to reset the user activation flag.
From @martinthomson comment on this topic:
I think that we have reset conditions that come for free:
Navigation causes the value to clear, because that creates a new Window object.
That is probably OK for now. What we might consider for reset include:
Extra long periods without interaction, such that the site execution is paused.
What we might want to avoid:
Browser restarts. If those reactivate sessions, the site will expect the API to function.