Merge in upstream changes into ios-fix-position-callback