| Index: components/gcm_driver/gcm_driver_android.cc | 
| diff --git a/components/gcm_driver/gcm_driver_android.cc b/components/gcm_driver/gcm_driver_android.cc | 
| index a512e8248d9a045c091c9c2440ec80577d1b26d8..a0fedd5cf650ea7b0d940baba5007154aff8f961 100644 | 
| --- a/components/gcm_driver/gcm_driver_android.cc | 
| +++ b/components/gcm_driver/gcm_driver_android.cc | 
| @@ -13,6 +13,7 @@ | 
| #include "base/android/jni_string.h" | 
| #include "base/compiler_specific.h" | 
| #include "base/logging.h" | 
| +#include "base/threading/thread_task_runner_handle.h" | 
| #include "jni/GCMDriver_jni.h" | 
|  | 
| using base::android::AppendJavaStringArrayToStringVector; | 
| @@ -117,6 +118,16 @@ bool GCMDriverAndroid::RegisterJni(JNIEnv* env) { | 
| return RegisterNativesImpl(env); | 
| } | 
|  | 
| +void GCMDriverAndroid::ValidateRegistration( | 
| +    const std::string& app_id, | 
| +    const std::vector<std::string>& sender_ids, | 
| +    const std::string& registration_id, | 
| +    const ValidateRegistrationCallback& callback) { | 
| +  // gcm_driver doesn't store registration IDs on Android, so assume it's valid. | 
| +  base::ThreadTaskRunnerHandle::Get()->PostTask( | 
| +      FROM_HERE, base::Bind(callback, true /* is_valid */)); | 
| +} | 
| + | 
| void GCMDriverAndroid::OnSignedIn() { | 
| } | 
|  | 
|  |