[fsp] Let extensions decide about the file system id.

Previously, providing extensions were mounting virtual file systems by passing
the display name only. As a result, there was no easy way to detect, if the
virtual file system is already mounted.

This is a big issue for event pages, and extensions providing a remote file
system (not archive via file handlers). In such situation, they have to mount
the virtual file system as soon as the providing extension is launched.
However, the extension may be suspended (event page), and then launched again
once a request is emited to it. In such situation, the providing extension
would mount the file system again, and cause duplicated entries in Files app.

To prevent that, providing extensions need to be able to detect if they already
mounted the virtual file system.

The current solution let's extensions mount after each startup, but it would
fail quietly if a file system with the same id is already mounted.

Alternative would be creating a method which would enumerate already registered
file systems by the extension, but that would be an overkill.

Note, that this strategy is same as for context menus api:
https://developer.chrome.com/extensions/contextMenus#method-create

TEST=unit_tests: *FileSystemProvider*, browser_tests: *FileSystemProvider*
BUG=248427

Review URL: https://codereview.chromium.org/294073007

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@272232 0039d316-1c4b-4281-b951-d872f2087c98
34 files changed