Bug 1976779 - rsclientcerts: make each backend responsible for rate-limiting calls to find_objects r=jschanck
Before this patch, `rsclientcerts::manager` would rate-limit calls to
`find_objects` to once every 3 seconds because the underlying operation can be
time-consuming (in particular, on macOS and Windows, if there are many
certificates/keys available). On Android, keys aren't available until the user
selects one, which means that if a call to `find_objects` happened before the
selection prompt was shown (which is what happens) and the user chose one in
less than 3 seconds, the backend wouldn't search again, thus making it seem like
no keys were available, which would cause Firefox to not send a client
certificate. This patch makes each backend implementation responsible for this
rate-limiting, because only they know if it's appropriate to do so (in particular,
on Android, `find_objects` doesn't have the same performance concern as
on macOS and Windows because rather than searching for certificates and
keys, it asks `ClientAuthCertificateManager` for the cached list of certificates
and keys that have already been approved for use by the user).
Differential Revision: https://phabricator.services.mozilla.com/D257065
<!DOCTYPE html><html><head><title>CSS Masking: Test clip-path property and polygon function with fill rule nonzero</title><linkrel="author"title="Dirk Schulze"href="mailto:dschulze@adobe.com"><linkrel="help"href="http://www.w3.org/TR/css-masking-1/#clipping-paths"><linkrel="help"href="http://www.w3.org/TR/css-masking-1/#propdef-clip-path"><linkrel="match"href="reference/clip-path-rectangle-border-ref.html"><metaname="assert"content="The clip-path property takes the basic shape 'polygon' for clipping. The point list for the polygon creates a 'hole' with the dimension of the background of the clipped element. With the fill rule 'nonzero', this hole is clipped out. The clipping makes the green background of the parent div box visible. On pass you should see a green square with a blue border."></head><body><p>The test passes if there is a green box with a blue border.</p><divstyle="background-color: green; width: 250px;"><divstyle="width: 150px; height: 100px; border: solid blue 50px; background-color: red; clip-path: polygon(nonzero, 0 0, 250px 0, 250px 200px, 0 200px, 0 50px, 50px 50px, 50px 150px, 200px 150px, 200px 50px, 0 50px)"></div></div></body></html>