OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/renderer/page_load_histograms.h" | 5 #include "chrome/renderer/page_load_histograms.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "base/metrics/field_trial.h" | 8 #include "base/metrics/field_trial.h" |
9 #include "base/metrics/histogram.h" | 9 #include "base/metrics/histogram.h" |
10 #include "base/time.h" | 10 #include "base/time.h" |
(...skipping 753 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
764 | 764 |
765 void PageLoadHistograms::ResetCrossFramePropertyAccess() { | 765 void PageLoadHistograms::ResetCrossFramePropertyAccess() { |
766 cross_origin_access_count_ = 0; | 766 cross_origin_access_count_ = 0; |
767 same_origin_access_count_ = 0; | 767 same_origin_access_count_ = 0; |
768 } | 768 } |
769 | 769 |
770 void PageLoadHistograms::FrameWillClose(WebFrame* frame) { | 770 void PageLoadHistograms::FrameWillClose(WebFrame* frame) { |
771 Dump(frame); | 771 Dump(frame); |
772 } | 772 } |
773 | 773 |
774 void PageLoadHistograms::LogCrossFramePropertyAccess( | |
775 WebFrame* frame, | |
776 WebFrame* target, | |
777 bool cross_origin, | |
778 const WebString& property_name, | |
779 unsigned long long event_id) { | |
780 // TODO(johnnyg): track the individual properties and repeat event_ids. | |
781 if (cross_origin) | |
782 cross_origin_access_count_++; | |
783 else | |
784 same_origin_access_count_++; | |
785 } | |
786 | |
787 bool PageLoadHistograms::OnMessageReceived(const IPC::Message& message) { | 774 bool PageLoadHistograms::OnMessageReceived(const IPC::Message& message) { |
788 if (message.type() == ViewMsg_ClosePage::ID) { | 775 if (message.type() == ViewMsg_ClosePage::ID) { |
789 // TODO(davemoore) This code should be removed once willClose() gets | 776 // TODO(davemoore) This code should be removed once willClose() gets |
790 // called when a page is destroyed. page_load_histograms_.Dump() is safe | 777 // called when a page is destroyed. page_load_histograms_.Dump() is safe |
791 // to call multiple times for the same frame, but it will simplify things. | 778 // to call multiple times for the same frame, but it will simplify things. |
792 Dump(render_view()->webview()->mainFrame()); | 779 Dump(render_view()->webview()->mainFrame()); |
793 ResetCrossFramePropertyAccess(); | 780 ResetCrossFramePropertyAccess(); |
794 } | 781 } |
795 return false; | 782 return false; |
796 } | 783 } |
797 | 784 |
798 void PageLoadHistograms::LogPageLoadTime(const NavigationState* state, | 785 void PageLoadHistograms::LogPageLoadTime(const NavigationState* state, |
799 const WebDataSource* ds) const { | 786 const WebDataSource* ds) const { |
800 // Because this function gets called on every page load, | 787 // Because this function gets called on every page load, |
801 // take extra care to optimize it away if logging is turned off. | 788 // take extra care to optimize it away if logging is turned off. |
802 if (logging::LOG_INFO < logging::GetMinLogLevel()) | 789 if (logging::LOG_INFO < logging::GetMinLogLevel()) |
803 return; | 790 return; |
804 | 791 |
805 DCHECK(state); | 792 DCHECK(state); |
806 DCHECK(ds); | 793 DCHECK(ds); |
807 GURL url(ds->request().url()); | 794 GURL url(ds->request().url()); |
808 Time start = state->start_load_time(); | 795 Time start = state->start_load_time(); |
809 Time finish = state->finish_load_time(); | 796 Time finish = state->finish_load_time(); |
810 // TODO(mbelshe): should we log more stats? | 797 // TODO(mbelshe): should we log more stats? |
811 VLOG(1) << "PLT: " << (finish - start).InMilliseconds() << "ms " | 798 VLOG(1) << "PLT: " << (finish - start).InMilliseconds() << "ms " |
812 << url.spec(); | 799 << url.spec(); |
813 } | 800 } |
OLD | NEW |