Controls such as buttons can also be rendered differently on different operating systems, particularly the border-radius and padding.
So if you don't test on each OS your page could look quite different on one OS when compared to the other.
chrome video decoding is another example. on windows, you might be using hardware decoder. on mac, that could be a different story.
browser sandbox is also platform dependent.
depends on what you are testing. a thorough test might require you to test it on different versions of macs even. but that costs money and time.
But say I did all my testing on Mac (except IE); does Chrome behave that differently between OS X and Windows that it should be tested on both? Same for Firefox?
I agree with the grandparent though, you need to worry more about Safari because of the iPhone users that hit your site. Case in point I recently saw a site work perfectly on in all major browsers on the desktop, but Safari would get caught in a loop of repainting. The result was a webpage that looked like it hung the browser, but it was actually taking like a minute to finish rendering the page.
No doubt, Safari is tested fully. I was just curious why I would want to test Chrome on both a Mac and Windows for general web stuff; same with Firefox (since Safari can't be put on Windows).
Given the popularity of Macs with web/front end developers, and the ease (+ legality) of running windows on Mac (vs Mac on windows), most developers end up testing ff,chrome,opera,etc on OS X and use vm(s) for ie - often the ms provided ie testing vms.
If I test Chrome and Firefox on a Mac, why would I need to on Windows?