Cpe chrome fixes
What type of PR is this?
/kind bug
What this PR does / why we need it:
-
Bug: presently a chrome extension profile with
nilvalues is passed to profile cookbook unaltered. Fixed by properly compacting nested chrome extension profiles. -
Bug: Better check for if Chrome is installed on Windows - checks vanilla
Program Filesand respectsvalidate_installed. -
Style: Replaces
Hash.reject { |_k, v| v.nil? }withHash.compact. -
Bug: presently if both master prefs and profile prefs are not defined, an old master prefs file might still be left on disk. Additionally, if master prefs are defined but profile prefs are not, a entirely empty profile may still be sent to profiles cookbook. Resolved by always executing master prefs management - it should never no-op - before no-oping on an empty profile prefs definition.
Special notes for your reviewer:
Tested within our macOS/Windows fleet.
Does this PR introduce a user-facing change?:
It might fix a broken chrome extensions profile!
@gbatye @mikedodge04 thoughts?