DescriptionMojoify time zone update IPC from browser to renderer
To start the servicification of //content's time zone monitoring code,
this CL Mojoifies the ViewMsg_TimezoneChange message sent from the browser
to the renderer. To do so, we introduce the TimeZoneMonitor Mojo interface
(living in //device, where the implementation will move to), and change
content::TimeZoneMonitor to implement the interface. Rather than notifying
all RenderProcessHosts on a time zone change, content::TimeZoneMonitor
maintains connections to the clients (RenderThreadImpl in this case)
and notifies them directly on a time zone change. This CL uses the
polling pattern described here:
https://groups.google.com/a/chromium.org/forum/#!topic/mojo-dev/pSNDDN3gpFo
for consistency with the way that the geolocation and battery monitor
interfaces work (in practice, it's unlikely that time zone change updates
would flood the client, of course).
Followup will decouple content::TimeZoneMonitor from //content and move it to //
device.
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.
Committed: https://crrev.com/c00adf442e48581afa7df022a0e84c507d1ff3e3
Cr-Commit-Position: refs/heads/master@{#419140}
Patch Set 1 #Patch Set 2 : Fix compile #Patch Set 3 : Fix compile #Patch Set 4 : Browser-side connection in TimeZoneMonitor, eliminate content IPC #Patch Set 5 : Close bindings on destruction to avoid DCHECK on hanging callback #Patch Set 6 : git cl format #Patch Set 7 : nits #
Total comments: 12
Patch Set 8 : Response to reviews #
Total comments: 1
Patch Set 9 : Switch to push #
Total comments: 4
Patch Set 10 : Response to reviews #
Total comments: 1
Patch Set 11 : Rebase #Messages
Total messages: 71 (47 generated)
|