- // with: set the vertical offset when the view is visible and
- // resized to its final size. Resize events that are sent
- // when the view is invisible must be ignored as they have
- // wrong sizes, potentially preventing the v offset to be
- // set successfully.
- if (isVisible() && saved_v_offset_) {
+ // with: set the vertical offset (or scroll defaults) when
+ // the view is visible and resized to its final size.
+ // Resize events that are sent when the view is not visible
+ // must be ignored as they have wrong sizes, potentially
+ // preventing the v offset from being set successfully.
+
+ if (isVisible())
+ size_finalized_ = true;
+
+ if (size_finalized_ && saved_v_offset_) {