Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1947)

Unified Diff: chrome/browser/page_load_metrics/observers/google_captcha_observer.cc

Issue 1473153002: PageLoadMetricsObservers observe individual page loads (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: destroy order Created 5 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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..9d47fd0435ea6a911d2a889c06c8ede9484a3977 100644
--- a/chrome/browser/page_load_metrics/observers/google_captcha_observer.cc
+++ b/chrome/browser/page_load_metrics/observers/google_captcha_observer.cc
@@ -41,29 +41,22 @@ bool IsGoogleCaptcha(const GURL& url) {
&& base::StartsWith(url.path(), "/sorry", base::CompareCase::SENSITIVE);
}
-GoogleCaptchaObserver::GoogleCaptchaObserver(
- page_load_metrics::PageLoadMetricsObservable* metrics)
- : saw_solution_(false), metrics_(metrics) {}
+GoogleCaptchaObserver::GoogleCaptchaObserver() : saw_solution_(false) {}
void GoogleCaptchaObserver::OnCommit(
content::NavigationHandle* navigation_handle) {
- if (IsGoogleCaptcha(navigation_handle->GetURL()))
+ if (!navigation_handle->IsSamePage()
+ && 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

Powered by Google App Engine
This is Rietveld 408576698