WallpaperManager::PendingWallpaper implements rate limiting, however currently all wallpaper setting requests except for the login screen bypasses it (technically they do go through PendingWallpaper, but the delay is always zero even if there's a previous request being processed). This may result in wallpaper being stuck, and there's code duplication because there are both 'now' and 'delayed' versions for 'user' and 'default' wallpapers.
Comment 1 by wzang@chromium.org
, Oct 27 2017