According to http://src.chromium.org/viewvc/chrome/trunk/src/webkit/glue/webmediaplayer_impl.cc the buffered() method always returns a TimeRange containing only one Range. Depending on the media buffering status and if the user seeked to an unbuffered region of the media, the buffered() method should return multiple range. See also Bug 45101
Chromium bug is filed. http://code.google.com/p/chromium/issues/detail?id=81827