Ship Web Push subscription restrictions

This exposes the "applicationServerKey" property when subscribing with
the Push API, in which the developer can provide their application
server's key per draft-ietf-webpush-vapid.

https://tools.ietf.org/html/draft-ietf-webpush-vapid

When doing so, Chrome will give them an endpoint for the subscription
that supports the Web Push Protocol rather than the proprietary GCM
protocol. The endpoint is still provided by GCM.

Intent to Ship:

https://groups.google.com/a/chromium.org/d/topic/blink-dev/Wo7fimlUUjc/discussion

BUG=583753

Review-Url: https://codereview.chromium.org/1931843002
Cr-Commit-Position: refs/heads/master@{#394747}
diff --git a/chrome/browser/push_messaging/push_messaging_constants.cc b/chrome/browser/push_messaging/push_messaging_constants.cc
index 57e603d..ec32bc1 100644
--- a/chrome/browser/push_messaging/push_messaging_constants.cc
+++ b/chrome/browser/push_messaging/push_messaging_constants.cc
@@ -4,7 +4,11 @@
 
 #include "chrome/browser/push_messaging/push_messaging_constants.h"
 
-const char kPushMessagingEndpoint[] = "https://android.googleapis.com/gcm/send";
+const char kPushMessagingGcmEndpoint[] =
+    "https://android.googleapis.com/gcm/send/";
+
+const char kPushMessagingPushProtocolEndpoint[] =
+    "https://fcm.googleapis.com/fcm/send/";
 
 const char kPushMessagingForcedNotificationTag[] =
     "user_visible_auto_notification";