More detailed errors for webpush-encryption-08 failures

This splits the INVALID_BINARY_HEADER failure in four separate failures
that explain in greater detail why the header is invalid.

BUG=678347

Change-Id: I868ad7cf44ddf353951e7cfc78d6fecac56f4df0
Reviewed-on: https://chromium-review.googlesource.com/550136
Commit-Queue: Peter Beverloo <[email protected]>
Reviewed-by: Anita Woodruff <[email protected]>
Cr-Commit-Position: refs/heads/master@{#482974}
diff --git a/components/gcm_driver/gcm_driver.cc b/components/gcm_driver/gcm_driver.cc
index c13ae9e..d026b733 100644
--- a/components/gcm_driver/gcm_driver.cc
+++ b/components/gcm_driver/gcm_driver.cc
@@ -303,7 +303,10 @@
     case GCMDecryptionResult::NO_KEYS:
     case GCMDecryptionResult::INVALID_SHARED_SECRET:
     case GCMDecryptionResult::INVALID_PAYLOAD:
-    case GCMDecryptionResult::INVALID_BINARY_HEADER:
+    case GCMDecryptionResult::INVALID_BINARY_HEADER_PAYLOAD_LENGTH:
+    case GCMDecryptionResult::INVALID_BINARY_HEADER_RECORD_SIZE:
+    case GCMDecryptionResult::INVALID_BINARY_HEADER_PUBLIC_KEY_LENGTH:
+    case GCMDecryptionResult::INVALID_BINARY_HEADER_PUBLIC_KEY_FORMAT:
       RecordDecryptionFailure(app_id, result);
       return;
     case GCMDecryptionResult::ENUM_SIZE: