[css-typed-om] Remove secure context from toCSSValue.

Currently we need a secure context mode to call toCSSValue. toCSSValue
is used for converting CSSStyleValues to CSSValues. However, there's no
reason why we need a secure context mode, since we don't do any parsing.

This patch removes secure context mode from toCSSValue. We had to make
two changes:

- CSSUnsupportedValue takes a CSSValue instead of string. Previously,
  we would parse a string into a CSSValue, then convert it back into a
  string to give to CSSUnsupportedValue, which would then parse it again
  when needed. We can just store the CSSValue instead and parse once.

- CSSUnparsedValue::toCSSValue creates a CSSVariableReferenceValue,
  which requires a CSSParserContext. This makes sense if we need to
  parse the tokens (e.g. for variable resolution). However,
  CSSUnparsedValue doesn't parse the tokens (hence its name), so it
  doesn't make sense to create a CSSParserContext. We added a new
  constructor to CSSVariableReferenceValue that doesn't take a
  CSSParserContext.

Bug: 545318
Change-Id: I03bf66ab3061e00169ddff99b2a128ae3191f793
Reviewed-on: https://chromium-review.googlesource.com/845253
Commit-Queue: Darren Shen <shend@chromium.org>
Reviewed-by: nainar <nainar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#526634}
38 files changed