Use SettingSource for ChooserContextBase

This change refactors the ChooserContextBase::Object class to accept a
content_settings::SettingSource enum for the source, instead of a
string. This change enables the Object class to also be used by
PageInfoUI to distinguish between user and policy permissions by
refactoring ChooserContextBase::GetGrantedObjects() to return list of
unique_ptrs to the Object class.

In addition, the DictionaryValue field of Object was renamed to `value`
to make it easier to differentiate from Object.

Design doc:
https://docs.google.com/document/d/1MPvsrWiVD_jAC8ELyk8njFpy6j1thfVU5aWT3TCWE8w

Bug: 854329
Change-Id: Ic320bf3709c464e5acc514cde7594aec90c1c7f6
Reviewed-on: https://chromium-review.googlesource.com/c/1399468
Commit-Queue: Ovidio de Jesús Ruiz-Henríquez <odejesush@chromium.org>
Reviewed-by: Dan Beam <dbeam@chromium.org>
Reviewed-by: Raymes Khoury <raymes@chromium.org>
Reviewed-by: Theresa <twellington@chromium.org>
Reviewed-by: Reilly Grant <reillyg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#623079}
14 files changed