Use System Media Transport Controls to get media keys when available

This CL adds a new MediaKeysListener implementation for Windows that
connects to the System Media Transport Controls in order to get media
key events. This is much more user-friendly than using RegisterHotKey
especially when the user has other OS apps open that use media keys.

We will still fall back to the RegisterHotKey method whenever System
Media Transport Controls is unavailable.

Bug: 948920
Change-Id: I88c7895194783f22f880f8d493c406e12f6cb246
Commit-Queue: Tommy Steimel <>
Reviewed-by: Robert Liao <>
Reviewed-by: Scott Violet <>
Cr-Commit-Position: refs/heads/master@{#648923}
24 files changed