Interactive link disambiguation

27 views
Skip to first unread message

Tien-Ren Chen

unread,
May 14, 2012, 6:53:08 PM5/14/12
to Chromium-dev
This mail is discussing about the feature that popups a magnified
document area for accurate selecting when multiple touch targets are
nearby a tap gesture.

Hello chromium-dev,
I'm working on upstreaming the interactive link disambiguation (a.k.a.
on-demand zoom) code in Chrome for Android.
As far as I know, there are some other platforms who also need this
feature, namely Windows 8, Chrome OS, and perhaps more. I'm trying to
collect suggestions / comments from you to make sure we have an
implementation that satisfies all requirements and we don't waste time
doing duplicated effort.

As a short summary (in concept, not 100% accurate), here is how we do
it in Android currently:

A new IPC ViewHostMsh_MultipleTargetsTouched is defined.

The WebKit side (WebViewImpl): Implements a function that does
relaxed hit-test and calculates the touch targets from result nodes.
(The function is currently named getTouchHighlightQuads for historical
reason) The function also calculates the bounding boxes of the touch
targets.

The embdder side (RenderViewImpl): Upon receiving a tap gesture, use
the function mentioned above to see if there are multiple possible
touch targets. If so, obtain the bounding boxes of the targets and
calculate a reasonable area for zooming into. Calls into WebViewImpl
again to paint a magnified version of the area through software path,
by passing in a pre-scaled Canvas. Send
ViewHostMsg_MultipleTargetsTouched with the newly painted bitmap and
the bounding box.

The browser side (Java, class ChromeView): Responds to
ViewHostMsg_MultipleTargetsTouched IPC by creating a sub-View that
overlays on top of normal contents, and hijack all gesture events.
When user taps on the popup, a synthetic tap event a generated as if
the user taps on the original document.

I started a design doc for discussion (http://goo.gl/YkJFL), please
edit/comment on the doc in addition to replying this message.

Thanks!
Tien-Ren

Rick Byers

unread,
May 15, 2012, 11:12:40 AM5/15/12
to trc...@chromium.org, Chromium-dev, Robert Kroeger, Terry Anderson, Alexander Kuscher, W. James Maclean
Excellent, I'm glad to hear you're starting to work on this!  If you haven't already please make sure you sync up with:

tdanderson@ - he's in the process of landing 'tap target fuzzing' - see crbug.com/122190
rjkroege@ TL for ChromeOS touch
kuscher@ PM for ChromeOS touch, can help ensure we have a single UI everyone agrees on

Rick

Tien-Ren

--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
   http://groups.google.com/a/chromium.org/group/chromium-dev

Reply all
Reply to author
Forward
0 new messages