Almost everything LocalFrame::CreateUserGesture() and LocalFrame::NotifyUserActivation() does to frame hierarchy is specific to Frame. There is one exception which misled my previous refactoring to add these LocalFrame entry points: we have LocalFrameClients listening to user gesture notifications (and no RemoteFrameClients).
https://cs.chromium.org/chromium/src/third_party/WebKit/Source/core/frame/LocalFrame.cpp?rcl=015b1d87acd07f08391c528a553f8753336bfe1e&l=1151
Though it's not clear to me why RemoteFrameClients don't care about it (Mounir, any idea?), we should move the entry point to Frame to make it modular.
Comment 1 by mustaq@chromium.org
, Oct 18 2017