[chrome:omnibox] Join columns 'provider name' with 'type' and 'contents' with
'description'.

This CL introduces support for multi-property columns. For now, we use it for
the two simplest cases, but in future, more columns may display multiple
columns, and some columns may display more than two properties..

Relevant minor changes also included in this CL:

1) In order to make styling multi-property cells easier, we introduce 'cell-*'
CSS classes and rename the previous 'column-*' CSS classes, which referred to
header cells, to 'header-*'.

2) To clarify naming, we renamed the type PresentationInfoRecord and the
constant PROPERTY_OUTPUT_ORDER to Column and COLUMNS respectively.

3) To avoid post-processing the columns in order to append computed properties
after first initializing them, we use a constructor instead of object literals.

4) To avoid relying on 'typeof' and reduce complexity, we declare each column's
OutputProperty class (e.g. OutputBooleanProperty or OutputJsonProperty).

Bug: 891303
Change-Id: I9bb15e22a9c07d42947111014213ddf3f924f9ab
Reviewed-on: https://chromium-review.googlesource.com/c/1368028
Commit-Queue: manuk hovanesian <manukh@chromium.org>
Reviewed-by: Tommy Li <tommycli@chromium.org>
Cr-Commit-Position: refs/heads/master@{#615178}
3 files changed