Handle should_replace_current_entry in prerender.

This fixes calls to location.replace which trigger a prerender. History entries
after the current one are incorrectly discarded (http://crbug.com/317872), but
the current entry is correctly replaced.

BUG=305400
TEST=PrerenderBrowserTest.PrerenderReplaceCurrentEntry
     NavigationControllerTest.CopyStateFromAndPruneReplaceEntry
     NavigationControllerTest.CopyStateFromAndPruneMaxEntriesReplaceEntry

Review URL: https://codereview.chromium.org/49003011

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@240535 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 240535
Mac-specific implementation of the GlobalShortcutListener class that
listens for global shortcuts. Handles basic keyboard intercepting and
forwards its output to the base class for processing.

Adds two things:
1. Intercepts media keys. Uses an event tap for intercepting media keys
(PlayPause, NextTrack, PreviousTrack).
2. Binds keyboard shortcuts (hot keys). Carbon RegisterEventHotKey API for
binding to non-media key global hot keys (eg. Command-Shift-1).

Also added Mac tests.

BUG=302437

Review URL: https://codereview.chromium.org/60353008

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@240536 0039d316-1c4b-4281-b951-d872f2087c98
Adding UMA metric tracking to the status are menu and related tray views to track usage of the menu's.

BUG=297046

Review URL: https://codereview.chromium.org/73583003

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@240537 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 240536
SVN changes up to revision 240537