Implement UdpTransport for Cast

This change is partially a cleanup and implementation of UdpTransport
for Cast. As the name suggests it is a UDP transport mechanism for
Cast using net::UdpSocket.

A behavior change is that a Cast receiver can have sender IP address
optional. Only after a packet is received that it can send packets. It
will reply only to that address and ignore packets coming from a
different address.

If a sender address is given to Cast receiver then there is no change.

BUG=331989

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@243854 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 243854
Add error handling for supervised user import flow.

Add a check if the user tries to create a profile with the
name of an already existing supervised user. In that case,
the user is not allowed to create a new such supervised user
profile, instead he can directly import the existing supervised
user.
A screenshot can be found in the bug description.

BUG=282464
TEST=browser_tests

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@243855 0039d316-1c4b-4281-b951-d872f2087c98
[cc] Unify static create method of ResourceUpdate

Remove ResourceUpdate::CreateFromCanvas().
|canvas| member variable of ResourceUpdate is not used by ResourceUpdateController.
Also all customer of ResourceUpdate can pass SkBitmap.

R=enne@chromium.org, danakj@chromium.org
BUG=NONE
TEST=cc_unittests --gtest_filter=ResourceUpdateControllerTest.*

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

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