[TimeZoneMonitor] Decouple renderer side impl from content to blink.
In addition to the decoupling work, this CL:
* notifies time zone change to all the workerBackingThread, no matter they
do OWN their platform thread or not, while the old behavior is that only
those workerBackingThread OWNING a platform thread could get the
notifications, which is incorrect.
* will initialize TimeZoneMonitorClient in blink::initialize() if a message
loop has already been created, this is always true for production code,
while some unit tests may have not prepared the message loop when
calling blink::initialize(), so TimeZoneMonitorClient won't be initialized.
TBR=xhwang@chromium.org,rockot@chromium.org
BUG=612341
TEST=http://crbug.com/288697#c12: load the page, change the system time zone,
and then click "recheck" to ensure that the renderer picks up the new
time zone. Don't reload the page, which is likely to give you a new
renderer process, use the "recheck" link on the page.
Review-Url: https://codereview.chromium.org/2402983002
Cr-Commit-Position: refs/heads/master@{#430857}
18 files changed