Index: chrome/renderer/page_load_histograms.cc |
diff --git a/chrome/renderer/page_load_histograms.cc b/chrome/renderer/page_load_histograms.cc |
index 39d79e1ecb53aec2ff091535f78437889508281e..d2793c0f318e6c3fffb89c4591a514cce5aeea24 100644 |
--- a/chrome/renderer/page_load_histograms.cc |
+++ b/chrome/renderer/page_load_histograms.cc |
@@ -37,7 +37,7 @@ |
#include "third_party/WebKit/public/platform/WebURLRequest.h" |
#include "third_party/WebKit/public/platform/WebURLResponse.h" |
#include "third_party/WebKit/public/web/WebDocument.h" |
-#include "third_party/WebKit/public/web/WebFrame.h" |
+#include "third_party/WebKit/public/web/WebLocalFrame.h" |
#include "third_party/WebKit/public/web/WebPerformance.h" |
#include "third_party/WebKit/public/web/WebView.h" |
#include "url/gurl.h" |
@@ -48,7 +48,7 @@ |
#endif |
using blink::WebDataSource; |
-using blink::WebFrame; |
+using blink::WebLocalFrame; |
using blink::WebPerformance; |
using blink::WebString; |
using base::Time; |
@@ -133,7 +133,7 @@ URLPattern::SchemeMasks GetSupportedSchemeType(const GURL& url) { |
// Helper function to check for string in 'via' header. Returns true if |
// |via_value| is one of the values listed in the Via header. |
-bool ViaHeaderContains(WebFrame* frame, const std::string& via_value) { |
+bool ViaHeaderContains(WebLocalFrame* frame, const std::string& via_value) { |
const char kViaHeaderName[] = "Via"; |
std::vector<std::string> values; |
// Multiple via headers have already been coalesced and hence each value |
@@ -528,23 +528,18 @@ void DumpDeprecatedHistograms(const WebPerformance& performance, |
} // namespace |
-PageLoadHistograms::PageLoadHistograms(content::RenderView* render_view) |
- : content::RenderViewObserver(render_view) { |
-} |
+PageLoadHistograms::PageLoadHistograms(content::RenderFrame* render_frame) |
+ : content::RenderFrameObserver(render_frame) {} |
PageLoadHistograms::~PageLoadHistograms() { |
} |
-void PageLoadHistograms::Dump(WebFrame* frame) { |
+void PageLoadHistograms::Dump() { |
+ WebLocalFrame* frame = render_frame()->GetWebFrame(); |
+ |
// We only dump histograms for main frames. |
// In the future, it may be interesting to tag subframes and dump them too. |
- if (!frame || frame->parent()) |
- return; |
- |
- // If the main frame lives in a different process, don't do anything. |
- // Histogram data will be recorded by the real main frame. |
- if (frame->isWebRemoteFrame()) |
- return; |
+ DCHECK(frame && !frame->parent()); |
dcheng
2016/09/30 06:20:42
In theory this should always be true. Hopefully th
|
// Only dump for supported schemes. |
URLPattern::SchemeMasks scheme_type = |
@@ -597,15 +592,12 @@ void PageLoadHistograms::Dump(WebFrame* frame) { |
} |
} |
-void PageLoadHistograms::FrameWillClose(WebFrame* frame) { |
- Dump(frame); |
+void PageLoadHistograms::WillCommitProvisionalLoad() { |
+ Dump(); |
} |
-void PageLoadHistograms::ClosePage() { |
- // TODO(davemoore) This code should be removed once willClose() gets |
- // called when a page is destroyed. page_load_histograms_.Dump() is safe |
- // to call multiple times for the same frame, but it will simplify things. |
- Dump(render_view()->GetWebView()->mainFrame()); |
+void PageLoadHistograms::FrameDetached() { |
+ Dump(); |
} |
void PageLoadHistograms::LogPageLoadTime(const DocumentState* document_state, |