Try harder to make sure that blink::FrameTree::m_uniqueName is truly unique.

After this CL, blink::FrameTree::m_uniqueName is guaranteed to be truly
unique (within a given frame tree) except when:
- The frame tree temporarily contains both an old and a new provisional frame.
- The frame tree spans multiple renderer processes, which race to assign
  the same name to different frames (https://crbug.com/558680#c14).

BUG=588800

Review-Url: https://codereview.chromium.org/1968213002
Cr-Commit-Position: refs/heads/master@{#397443}
10 files changed