summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/renderer/render_view.cc21
-rw-r--r--chrome/renderer/render_view.h5
2 files changed, 26 insertions, 0 deletions
diff --git a/chrome/renderer/render_view.cc b/chrome/renderer/render_view.cc
index 2cc7ad1..b57d3ce 100644
--- a/chrome/renderer/render_view.cc
+++ b/chrome/renderer/render_view.cc
@@ -3420,6 +3420,8 @@ void RenderView::DumpLoadHistograms() const {
if (navigation_state->load_histograms_recorded() || finish.is_null())
return;
+ LogNavigationState(navigation_state, main_frame->dataSource());
+
Time request = navigation_state->request_time();
Time start = navigation_state->start_load_time();
Time commit = navigation_state->commit_load_time();
@@ -3568,6 +3570,25 @@ void RenderView::DumpLoadHistograms() const {
navigation_state->set_load_histograms_recorded(true);
}
+void RenderView::LogNavigationState(const NavigationState* state,
+ const WebDataSource* ds) const {
+ // Because this function gets called on every page load,
+ // take extra care to optimize it away if logging is turned off.
+ if (logging::LOG_INFO < logging::GetMinLogLevel())
+ return;
+
+ DCHECK(state);
+ DCHECK(ds);
+ GURL url(ds->request().url());
+ Time start = state->start_load_time();
+ Time finish = state->finish_load_time();
+ // TODO(mbelshe): should we log more stats?
+ LOG(INFO) << "PLT: "
+ << (finish - start).InMilliseconds()
+ << "ms "
+ << url.spec();
+}
+
void RenderView::focusAccessibilityObject(
const WebAccessibilityObject& acc_obj) {
#if defined(OS_WIN)
diff --git a/chrome/renderer/render_view.h b/chrome/renderer/render_view.h
index 790bfd5..fc59c19 100644
--- a/chrome/renderer/render_view.h
+++ b/chrome/renderer/render_view.h
@@ -83,6 +83,7 @@ struct FileUploadData;
}
namespace WebKit {
+class WebDataSource;
class WebDragData;
class WebMediaPlayer;
class WebMediaPlayerClient;
@@ -716,6 +717,10 @@ class RenderView : public RenderWidget,
void DumpLoadHistograms() const;
+ // Logs the navigation state to the console.
+ void LogNavigationState(const NavigationState* state,
+ const WebKit::WebDataSource* ds) const;
+
// Scan the given frame for password forms and send them up to the browser.
void SendPasswordForms(WebKit::WebFrame* frame);