rebased to chromium's fcc559f343000258f82acee276961a73732f502d