FileChooser: Move pending file chooser queue from content::RenderFrameImpl to blink::ChromeClientImpl

* Motivation

This is a preparation to switch FileChooser from legacy IPC to
Mojo. Blink and Pepper want to communicate with the browser process
directly, and the logic in RenderFrameImpl should be moved.

* Implementation

Pepper: The pending queue has never been used. PepperFileChooserHost
blocks file chooser requests while a file chooser is already shown. So
we can just bypass the pending queue.

Blink: Implement the pending queue in blink::ChromeClientImpl.
- Add ChromeClientImpl data member to WebFileChooserCompletionImpl to
 call it back.
- Add FrameOrNull() to WebFileChooserCompletionImpl, FileChooser, and
  FileChooserClient in order to obtain WebLocalFrameClient from
  WebFileChooserCompletionImpl.

Bug: 869257
Change-Id: Ib00d949b4f638c2a660119a86c9115a03f300920
Reviewed-on: https://chromium-review.googlesource.com/1157742
Reviewed-by: Kinuko Yasuda <[email protected]>
Reviewed-by: Raymes Khoury <[email protected]>
Reviewed-by: Yoshifumi Inoue <[email protected]>
Commit-Queue: Kent Tamura <[email protected]>
Cr-Commit-Position: refs/heads/master@{#579748}
10 files changed