Avoid never-ending loop in FrameEvictionManager::CullUnlockedFrames

If enable surface synchronization is disabled and the frame is
visible then DelegatedFrameHostAndroid::EvictDelegatedFrame()
will only reset content_layer_ to null but not evict the
surface as that causes https://crbug.com/933374.

Trouble is that if the frame is then hidden without any new
content_layer being created the next call to
DelegatedFrameHostAndroid::EvictDelegatedFrame() will do nothing
as content_layer_ is null but the frame is still in the list of
unlocked frames in FrameEvicitionManager causing the next
call to FrameEvictionManager::CullUnlockedFrames that tries to evict
the frame to do nothing and loop forever (or hit a DCHECK if those
are enabled).

Fix this by not doing early exit if content_layer_ is null as this
is not directly connected to if there is a frame to evict.

Bug: 959914
Change-Id: I3f83036d9a5ae2c734dfca720115d1faf4278c87
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1596571
Reviewed-by: Eric Karl <ericrk@chromium.org>
Commit-Queue: Joel Klinghed <the_jk@opera.com>
Cr-Commit-Position: refs/heads/master@{#657483}
2 files changed