List message decryption failures on chrome://gcm-internals
This CL is basically just plumbing of a result code to an internal
diagnosis page. Decryption is done at the level of the GCM Driver,
while, for desktop, the GCMStatsRecorder is owned by the GCMClient
several layers down, on another thread.
This is a re-land of the following CL, which got reverted due to
flakiness on iOS: https://codereview.chromium.org/1616113003/
The flakiness is addresses by pumping the loops in the order in
which messages are posted to the other threads.
TBR=jianli
BUG=569127
Review URL: https://codereview.chromium.org/1641993004
Cr-Commit-Position: refs/heads/master@{#372644}
diff --git a/components/gcm_driver/gcm_driver_android.h b/components/gcm_driver/gcm_driver_android.h
index 4316c69..20345db 100644
--- a/components/gcm_driver/gcm_driver_android.h
+++ b/components/gcm_driver/gcm_driver_android.h
@@ -92,6 +92,9 @@
void SendImpl(const std::string& app_id,
const std::string& receiver_id,
const OutgoingMessage& message) override;
+ void RecordDecryptionFailure(const std::string& app_id,
+ GCMEncryptionProvider::DecryptionFailure reason)
+ override;
private:
base::android::ScopedJavaGlobalRef<jobject> java_ref_;