backport to gingerbread
Merge branch 'upstream'
Merge branch 'upstream'