Exit the installer gracefully if the processor doesn't support SSE2.

This change builds the files in chrome/installer/setup targeting older
CPUs so that setup.exe can safely probe the CPU and exit early with a
well-defined process exit code if the processor doens't support SSE2.

BUG=350175
R=cpu@chromium.org

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@256668 0039d316-1c4b-4281-b951-d872f2087c98
cc: Allow sending BeginMainFrame before draw or activation

BeginMainFrame before draw:
Enabled by default because of concurrency benefits.
When main thread painting, this will block the main thread from
finishing the commit until the active tree has been drawn.
When impl side painting, this does not block the main thread.

The following flag will disable sending BeginMainFrame to the
main thread before we draw the previous commit:
--disable-main-frame-before-draw

BeginMainFrame before activation:
Disabled by default because of latency concerns.
This applies only when impl-side-painting is enabled and will
cause the main thread to block finishing the commit until the
pending tree is activated.

The following flags control whether BeginMainFrame is sent to
the main thread before or after the previous commit has
activated:
--enable-main-frame-before-activation
--disable-main-frame-before-activation

BUG=293941

Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=256454

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@256669 0039d316-1c4b-4281-b951-d872f2087c98
SVN changes up to revision 256669
Receive invalidation messages through GCM

- Add callback in GCMNetworkChannelDelegate for receiving incoming
  messages.
- Handle messages in GCMNetworkChannel, unwrap protobufs and pass around
  echo_token
- Pass corresponding calls between threads in GCMInvalidationBridge
- Subscribe for messages to invalidation app_id in GCMProfileService.

@Richard: Could you review everything but gcm_profile_service.

@Jian: gcm_profile_service changes are to make invalidations work with
GCMProfileService. Refactoring that you planned should solve this in
generic manner. I tried to anticipate what interface would look like.
Let me know if you want me to change anything.

BUG=325020
R=rlarocque@chromium.org,jianli@chromium.org

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

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