summaryrefslogtreecommitdiffstats
path: root/chrome/browser/browser_browsertest.cc
diff options
context:
space:
mode:
authorcpu@chromium.org <cpu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-08 22:59:39 +0000
committercpu@chromium.org <cpu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-10-08 22:59:39 +0000
commit65fa1399cab981a3b8ddf96e3cbaa9a64b3efdd2 (patch)
tree8f4c747c4cdc26cf52721c0978477a1cc9686a53 /chrome/browser/browser_browsertest.cc
parent9bc32f394aad3058a016b05a0bd96a561f5be386 (diff)
downloadchromium_src-65fa1399cab981a3b8ddf96e3cbaa9a64b3efdd2.zip
chromium_src-65fa1399cab981a3b8ddf96e3cbaa9a64b3efdd2.tar.gz
chromium_src-65fa1399cab981a3b8ddf96e3cbaa9a64b3efdd2.tar.bz2
Add a ticks counter that tells you how idle is a render process
It gives you a timedelta since the last time it was known that the renderer was active - so far receiving a message from the renderer seems a simple heuristic. - The goal is to use it to prioritize the use of hot renderers or do something to cold ones. BUG=none TEST=test included Review URL: http://codereview.chromium.org/267018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28469 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/browser_browsertest.cc')
-rw-r--r--chrome/browser/browser_browsertest.cc14
1 files changed, 14 insertions, 0 deletions
diff --git a/chrome/browser/browser_browsertest.cc b/chrome/browser/browser_browsertest.cc
index 930c0b3..922f382 100644
--- a/chrome/browser/browser_browsertest.cc
+++ b/chrome/browser/browser_browsertest.cc
@@ -181,3 +181,17 @@ IN_PROC_BROWSER_TEST_F(BrowserTest, SingleBeforeUnloadAfterWindowClose) {
alert->AcceptWindow();
}
+// Test that get_process_idle_time() returns reasonable values when compared
+// with time deltas measured locally.
+IN_PROC_BROWSER_TEST_F(BrowserTest, RenderIdleTime) {
+ base::TimeTicks start = base::TimeTicks::Now();
+ ui_test_utils::NavigateToURL(browser(),
+ ui_test_utils::GetTestUrl(L".", L"title1.html"));
+ RenderProcessHost::iterator it(RenderProcessHost::AllHostsIterator());
+ for (; !it.IsAtEnd(); it.Advance()) {
+ base::TimeDelta renderer_td =
+ it.GetCurrentValue()->get_child_process_idle_time();
+ base::TimeDelta browser_td = base::TimeTicks::Now() - start;
+ EXPECT_TRUE(browser_td >= renderer_td);
+ }
+}