Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2557)

Unified Diff: chrome/renderer/page_load_histograms.cc

Issue 2379293002: Rename RFO::FrameWillClose() to reflect its actual purpose. (Closed)
Patch Set: Less crashing Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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,

Powered by Google App Engine
This is Rietveld 408576698