I've tracked it down, the problem was I'm using
'
html5boilerplate.com's template CSS,
which contains this line:
...
@media print {
{ background: transparent !important; color: black !important; text-
shadow: none !important; filter:none !important;
...
and somehow GWT translated it to apply normal web page rule for FF/IE
and caused my background image not display when using these two
browser. Somehow Chrome/Safari was not affected.
removing the '@media print { background ... ' rule from my css
template fixed the problem.