I use,
app.telemetry Page Speed Monitor
https://addons.mozilla.org/en-US/firefox/addon/apptelemetry/
That works with Firefox. Also, page load timing is specific to the browser URL.
I have even tried using selenium webdriver. Usually selenium gives control back to you, when your page is loaded. So you can try below code to get page load time for each browser.
long startTime = System.currentTimeMillis();
long loadedTime = System.currentTimeMillis();
long diff= loadedTime - startTime;
System.out.println("Total Time for page load - "+diff);
Usually webdriver opens browser with clear cookies and clean session. So, that will help you get page load time when cookies are cleared.
In case of, some element on the page are loaded using JavaScript, you can use explicit wait to wait for that element.
long startTime = System.currentTimeMillis();
WebDriverWait wait = new WebDriverWait();
wait.until(ExpectedConditions.presenceOfElementLocated(By.id("myDynamicElement")));
long loadedTime = System.currentTimeMillis();
long diff= loadedTime - startTime;
System.out.println("Total Time for page load - "+diff);
Hope that answered your question.