This CL implemented part of chrome power profiler, including the service, data provider and observer base.

BUG=337138

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@254729 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 254729
Files.app: Update drag source when the FileEntry is replaced.

This CL adds an event handler to update the cached drag source of
FileTransferController. Previously only the "change" event of FileListSelection
is observed, but the event does not published when a selected item is updated
without index change. To fix the problem, the CL adds an event handler for
"change" event of the file list array.

BUG=347878
TEST=follow the repro steps

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

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