The patch is based on https://codereview.chromium.org/27233003/. The unit tests were modified, one has been added.

BUG=95758

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@249615 0039d316-1c4b-4281-b951-d872f2087c98
Fix MarkUnmarkedAllocations to mark only unmarked allocations.

BUG=None
TEST=None

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@249616 0039d316-1c4b-4281-b951-d872f2087c98
Include external touchscreen vid/pid in UMA hardware profile

Relanding https://codereview.chromium.org/103893005 after it was
reverted in https://codereview.chromium.org/135763002. When this
was first landed, it would try to read information on the
displays after ash::Shell had been destroyed, which caused
issues. This patch checks if the ash::Shell exists before
reading information on the displays.

This patch also fixes a bug in the previous patch in which we'd
log that the primary display was not a touch screen if we failed
to find the native screen.

Previously we looked at including the touchscreen name in the UMA
hardware profile: https://codereview.chromium.org/23619085/.

As that posed a privacy concern, this patch includes the vid/pid
instead.

BUG=248910

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

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