summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcarlosk <carlosk@chromium.org>2014-10-21 10:35:35 -0700
committerCommit bot <commit-bot@chromium.org>2014-10-21 17:35:55 +0000
commitb62f729b1611b64d2cb1c99892e669c1d4e59668 (patch)
treeb0e27ee4cfa90dc9d63c4759e86eb6f2d4e61011
parentd704ce056777a651c23d31e9f12bf45490a630b5 (diff)
downloadchromium_src-b62f729b1611b64d2cb1c99892e669c1d4e59668.zip
chromium_src-b62f729b1611b64d2cb1c99892e669c1d4e59668.tar.gz
chromium_src-b62f729b1611b64d2cb1c99892e669c1d4e59668.tar.bz2
Moves RenderProcessHostImpl::init_time() to RenderProcessHost to fix broken test.
BUG=424575 Review URL: https://codereview.chromium.org/665923002 Cr-Commit-Position: refs/heads/master@{#300514}
-rw-r--r--content/browser/frame_host/navigator_impl.cc5
-rw-r--r--content/browser/renderer_host/render_process_host_impl.cc5
-rw-r--r--content/browser/renderer_host/render_process_host_impl.h8
-rw-r--r--content/public/browser/render_process_host.h7
-rw-r--r--content/public/test/mock_render_process_host.cc6
-rw-r--r--content/public/test/mock_render_process_host.h1
6 files changed, 22 insertions, 10 deletions
diff --git a/content/browser/frame_host/navigator_impl.cc b/content/browser/frame_host/navigator_impl.cc
index 856202e..c5b67b4 100644
--- a/content/browser/frame_host/navigator_impl.cc
+++ b/content/browser/frame_host/navigator_impl.cc
@@ -896,10 +896,9 @@ void NavigatorImpl::RecordNavigationMetrics(
navigation_data_.reset();
return;
}
- RenderProcessHostImpl* process_host =
- static_cast<RenderProcessHostImpl*>(site_instance->GetProcess());
bool navigation_created_new_renderer_process =
- process_host->init_time() > navigation_data_->start_time_;
+ site_instance->GetProcess()->GetInitTimeForNavigationMetrics() >
+ navigation_data_->start_time_;
if (navigation_created_new_renderer_process) {
UMA_HISTOGRAM_TIMES(
"Navigation.TimeToCommit_NewRenderer_BeforeUnloadDiscounted",
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
index fa0a406..c90a389 100644
--- a/content/browser/renderer_host/render_process_host_impl.cc
+++ b/content/browser/renderer_host/render_process_host_impl.cc
@@ -902,6 +902,11 @@ ServiceRegistry* RenderProcessHostImpl::GetServiceRegistry() {
return mojo_application_host_->service_registry();
}
+const base::TimeTicks& RenderProcessHostImpl::GetInitTimeForNavigationMetrics()
+ const {
+ return init_time_;
+}
+
void RenderProcessHostImpl::AddRoute(
int32 routing_id,
IPC::Listener* listener) {
diff --git a/content/browser/renderer_host/render_process_host_impl.h b/content/browser/renderer_host/render_process_host_impl.h
index 7ab0dc2..76d6d35 100644
--- a/content/browser/renderer_host/render_process_host_impl.h
+++ b/content/browser/renderer_host/render_process_host_impl.h
@@ -137,6 +137,7 @@ class CONTENT_EXPORT RenderProcessHostImpl
void ResumeDeferredNavigation(const GlobalRequestID& request_id) override;
void NotifyTimezoneChange() override;
ServiceRegistry* GetServiceRegistry() override;
+ const base::TimeTicks& GetInitTimeForNavigationMetrics() const override;
// IPC::Sender via RenderProcessHost.
bool Send(IPC::Message* msg) override;
@@ -254,13 +255,6 @@ class CONTENT_EXPORT RenderProcessHostImpl
// immediately after receiving response headers.
void ResumeResponseDeferredAtStart(const GlobalRequestID& request_id);
- // PlzNavigate
- // Returns the time the first call to Init completed successfully (after a new
- // renderer process was created); further calls to Init won't change this
- // value.
- // Note: Will disappear after PlzNavitate is completed.
- const base::TimeTicks& init_time() const { return init_time_; }
-
protected:
// A proxy for our IPC::Channel that lives on the IO thread (see
// browser_process.h)
diff --git a/content/public/browser/render_process_host.h b/content/public/browser/render_process_host.h
index 38f07ec..4ae7f3a 100644
--- a/content/public/browser/render_process_host.h
+++ b/content/public/browser/render_process_host.h
@@ -229,6 +229,13 @@ class CONTENT_EXPORT RenderProcessHost : public IPC::Sender,
// Returns the ServiceRegistry for this process.
virtual ServiceRegistry* GetServiceRegistry() = 0;
+ // PlzNavigate
+ // Returns the time the first call to Init completed successfully (after a new
+ // renderer process was created); further calls to Init won't change this
+ // value.
+ // Note: Do not use! Will disappear after PlzNavitate is completed.
+ virtual const base::TimeTicks& GetInitTimeForNavigationMetrics() const = 0;
+
// Static management functions -----------------------------------------------
// Flag to run the renderer in process. This is primarily
diff --git a/content/public/test/mock_render_process_host.cc b/content/public/test/mock_render_process_host.cc
index fb1206e..7b30a6f9 100644
--- a/content/public/test/mock_render_process_host.cc
+++ b/content/public/test/mock_render_process_host.cc
@@ -223,6 +223,12 @@ ServiceRegistry* MockRenderProcessHost::GetServiceRegistry() {
return NULL;
}
+const base::TimeTicks& MockRenderProcessHost::GetInitTimeForNavigationMetrics()
+ const {
+ static base::TimeTicks dummy_time = base::TimeTicks::Now();
+ return dummy_time;
+}
+
void MockRenderProcessHost::FilterURL(bool empty_allowed, GURL* url) {
RenderProcessHostImpl::FilterURL(this, empty_allowed, url);
}
diff --git a/content/public/test/mock_render_process_host.h b/content/public/test/mock_render_process_host.h
index 802b712..81df686 100644
--- a/content/public/test/mock_render_process_host.h
+++ b/content/public/test/mock_render_process_host.h
@@ -81,6 +81,7 @@ class MockRenderProcessHost : public RenderProcessHost {
void ResumeDeferredNavigation(const GlobalRequestID& request_id) override;
void NotifyTimezoneChange() override;
ServiceRegistry* GetServiceRegistry() override;
+ const base::TimeTicks& GetInitTimeForNavigationMetrics() const override;
// IPC::Sender via RenderProcessHost.
bool Send(IPC::Message* msg) override;