Index: chrome/browser/page_load_metrics/observers/google_captcha_observer.cc |
diff --git a/chrome/browser/page_load_metrics/observers/google_captcha_observer.cc b/chrome/browser/page_load_metrics/observers/google_captcha_observer.cc |
index c961d9cdc74354ae1237d14e7c7b581bf902334f..1cb0a35d7f72c82ae6e72e8f4b029ebf1af3d6cd 100644 |
--- a/chrome/browser/page_load_metrics/observers/google_captcha_observer.cc |
+++ b/chrome/browser/page_load_metrics/observers/google_captcha_observer.cc |
@@ -43,27 +43,20 @@ bool IsGoogleCaptcha(const GURL& url) { |
GoogleCaptchaObserver::GoogleCaptchaObserver( |
page_load_metrics::PageLoadMetricsObservable* metrics) |
- : saw_solution_(false), metrics_(metrics) {} |
+ : PageLoadMetricsObserver(metrics), saw_solution_(false) {} |
void GoogleCaptchaObserver::OnCommit( |
content::NavigationHandle* navigation_handle) { |
if (IsGoogleCaptcha(navigation_handle->GetURL())) |
RecordGoogleCaptchaEvent(GOOGLE_CAPTCHA_SHOWN); |
- if (saw_solution_) { |
- RecordGoogleCaptchaEvent(GOOGLE_CAPTCHA_SOLVED); |
- saw_solution_ = false; |
- } |
} |
void GoogleCaptchaObserver::OnRedirect( |
content::NavigationHandle* navigation_handle) { |
- if (IsGoogleCaptcha(navigation_handle->GetReferrer().url)) |
+ if (IsGoogleCaptcha(navigation_handle->GetReferrer().url) && !saw_solution_) { |
+ RecordGoogleCaptchaEvent(GOOGLE_CAPTCHA_SOLVED); |
saw_solution_ = true; |
-} |
- |
-void GoogleCaptchaObserver::OnPageLoadMetricsGoingAway() { |
- metrics_->RemoveObserver(this); |
- delete this; |
+ } |
} |
} // namespace google_captcha_observer |