We should be able to control the distance-from-viewport threshold for loading in deferred frames via field trial parameters.
See the public design note https://docs.google.com/document/d/1r4HfiRHfhkPx9LOVkK0QAdq6H9coIxGH0nh6HojDnYE/edit?usp=sharing for the spec of these field trial params.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/878f7d6706331673d5adfeeb992c0a3e33b83c9c commit 878f7d6706331673d5adfeeb992c0a3e33b83c9c Author: Scott Little <sclittle@chromium.org> Date: Thu May 31 22:09:06 2018 LazyLoad: Make lazy frame loading distance threshold configurable. This CL makes the distance-from-viewport threshold that controls how close the user has to scroll to a deferred iframe configurable via --blink-settings and field trial params. Different distance threshold values can be specified for different effective connection types and data saver settings, so that e.g. a larger distance threshold can be specified for slower networks to give frames more time to load in, or e.g. a shorter distance threshold could be specified for data saver users to save some more data. The spec for these field trial parameters is here: https://docs.google.com/document/d/1r4HfiRHfhkPx9LOVkK0QAdq6H9coIxGH0nh6HojDnYE/edit# Bug: 845307 Change-Id: I9922b7d5dc863c8e62bd9a496c87a31c08f544e2 Reviewed-on: https://chromium-review.googlesource.com/1069338 Commit-Queue: Scott Little <sclittle@chromium.org> Reviewed-by: Kinuko Yasuda <kinuko@chromium.org> Reviewed-by: Daniel Cheng <dcheng@chromium.org> Cr-Commit-Position: refs/heads/master@{#563393} [modify] https://crrev.com/878f7d6706331673d5adfeeb992c0a3e33b83c9c/chrome/browser/chrome_content_browser_client.cc [modify] https://crrev.com/878f7d6706331673d5adfeeb992c0a3e33b83c9c/content/public/common/common_param_traits_macros.h [modify] https://crrev.com/878f7d6706331673d5adfeeb992c0a3e33b83c9c/content/public/common/web_preferences.h [modify] https://crrev.com/878f7d6706331673d5adfeeb992c0a3e33b83c9c/content/renderer/render_view_impl.cc [modify] https://crrev.com/878f7d6706331673d5adfeeb992c0a3e33b83c9c/third_party/blink/public/web/web_settings.h [modify] https://crrev.com/878f7d6706331673d5adfeeb992c0a3e33b83c9c/third_party/blink/renderer/core/exported/web_settings_impl.cc [modify] https://crrev.com/878f7d6706331673d5adfeeb992c0a3e33b83c9c/third_party/blink/renderer/core/exported/web_settings_impl.h [modify] https://crrev.com/878f7d6706331673d5adfeeb992c0a3e33b83c9c/third_party/blink/renderer/core/frame/settings.json5 [modify] https://crrev.com/878f7d6706331673d5adfeeb992c0a3e33b83c9c/third_party/blink/renderer/core/html/html_frame_owner_element.cc [modify] https://crrev.com/878f7d6706331673d5adfeeb992c0a3e33b83c9c/third_party/blink/renderer/core/html/html_frame_owner_element.h [modify] https://crrev.com/878f7d6706331673d5adfeeb992c0a3e33b83c9c/third_party/blink/renderer/core/html/html_frame_owner_element_test.cc
Comment 1 by sclit...@chromium.org
, May 21 2018