|
|
DescriptionPass the user_gesture context in the IPC message FrameMsg_CommitNavigation to the renderer.
In PlzNavigate, URL navigations are handled via RenderFrameImpl::BeginNavigation. This eventually
sends an IPC message FrameHostMsg_BeginNavigation to the browser. The user_gesture context flag
is passed to the browser in the BeginNavigationParams structure which is passed along with this message.
The user_gesture flag is scoped, i.e the value is reset once it is read.
The FrameMsg_CommitNavigation is sent by the browser when the navigation is committed. We need to
pass the user_request context flag back to the renderer and execute the navigation in this context.
This ensures that the Password Autofill agent and other consumers get the correct value of the user
context.
This fixes the PasswordManagerBrowserTestBase.NoPromptIfLinkClicked test which was failing because
the Password bubble was being displayed due to the user context flag not being set.
BUG=576287
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation
Committed: https://crrev.com/3cfab18193ffb78dbb68f504628276865d225de6
Cr-Commit-Position: refs/heads/master@{#422206}
Patch Set 1 #
Total comments: 3
Patch Set 2 : Address review comments. Define the has_user_gesture flag in the RequestNavigationParams structure. #
Total comments: 2
Patch Set 3 : Remove the has_user_gesture flag from the StartNavigationParams structure.. #Patch Set 4 : Remove has_user_gesture from the IPC traits for StartNavigationParams #Patch Set 5 : Fix compile failures #Patch Set 6 : Fix compile failures #
Total comments: 2
Messages
Total messages: 42 (28 generated)
Description was changed from ========== Pass the user_gesture context in the IPC message FrameMsg_CommitNavigation to the renderer. In PlzNavigate, URL navigations are handled via RenderFrameImpl::BeginNavigation. This eventually sends an IPC message FrameHostMsg_BeginNavigation to the browser. The user_gesture context flag is passed to the browser in the BeginNavigationParams structure which is passed along with this message. The user_gesture flag is scoped, i.e the value is reset once it is read. The FrameMsg_CommitNavigation is sent by the browser when the navigation is committed. We need to pass the user_request context flag back to the renderer and execute the navigation in this context. This ensures that the Password Autofill agent and other consumers get the correct value of the user context. This fixes the PasswordManagerBrowserTestBase.NoPromptIfLinkClicked test which was failing because the Password bubble was being displayed due to the user context flag not being set. BUG= ========== to ========== Pass the user_gesture context in the IPC message FrameMsg_CommitNavigation to the renderer. In PlzNavigate, URL navigations are handled via RenderFrameImpl::BeginNavigation. This eventually sends an IPC message FrameHostMsg_BeginNavigation to the browser. The user_gesture context flag is passed to the browser in the BeginNavigationParams structure which is passed along with this message. The user_gesture flag is scoped, i.e the value is reset once it is read. The FrameMsg_CommitNavigation is sent by the browser when the navigation is committed. We need to pass the user_request context flag back to the renderer and execute the navigation in this context. This ensures that the Password Autofill agent and other consumers get the correct value of the user context. This fixes the PasswordManagerBrowserTestBase.NoPromptIfLinkClicked test which was failing because the Password bubble was being displayed due to the user context flag not being set. BUG= CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation ==========
ananta@chromium.org changed reviewers: + jam@chromium.org, nasko@chromium.org
The CQ bit was checked by ananta@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
Description was changed from ========== Pass the user_gesture context in the IPC message FrameMsg_CommitNavigation to the renderer. In PlzNavigate, URL navigations are handled via RenderFrameImpl::BeginNavigation. This eventually sends an IPC message FrameHostMsg_BeginNavigation to the browser. The user_gesture context flag is passed to the browser in the BeginNavigationParams structure which is passed along with this message. The user_gesture flag is scoped, i.e the value is reset once it is read. The FrameMsg_CommitNavigation is sent by the browser when the navigation is committed. We need to pass the user_request context flag back to the renderer and execute the navigation in this context. This ensures that the Password Autofill agent and other consumers get the correct value of the user context. This fixes the PasswordManagerBrowserTestBase.NoPromptIfLinkClicked test which was failing because the Password bubble was being displayed due to the user context flag not being set. BUG= CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation ========== to ========== Pass the user_gesture context in the IPC message FrameMsg_CommitNavigation to the renderer. In PlzNavigate, URL navigations are handled via RenderFrameImpl::BeginNavigation. This eventually sends an IPC message FrameHostMsg_BeginNavigation to the browser. The user_gesture context flag is passed to the browser in the BeginNavigationParams structure which is passed along with this message. The user_gesture flag is scoped, i.e the value is reset once it is read. The FrameMsg_CommitNavigation is sent by the browser when the navigation is committed. We need to pass the user_request context flag back to the renderer and execute the navigation in this context. This ensures that the Password Autofill agent and other consumers get the correct value of the user context. This fixes the PasswordManagerBrowserTestBase.NoPromptIfLinkClicked test which was failing because the Password bubble was being displayed due to the user context flag not being set. BUG=576287 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation ==========
looks great, just one nit also, please run the linux_chromium_browser_side_navigation_rel trybot for these changes https://codereview.chromium.org/2378393002/diff/1/content/common/frame_messag... File content/common/frame_messages.h (right): https://codereview.chromium.org/2378393002/diff/1/content/common/frame_messag... content/common/frame_messages.h:903: content::RequestNavigationParams, /* request_params */ per the comment in https://cs.chromium.org/chromium/src/content/common/navigation_params.h?rcl=0... (specifically, "Parameters only used by the current architecture should go in StartNavigationParams.", i think this boolean should move from StartNavigationParams to RequestNavigationParams
https://codereview.chromium.org/2378393002/diff/1/content/common/frame_messag... File content/common/frame_messages.h (right): https://codereview.chromium.org/2378393002/diff/1/content/common/frame_messag... content/common/frame_messages.h:903: content::RequestNavigationParams, /* request_params */ On 2016/09/29 19:51:38, jam wrote: > per the comment in > https://cs.chromium.org/chromium/src/content/common/navigation_params.h?rcl=0... > (specifically, "Parameters only used by the current architecture should go in > StartNavigationParams.", i think this boolean should move from > StartNavigationParams to RequestNavigationParams This parameter is not used by non PlzNavigate at the moment. In any case I declared a has_user_gesture field in the RequestNavigationParams structure Additionally StartNavigationParams is not passed back in FrameMsg_CommitNavigation
The CQ bit was checked by ananta@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
https://codereview.chromium.org/2378393002/diff/1/content/common/frame_messag... File content/common/frame_messages.h (right): https://codereview.chromium.org/2378393002/diff/1/content/common/frame_messag... content/common/frame_messages.h:903: content::RequestNavigationParams, /* request_params */ On 2016/09/29 21:28:43, ananta wrote: > On 2016/09/29 19:51:38, jam wrote: > > per the comment in > > > https://cs.chromium.org/chromium/src/content/common/navigation_params.h?rcl=0... > > (specifically, "Parameters only used by the current architecture should go in > > StartNavigationParams.", i think this boolean should move from > > StartNavigationParams to RequestNavigationParams > > This parameter is not used by non PlzNavigate at the moment. StartNavigationParams is what's used for non-plznavigate and it has an (android only) has_user_gesture ? > In any case I > declared a has_user_gesture field in the RequestNavigationParams structure > Additionally StartNavigationParams is not passed back in > FrameMsg_CommitNavigation
https://codereview.chromium.org/2378393002/diff/20001/content/common/navigati... File content/common/navigation_params.h (right): https://codereview.chromium.org/2378393002/diff/20001/content/common/navigati... content/common/navigation_params.h:339: bool has_user_gesture; now this can be removed from StartNavigationParams?
https://codereview.chromium.org/2378393002/diff/20001/content/common/navigati... File content/common/navigation_params.h (right): https://codereview.chromium.org/2378393002/diff/20001/content/common/navigati... content/common/navigation_params.h:339: bool has_user_gesture; On 2016/09/29 21:40:43, jam wrote: > now this can be removed from StartNavigationParams? Done.
The CQ bit was checked by ananta@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: linux_android_rel_ng on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/linux_androi...)
The CQ bit was checked by ananta@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: linux_android_rel_ng on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/linux_androi...)
The CQ bit was checked by ananta@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
lgtm
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: linux_chromium_chromeos_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...)
The CQ bit was checked by ananta@chromium.org
The CQ bit was unchecked by ananta@chromium.org
On 2016/09/29 23:50:55, jam wrote: > lgtm Will land this. Will address any comments from nasko in a subsequent patch.
The CQ bit was checked by ananta@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: chromium_presubmit on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presub...)
LGTM https://codereview.chromium.org/2378393002/diff/100001/content/browser/frame_... File content/browser/frame_host/navigation_entry_impl.cc (right): https://codereview.chromium.org/2378393002/diff/100001/content/browser/frame_... content/browser/frame_host/navigation_entry_impl.cc:718: user_gesture = has_user_gesture(); I wonder why this needs to be only for Android, but it is orthogonal to your CL. https://codereview.chromium.org/2378393002/diff/100001/content/browser/frame_... File content/browser/frame_host/navigation_request.cc (right): https://codereview.chromium.org/2378393002/diff/100001/content/browser/frame_... content/browser/frame_host/navigation_request.cc:521: DCHECK_EQ(request_params_.has_user_gesture, begin_params_.has_user_gesture); nit: I'd move this DCHECK at the beginning of the method, as it doesn't seem to depend on any of the code that is executed between here and the initial DCHECKs.
The CQ bit was checked by nasko@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Message was sent while issue was closed.
Description was changed from ========== Pass the user_gesture context in the IPC message FrameMsg_CommitNavigation to the renderer. In PlzNavigate, URL navigations are handled via RenderFrameImpl::BeginNavigation. This eventually sends an IPC message FrameHostMsg_BeginNavigation to the browser. The user_gesture context flag is passed to the browser in the BeginNavigationParams structure which is passed along with this message. The user_gesture flag is scoped, i.e the value is reset once it is read. The FrameMsg_CommitNavigation is sent by the browser when the navigation is committed. We need to pass the user_request context flag back to the renderer and execute the navigation in this context. This ensures that the Password Autofill agent and other consumers get the correct value of the user context. This fixes the PasswordManagerBrowserTestBase.NoPromptIfLinkClicked test which was failing because the Password bubble was being displayed due to the user context flag not being set. BUG=576287 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation ========== to ========== Pass the user_gesture context in the IPC message FrameMsg_CommitNavigation to the renderer. In PlzNavigate, URL navigations are handled via RenderFrameImpl::BeginNavigation. This eventually sends an IPC message FrameHostMsg_BeginNavigation to the browser. The user_gesture context flag is passed to the browser in the BeginNavigationParams structure which is passed along with this message. The user_gesture flag is scoped, i.e the value is reset once it is read. The FrameMsg_CommitNavigation is sent by the browser when the navigation is committed. We need to pass the user_request context flag back to the renderer and execute the navigation in this context. This ensures that the Password Autofill agent and other consumers get the correct value of the user context. This fixes the PasswordManagerBrowserTestBase.NoPromptIfLinkClicked test which was failing because the Password bubble was being displayed due to the user context flag not being set. BUG=576287 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation ==========
Message was sent while issue was closed.
Committed patchset #6 (id:100001)
Message was sent while issue was closed.
Description was changed from ========== Pass the user_gesture context in the IPC message FrameMsg_CommitNavigation to the renderer. In PlzNavigate, URL navigations are handled via RenderFrameImpl::BeginNavigation. This eventually sends an IPC message FrameHostMsg_BeginNavigation to the browser. The user_gesture context flag is passed to the browser in the BeginNavigationParams structure which is passed along with this message. The user_gesture flag is scoped, i.e the value is reset once it is read. The FrameMsg_CommitNavigation is sent by the browser when the navigation is committed. We need to pass the user_request context flag back to the renderer and execute the navigation in this context. This ensures that the Password Autofill agent and other consumers get the correct value of the user context. This fixes the PasswordManagerBrowserTestBase.NoPromptIfLinkClicked test which was failing because the Password bubble was being displayed due to the user context flag not being set. BUG=576287 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation ========== to ========== Pass the user_gesture context in the IPC message FrameMsg_CommitNavigation to the renderer. In PlzNavigate, URL navigations are handled via RenderFrameImpl::BeginNavigation. This eventually sends an IPC message FrameHostMsg_BeginNavigation to the browser. The user_gesture context flag is passed to the browser in the BeginNavigationParams structure which is passed along with this message. The user_gesture flag is scoped, i.e the value is reset once it is read. The FrameMsg_CommitNavigation is sent by the browser when the navigation is committed. We need to pass the user_request context flag back to the renderer and execute the navigation in this context. This ensures that the Password Autofill agent and other consumers get the correct value of the user context. This fixes the PasswordManagerBrowserTestBase.NoPromptIfLinkClicked test which was failing because the Password bubble was being displayed due to the user context flag not being set. BUG=576287 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation Committed: https://crrev.com/3cfab18193ffb78dbb68f504628276865d225de6 Cr-Commit-Position: refs/heads/master@{#422206} ==========
Message was sent while issue was closed.
Patchset 6 (id:??) landed as https://crrev.com/3cfab18193ffb78dbb68f504628276865d225de6 Cr-Commit-Position: refs/heads/master@{#422206} |