Add support of IP_MULTICAST_IF in UDP sockets.

BUG=319068

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@238939 0039d316-1c4b-4281-b951-d872f2087c98
drive: Stop calling leveldb::DB::Open from UpgradeOldDB when the path does not exist

leveldb::DB::Open creates a directory at the destination path even if craete_if_missing is false.
This results in unnecessary LOG(ERROR) in RecoverCacheInfoFromTrashedResourceMap().

BUG=326036

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@238940 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 238940
Removes unnecessary arrow-position trick.

BUG=none
R=komatsu@chromium.org
TEST=manually

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@238941 0039d316-1c4b-4281-b951-d872f2087c98
Fix memory management bug between ExternalProcessImportClient and ExternalProcessImporterHost.

It was possible for ExternalProcessImporterHost to have deleted itself (e.g., on Cancel or ImportEnded) yet for ExternalProcessImportClient to receive more messages (e.g., OnProcessCrashed) and try to notify the host back; solved by making the client use a weak ptr back to its host.

Also cleaned up some other small things along the way.

BUG=323587

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@238942 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 238941
SVN changes up to revision 238942