Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 #ifndef CHROME_BROWSER_AUTOFILL_AUTOFILL_DOWNLOAD_H_ | 5 #ifndef CHROME_BROWSER_AUTOFILL_AUTOFILL_DOWNLOAD_H_ |
| 6 #define CHROME_BROWSER_AUTOFILL_AUTOFILL_DOWNLOAD_H_ | 6 #define CHROME_BROWSER_AUTOFILL_AUTOFILL_DOWNLOAD_H_ |
| 7 #pragma once | 7 #pragma once |
| 8 | 8 |
| 9 #include <map> | 9 #include <map> |
| 10 #include <string> | 10 #include <string> |
| 11 | 11 |
| 12 #include "base/scoped_vector.h" | 12 #include "base/scoped_vector.h" |
| 13 #include "base/time.h" | 13 #include "base/time.h" |
| 14 #include "chrome/browser/autofill/autofill_metrics.h" | |
| 14 #include "chrome/browser/autofill/autofill_profile.h" | 15 #include "chrome/browser/autofill/autofill_profile.h" |
| 15 #include "chrome/browser/autofill/field_types.h" | 16 #include "chrome/browser/autofill/field_types.h" |
| 16 #include "chrome/browser/autofill/form_structure.h" | 17 #include "chrome/browser/autofill/form_structure.h" |
| 17 #include "chrome/common/net/url_fetcher.h" | 18 #include "chrome/common/net/url_fetcher.h" |
| 18 | 19 |
| 19 class Profile; | 20 class Profile; |
| 20 | 21 |
| 21 // Handles getting and updating AutoFill heuristics. | 22 // Handles getting and updating AutoFill heuristics. |
| 22 class AutoFillDownloadManager : public URLFetcher::Delegate { | 23 class AutoFillDownloadManager : public URLFetcher::Delegate { |
| 23 public: | 24 public: |
| (...skipping 29 matching lines...) Expand all Loading... | |
| 53 // |profile| can be NULL in unit-tests only. | 54 // |profile| can be NULL in unit-tests only. |
| 54 explicit AutoFillDownloadManager(Profile* profile); | 55 explicit AutoFillDownloadManager(Profile* profile); |
| 55 virtual ~AutoFillDownloadManager(); | 56 virtual ~AutoFillDownloadManager(); |
| 56 | 57 |
| 57 // |observer| - observer to notify on successful completion or error. | 58 // |observer| - observer to notify on successful completion or error. |
| 58 void SetObserver(AutoFillDownloadManager::Observer *observer); | 59 void SetObserver(AutoFillDownloadManager::Observer *observer); |
| 59 | 60 |
| 60 // Starts a query request to AutoFill servers. The observer is called with the | 61 // Starts a query request to AutoFill servers. The observer is called with the |
| 61 // list of the fields of all requested forms. | 62 // list of the fields of all requested forms. |
| 62 // |forms| - array of forms aggregated in this request. | 63 // |forms| - array of forms aggregated in this request. |
| 63 bool StartQueryRequest(const ScopedVector<FormStructure>& forms); | 64 bool StartQueryRequest( |
| 65 const ScopedVector<FormStructure>& forms, | |
| 66 autofill_metrics::LogServerQueryMetricFn log_server_query_metric); | |
| 64 | 67 |
| 65 // Start upload request if necessary. The probability of request going | 68 // Start upload request if necessary. The probability of request going |
| 66 // over the wire are GetPositiveUploadRate() if it was matched by | 69 // over the wire are GetPositiveUploadRate() if it was matched by |
| 67 // AutoFill, GetNegativeUploadRate() otherwise. Observer will be called | 70 // AutoFill, GetNegativeUploadRate() otherwise. Observer will be called |
| 68 // even if there was no actual trip over the wire. | 71 // even if there was no actual trip over the wire. |
| 69 // |form| - form sent in this request. | 72 // |form| - form sent in this request. |
| 70 // |form_was_matched| - true if form was matched by the AutoFill. | 73 // |form_was_matched| - true if form was matched by the AutoFill. |
| 71 bool StartUploadRequest(const FormStructure& form, bool form_was_matched); | 74 bool StartUploadRequest(const FormStructure& form, bool form_was_matched); |
| 72 | 75 |
| 73 // Cancels pending request. | 76 // Cancels pending request. |
| (...skipping 20 matching lines...) Expand all Loading... | |
| 94 friend class AutoFillDownloadTestHelper; // unit-test. | 97 friend class AutoFillDownloadTestHelper; // unit-test. |
| 95 | 98 |
| 96 struct FormRequestData; | 99 struct FormRequestData; |
| 97 | 100 |
| 98 // Initiates request to AutoFill servers to download/upload heuristics. | 101 // Initiates request to AutoFill servers to download/upload heuristics. |
| 99 // |form_xml| - form structure XML to upload/download. | 102 // |form_xml| - form structure XML to upload/download. |
| 100 // |request_data| - form signature hash(es) and indicator if it was a query. | 103 // |request_data| - form signature hash(es) and indicator if it was a query. |
| 101 // |request_data.query| - if true the data is queried and observer notified | 104 // |request_data.query| - if true the data is queried and observer notified |
| 102 // with new data, if available. If false heuristic data is uploaded to our | 105 // with new data, if available. If false heuristic data is uploaded to our |
| 103 // servers. | 106 // servers. |
| 104 bool StartRequest(const std::string& form_xml, | 107 bool StartRequest( |
|
dhollowa
2010/12/10 21:37:38
The previous formatting is better.
Ilya Sherman
2010/12/11 03:35:03
Oops, had already fixed that locally. Done.
| |
| 105 const FormRequestData& request_data); | 108 const std::string& form_xml, |
| 109 const FormRequestData& request_data); | |
| 106 | 110 |
| 107 // URLFetcher::Delegate implementation: | 111 // URLFetcher::Delegate implementation: |
| 108 virtual void OnURLFetchComplete(const URLFetcher* source, | 112 virtual void OnURLFetchComplete(const URLFetcher* source, |
| 109 const GURL& url, | 113 const GURL& url, |
| 110 const URLRequestStatus& status, | 114 const URLRequestStatus& status, |
| 111 int response_code, | 115 int response_code, |
| 112 const ResponseCookies& cookies, | 116 const ResponseCookies& cookies, |
| 113 const std::string& data); | 117 const std::string& data); |
| 114 | 118 |
| 115 // Profile for preference storage. | 119 // Profile for preference storage. |
| (...skipping 16 matching lines...) Expand all Loading... | |
| 132 double positive_upload_rate_; | 136 double positive_upload_rate_; |
| 133 double negative_upload_rate_; | 137 double negative_upload_rate_; |
| 134 | 138 |
| 135 // Needed for unit-test. | 139 // Needed for unit-test. |
| 136 int fetcher_id_for_unittest_; | 140 int fetcher_id_for_unittest_; |
| 137 bool is_testing_; | 141 bool is_testing_; |
| 138 }; | 142 }; |
| 139 | 143 |
| 140 #endif // CHROME_BROWSER_AUTOFILL_AUTOFILL_DOWNLOAD_H_ | 144 #endif // CHROME_BROWSER_AUTOFILL_AUTOFILL_DOWNLOAD_H_ |
| 141 | 145 |
| OLD | NEW |