customtabs: Add throttling to mayLaunchUrl.
This adds a simple throttling policy for mayLaunchUrl(). Each
accepted mayLaunchUrl() request increases the delay before accepting the
next one. Initial delay is 100ms, and the maximum delay is 10s. Waiting
at least 2*current_interval resets the interval to 100ms, as well as
correctly predicting the destination URL.
Note that the tracking is done by UID (~app) instead of session, as a
misbehaving application can open a large number of sessions.
BUG=514825
Review URL: https://codereview.chromium.org/
1264013005
Cr-Commit-Position: refs/heads/master@{#342329}