The HasUserReceivedUserGestureBeforeNavigation bit is currently local to Blink and therefore won't work correctly with remote frames.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/60af7d4ec5c53c88494e6d87a83434732031dce7 commit 60af7d4ec5c53c88494e6d87a83434732031dce7 Author: Becca Hughes <beccahughes@chromium.org> Date: Tue Dec 12 10:53:15 2017 Autoplay: Replicate user gesture before nav bit. The "HasUserReceivedUserGestureBeforeNavigation" bit is currently local to Blink and activation delegation will require that we can access this bit across cross origin iframes. This means we need to replicate this across processes. The tests include coverage for feature policy to ensure it works correctly with the delegation. BUG= 767389 Change-Id: Ia9c11c62bb9a2e195fbfefc09d53a32de73cddd5 Reviewed-on: https://chromium-review.googlesource.com/788955 Reviewed-by: Daniel Cheng <dcheng@chromium.org> Reviewed-by: Jochen Eisinger <jochen@chromium.org> Reviewed-by: Mounir Lamouri <mlamouri@chromium.org> Commit-Queue: Becca Hughes <beccahughes@chromium.org> Cr-Commit-Position: refs/heads/master@{#523397} [modify] https://crrev.com/60af7d4ec5c53c88494e6d87a83434732031dce7/content/browser/frame_host/frame_tree_node.cc [modify] https://crrev.com/60af7d4ec5c53c88494e6d87a83434732031dce7/content/browser/frame_host/frame_tree_node.h [modify] https://crrev.com/60af7d4ec5c53c88494e6d87a83434732031dce7/content/browser/frame_host/render_frame_host_impl.cc [modify] https://crrev.com/60af7d4ec5c53c88494e6d87a83434732031dce7/content/browser/frame_host/render_frame_host_impl.h [modify] https://crrev.com/60af7d4ec5c53c88494e6d87a83434732031dce7/content/browser/frame_host/render_frame_host_manager.cc [modify] https://crrev.com/60af7d4ec5c53c88494e6d87a83434732031dce7/content/browser/frame_host/render_frame_host_manager.h [modify] https://crrev.com/60af7d4ec5c53c88494e6d87a83434732031dce7/content/browser/site_per_process_browsertest.cc [modify] https://crrev.com/60af7d4ec5c53c88494e6d87a83434732031dce7/content/common/frame_messages.h [modify] https://crrev.com/60af7d4ec5c53c88494e6d87a83434732031dce7/content/common/frame_replication_state.cc [modify] https://crrev.com/60af7d4ec5c53c88494e6d87a83434732031dce7/content/common/frame_replication_state.h [modify] https://crrev.com/60af7d4ec5c53c88494e6d87a83434732031dce7/content/renderer/render_frame_impl.cc [modify] https://crrev.com/60af7d4ec5c53c88494e6d87a83434732031dce7/content/renderer/render_frame_impl.h [modify] https://crrev.com/60af7d4ec5c53c88494e6d87a83434732031dce7/content/renderer/render_frame_proxy.cc [modify] https://crrev.com/60af7d4ec5c53c88494e6d87a83434732031dce7/content/renderer/render_frame_proxy.h [add] https://crrev.com/60af7d4ec5c53c88494e6d87a83434732031dce7/content/test/data/media/autoplay/autoplay-disabled.html [add] https://crrev.com/60af7d4ec5c53c88494e6d87a83434732031dce7/content/test/data/media/autoplay/autoplay-enabled.html [modify] https://crrev.com/60af7d4ec5c53c88494e6d87a83434732031dce7/third_party/WebKit/Source/core/exported/LocalFrameClientImpl.cpp [modify] https://crrev.com/60af7d4ec5c53c88494e6d87a83434732031dce7/third_party/WebKit/Source/core/exported/LocalFrameClientImpl.h [modify] https://crrev.com/60af7d4ec5c53c88494e6d87a83434732031dce7/third_party/WebKit/Source/core/exported/WebRemoteFrameImpl.cpp [modify] https://crrev.com/60af7d4ec5c53c88494e6d87a83434732031dce7/third_party/WebKit/Source/core/exported/WebRemoteFrameImpl.h [modify] https://crrev.com/60af7d4ec5c53c88494e6d87a83434732031dce7/third_party/WebKit/Source/core/frame/LocalFrameClient.h [modify] https://crrev.com/60af7d4ec5c53c88494e6d87a83434732031dce7/third_party/WebKit/Source/core/loader/DocumentLoader.cpp [modify] https://crrev.com/60af7d4ec5c53c88494e6d87a83434732031dce7/third_party/WebKit/public/web/WebFrameClient.h [modify] https://crrev.com/60af7d4ec5c53c88494e6d87a83434732031dce7/third_party/WebKit/public/web/WebRemoteFrame.h
Comment 1 by beccahughes@chromium.org
, Dec 1 2017