Index: chrome/browser/page_load_metrics/page_load_metrics_observer.h |
diff --git a/chrome/browser/page_load_metrics/page_load_metrics_observer.h b/chrome/browser/page_load_metrics/page_load_metrics_observer.h |
index 5c5b29fb2a2e5f45021bf611d10d3e51486aff56..e6794603ea325e3a4d499dc4235acff9a8a07832 100644 |
--- a/chrome/browser/page_load_metrics/page_load_metrics_observer.h |
+++ b/chrome/browser/page_load_metrics/page_load_metrics_observer.h |
@@ -14,6 +14,7 @@ |
#include "components/data_reduction_proxy/core/browser/data_reduction_proxy_data.h" |
#include "content/public/browser/navigation_handle.h" |
#include "content/public/browser/web_contents_observer.h" |
+#include "content/public/common/resource_type.h" |
#include "third_party/WebKit/public/platform/WebInputEvent.h" |
#include "url/gurl.h" |
@@ -199,14 +200,21 @@ struct PageLoadExtraInfo { |
// Container for various information about a request within a page load. |
struct ExtraRequestInfo { |
- ExtraRequestInfo(bool was_cached, |
+ ExtraRequestInfo(const GURL& url, |
+ int frame_tree_node_id, |
+ bool was_cached, |
int64_t raw_body_bytes, |
int64_t original_network_content_length, |
std::unique_ptr<data_reduction_proxy::DataReductionProxyData> |
data_reduction_proxy_data); |
- |
~ExtraRequestInfo(); |
+ // The URL for the request. |
+ const GURL url; |
+ |
+ // The frame tree node id that initiated the request. |
+ const int frame_tree_node_id; |
+ |
// True if the resource was loaded from cache. |
const bool was_cached; |
@@ -218,7 +226,7 @@ struct ExtraRequestInfo { |
const int64_t original_network_content_length; |
// Data related to data saver. |
- const std::unique_ptr<data_reduction_proxy::DataReductionProxyData> |
+ std::unique_ptr<data_reduction_proxy::DataReductionProxyData> |
Bryan McQuade
2017/04/25 16:36:44
why the change to make this non-const?
jkarlin
2017/04/25 16:42:51
oversight, thanks!
|
data_reduction_proxy_data; |
}; |
@@ -263,6 +271,15 @@ class PageLoadMetricsObserver { |
// callbacks, and will be deleted after invocation of this method returns. |
virtual ObservePolicy OnCommit(content::NavigationHandle* navigation_handle); |
+ // OnDidFinishSubFrameNavigation is triggered when a sub-frame of the |
+ // committed page has finished navigating. It has either committed, aborted, |
+ // was a same document navigation, or has been replaced. It is up to the |
+ // observer to query |navigation_handle| to determine which happened. Note |
+ // that |navigation_handle| will be destroyed soon after this call. Don't |
+ // hold a reference to it. |
+ virtual ObservePolicy OnDidFinishSubFrameNavigation( |
+ content::NavigationHandle* navigation_handle); |
+ |
// OnHidden is triggered when a page leaves the foreground. It does not fire |
// when a foreground page is permanently closed; for that, listen to |
// OnComplete instead. |
@@ -377,7 +394,9 @@ class PageLoadMetricsObserver { |
const FailedProvisionalLoadInfo& failed_provisional_load_info, |
const PageLoadExtraInfo& extra_info) {} |
- // Called whenever a request is loaded for this page load. |
+ // Called whenever a request is loaded for this page load. This comes |
+ // unfiltered from the ResourceDispatcherHost and may include blob requests |
+ // and data uris. |
virtual void OnLoadedResource(const ExtraRequestInfo& extra_request_info) {} |
}; |