Prior to OOPIF, TouchSelection handle positions were updated through RenderWidgetHostViewAura::SubmitCompositorFrame(), and since this is guaranteed to be called for each frame of a mainframe scroll, the selection handle position was always correct at the end of a scroll.
However, if a TouchSelection in an OOPIF sub-frame has handles, and the mainframe is scrolled, the OOPIF's screen position changes *without* RenderWidgetHostViewChildFrame::SubmitCompositorFrame() being called, and at the end of the scroll when the handles re-appear they are in the same place, which is wrong as the selection has moved in screen coordinates.
We need to add an update path for the child-frame's selection handles that detects when a change has occured and adjusts the position accordingly.
Comment 1 by wjmaclean@chromium.org
, Sep 8 2017