diff options
author | carlosk <carlosk@chromium.org> | 2014-10-21 10:35:35 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-10-21 17:35:55 +0000 |
commit | b62f729b1611b64d2cb1c99892e669c1d4e59668 (patch) | |
tree | b0e27ee4cfa90dc9d63c4759e86eb6f2d4e61011 | |
parent | d704ce056777a651c23d31e9f12bf45490a630b5 (diff) | |
download | chromium_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}
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; |