| Index: chrome/browser/data_use_measurement/chrome_data_use_ascriber.h
|
| diff --git a/chrome/browser/data_use_measurement/chrome_data_use_ascriber.h b/chrome/browser/data_use_measurement/chrome_data_use_ascriber.h
|
| index dc83994b98f6987136226ec822b87620f0dda521..03121181f8ee74805ddda9b91a081eb58f9b99c4 100644
|
| --- a/chrome/browser/data_use_measurement/chrome_data_use_ascriber.h
|
| +++ b/chrome/browser/data_use_measurement/chrome_data_use_ascriber.h
|
| @@ -99,6 +99,8 @@ class ChromeDataUseAscriber : public DataUseAscriber {
|
| void* navigation_handle);
|
|
|
| private:
|
| + friend class ChromeDataUseAscriberTest;
|
| +
|
| // Use as a key in the render frame map. Corresponds to a unique
|
| // RenderFrameHost.
|
| typedef std::pair<int, int> RenderFrameHostID;
|
| @@ -131,6 +133,13 @@ class ChromeDataUseAscriber : public DataUseAscriber {
|
|
|
| void DeletePendingNavigationEntry(content::GlobalRequestID global_request_id);
|
|
|
| + // The ReadyToCommitNavigation() callback is used to remove entries from
|
| + // |pending_navigation_data_use_map_|. However, there are a number of race
|
| + // conditions which make this callback unreliable until PlzNavigate is used.
|
| + // Until then, this method periodically deletes old navigation entries
|
| + // that have finished data use.
|
| + void DeleteOldPendingNavigationEntries(base::Time now);
|
| +
|
| // Owner for all instances of DataUseRecorder. An instance is kept in this
|
| // list if any entity (render frame hosts, URLRequests, pending navigations)
|
| // that ascribe data use to the instance exists, and deleted when all
|
| @@ -149,6 +158,8 @@ class ChromeDataUseAscriber : public DataUseAscriber {
|
| GlobalRequestIDHash>
|
| pending_navigation_data_use_map_;
|
|
|
| + base::Time last_pending_navigations_discard_time_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(ChromeDataUseAscriber);
|
| };
|
|
|
|
|