OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/page_load_metrics/observers/google_captcha_observer.h" | 5 #include "chrome/browser/page_load_metrics/observers/google_captcha_observer.h" |
6 | 6 |
7 #include "base/metrics/histogram.h" | 7 #include "base/metrics/histogram.h" |
8 #include "base/strings/string_util.h" | 8 #include "base/strings/string_util.h" |
9 #include "components/page_load_metrics/browser/page_load_metrics_util.h" | 9 #include "components/page_load_metrics/browser/page_load_metrics_util.h" |
10 #include "components/page_load_metrics/common/page_load_timing.h" | 10 #include "components/page_load_metrics/common/page_load_timing.h" |
(...skipping 25 matching lines...) Expand all Loading... |
36 bool IsGoogleCaptcha(const GURL& url) { | 36 bool IsGoogleCaptcha(const GURL& url) { |
37 return (base::StartsWith(url.host(), "ipv4.google.", | 37 return (base::StartsWith(url.host(), "ipv4.google.", |
38 base::CompareCase::SENSITIVE) | 38 base::CompareCase::SENSITIVE) |
39 || base::StartsWith(url.host(), "ipv6.google.", | 39 || base::StartsWith(url.host(), "ipv6.google.", |
40 base::CompareCase::SENSITIVE)) | 40 base::CompareCase::SENSITIVE)) |
41 && base::StartsWith(url.path(), "/sorry", base::CompareCase::SENSITIVE); | 41 && base::StartsWith(url.path(), "/sorry", base::CompareCase::SENSITIVE); |
42 } | 42 } |
43 | 43 |
44 GoogleCaptchaObserver::GoogleCaptchaObserver( | 44 GoogleCaptchaObserver::GoogleCaptchaObserver( |
45 page_load_metrics::PageLoadMetricsObservable* metrics) | 45 page_load_metrics::PageLoadMetricsObservable* metrics) |
46 : metrics_(metrics) {} | 46 : PageLoadMetricsObserver(metrics) {} |
47 | 47 |
48 void GoogleCaptchaObserver::OnCommit( | 48 void GoogleCaptchaObserver::OnCommit( |
49 content::NavigationHandle* navigation_handle) { | 49 content::NavigationHandle* navigation_handle) { |
50 if (IsGoogleCaptcha(navigation_handle->GetURL())) | 50 if (IsGoogleCaptcha(navigation_handle->GetURL())) |
51 RecordGoogleCaptchaEvent(GOOGLE_CAPTCHA_SHOWN); | 51 RecordGoogleCaptchaEvent(GOOGLE_CAPTCHA_SHOWN); |
52 } | 52 } |
53 | 53 |
54 void GoogleCaptchaObserver::OnRedirect( | 54 void GoogleCaptchaObserver::OnRedirect( |
55 content::NavigationHandle* navigation_handle) { | 55 content::NavigationHandle* navigation_handle) { |
56 if (IsGoogleCaptcha(navigation_handle->GetReferrer().url)) | 56 if (IsGoogleCaptcha(navigation_handle->GetReferrer().url)) |
57 RecordGoogleCaptchaEvent(GOOGLE_CAPTCHA_SOLVED); | 57 RecordGoogleCaptchaEvent(GOOGLE_CAPTCHA_SOLVED); |
58 } | 58 } |
59 | 59 |
60 void GoogleCaptchaObserver::OnPageLoadMetricsGoingAway() { | |
61 metrics_->RemoveObserver(this); | |
62 delete this; | |
63 } | |
64 | |
65 } // namespace google_captcha_observer | 60 } // namespace google_captcha_observer |
OLD | NEW |