New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 630072 link

Starred by 2 users

Issue metadata

Status: Archived
Owner:
Last visit > 30 days ago
Closed: Jul 2016
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Bug



Sign in to add a comment

Certain links don't open the intent disambig dialog

Project Member Reported by kenobi@chromium.org, Jul 21 2016

Issue description

See b/30258209.
 

Comment 1 by kenobi@chromium.org, Jul 22 2016

Notes for posterity:

Page transition codes are a 32 bit integer.  The smallest 4 bits are the "core type" of the transition.  The rest are a qualifier - a bit mask that tells us how the transition was triggered.

Some examples:
- clicking a link is classified as 0x0 (unqualified link click).  No surprises there.
- typing a URL into the address bar is classified as 0x1 (unqualified typing).  Again, no surprises.
- copy/pasting a URL into the address bar is classified as 0x2000000 (the first 4 bits have a value of 0, signifying that this was a "link click" - surprising - and the qualifier indicates that this was a URL bar navigation)
- hitting forward/back buttons preserves the old core transition type (so if you hit "back" to go back to a page that was originally classified as 0x1, it keeps the 0x1 part) but ORs it with a 0x1000000 qualifier (indicating this was a forward/back button navigation).  So you get 0x1000001.

To detect link clicks, it's necessary to do 2 things:
1) check that the core type of the transition is ui::PAGE_TRANSITION_LINK;
2) check that the transition is unqualified (which means it wasn't triggered by a click on the forward/back button, or by typing in the URL bar, or redirects, etc etc).
Project Member

Comment 2 by bugdroid1@chromium.org, Jul 22 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ef206ad2f2bd182205b4adb5580c00e7967c4fd8

commit ef206ad2f2bd182205b4adb5580c00e7967c4fd8
Author: kenobi <kenobi@chromium.org>
Date: Fri Jul 22 20:49:28 2016

[arc-intents] Adjust link-click detection code.

Use the page transition, which seems more reliable, rather than the
HasUserGesture method, to detect whether a given navigation event was
spawned by the user clicking on a link.

BUG= 630072 

Review-Url: https://codereview.chromium.org/2165193002
Cr-Commit-Position: refs/heads/master@{#407256}

[modify] https://crrev.com/ef206ad2f2bd182205b4adb5580c00e7967c4fd8/chrome/browser/chromeos/arc/arc_navigation_throttle.cc

Comment 3 by kenobi@chromium.org, Jul 22 2016

Labels: Merge-Request-53 M-53

Comment 4 by dimu@chromium.org, Jul 23 2016

Labels: -Merge-Request-53 Merge-Approved-53 Hotlist-Merge-Approved
Your change meets the bar and is auto-approved for M53 (branch: 2785)
Project Member

Comment 5 by bugdroid1@chromium.org, Jul 25 2016

Labels: -merge-approved-53 merge-merged-2785
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3c5f09f8ae5b75efe1b6da05a746a0bbd41a8be7

commit 3c5f09f8ae5b75efe1b6da05a746a0bbd41a8be7
Author: Ben Kwa <kenobi@google.com>
Date: Mon Jul 25 15:33:01 2016

[arc-intents] Adjust link-click detection code.

Use the page transition, which seems more reliable, rather than the
HasUserGesture method, to detect whether a given navigation event was
spawned by the user clicking on a link.

BUG= 630072 

Review-Url: https://codereview.chromium.org/2165193002
Cr-Commit-Position: refs/heads/master@{#407256}
(cherry picked from commit ef206ad2f2bd182205b4adb5580c00e7967c4fd8)

Review URL: https://codereview.chromium.org/2175353002 .

Cr-Commit-Position: refs/branch-heads/2785@{#327}
Cr-Branched-From: 68623971be0cfc492a2cb0427d7f478e7b214c24-refs/heads/master@{#403382}

[modify] https://crrev.com/3c5f09f8ae5b75efe1b6da05a746a0bbd41a8be7/chrome/browser/chromeos/arc/arc_navigation_throttle.cc

Comment 6 by kenobi@chromium.org, Jul 27 2016

Status: Fixed (was: Assigned)

Comment 7 by dchan@google.com, Jan 21 2017

Labels: VerifyIn-57

Comment 8 by dchan@google.com, Mar 4 2017

Labels: VerifyIn-58

Comment 9 by dchan@google.com, Apr 17 2017

Labels: VerifyIn-59

Comment 10 by dchan@google.com, May 30 2017

Labels: VerifyIn-60
Labels: VerifyIn-61

Comment 12 by dchan@chromium.org, Oct 14 2017

Status: Archived (was: Fixed)

Sign in to add a comment