After all, I had to do the "research" myself. Here's Chromium (version 12.0.742.112) behavior (running on ubuntu 11.04):
Generally it works so: try 1-st ip, once it times-out (after 189 sec.) try 2-nd ip. No error messages given until all ips tried. Next connection will start from first ip again (even if it just failed a second ago and the second ip worked - browser doesn't care)
One interesting thing - TCP connection attempt aren't dropped when user hits cancel - i.e. when I hit cancel, and after 60 seconds click retry, page will show in 130 seconds (189 from the first attempt.) But if iI click cancel and click refresh after 190 seconds, the process will start from the beginning.
Per-questionRegarding the items in the original Question:
Browser gets both IPs from OS, OS doesn't change the order of IPs.
Browser always tries to connect to ip that appears first
It tries for 189 seconds
On 2-nd attempt, it will try first IP again.
When first IP times-out, browser silently continues to the second ip. If it works - the page shows-up, if not - waiting continues.
Not tested. This blog states Chrome caches DNS for just up to 1 minute, when we look at chrome://net-internals/#dns :
Capacity: 100 Time to live (ms) for success entries: 60000 Time to live (ms) for failure entries: 0
If the first ipIP works, process will be the same and it will always succeed on the first attempt.