mac: Allow Chrome to hand off its active URL to other devices.
This CL adds the class HandoffManager, which is responsible for interfacing
with Apple's Handoff APIs. It takes a GURL, and exposes that GURL to Handoff.
This CL adds the class ActiveWebContentsObserver, which is responsible for
listening to changes to the active browser, the active tab, and the visible
URL. It notifies its delegate when any of this state might have changed.
AppControllerMac is the delegate of ActiveWebContentsObserver, as well as the
owner of the HandoffManager. When it receives a delegate callback, it passes an
updated GURL to the HandoffManager. There is some minimal logic in
AppControllerMac that prevents URLs from incognito windows from being passed to
the HandoffManager.
BUG=431051, 438823
Review URL: https://codereview.chromium.org/
767143007
Cr-Commit-Position: refs/heads/master@{#307846}