Handle JS-created files in <input type="file">.

The first associated bug shows a (contorted) series of steps which can
result in a non-user-selected file (created using the Filesystem API)
ending up in a file input element's FileList. The second associated bug
follows the pattern shown by the first bug's reporter, but uses a file
created by the File constructor. This causes a renderer crash.

Also, one day we might have a direct way to set an input's FileList, and
it should handle files created by JavaScript (specifically, by the the
Filesystem API and by the File constructor).

This change adds a flag to File objects that distinguishes between files
that come from a location visible to the user, and files that were
created programatically and are not on user-visible filesystems. The
latter category of files should not be browsed to when used to populate
an <input>.

The flag is used to fix the name displayed by a file upload input
element on Mac.

BUG=360308,367334

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

git-svn-id: svn://svn.chromium.org/blink/trunk@178752 bbb929c8-8fbe-4397-9dbb-9b2b20218538