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

Issue 754862 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Mar 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug

Blocked on:
issue 818897

Blocking:
issue 799567
issue 723194



Sign in to add a comment

[TTS] Get the rectangle of the word tapped and run-length in ShowUnhandledTapUiIfNeeded

Project Member Reported by donnd@google.com, Aug 11 2017

Issue description

To improve triggering of Contextual Search it would be helpful to get the rectangle of the word tapped.  It would also be useful to know the length of the text run that was tapped.  These can be used as signals for tap suppression on the client.

A first-cut at this was done in CL https://chromium-review.googlesource.com/c/569564 and Yoichi suggested adding an info-bundle to the message so we can update that independently of the whole call chain for ShowUnhandledTapUiIfNeeded.

Does this seem reasonable to everyone?  If so, let's do a mini-design on this approach here before updating the CL 569564 that was used as a proof of concept.

Thanks!
 

Comment 1 by donnd@google.com, Aug 11 2017

Blocking: 723194

Comment 2 by donnd@google.com, Aug 11 2017

Summary: [TTS] Get the rectangle of the word tapped and run-length in ShowUnhandledTapUiIfNeeded (was: [TTS] Get the rectangle of the word tapped in ShowUnhandledTapUiIfNeeded)
Some background about why this data can be useful:
* The rectangle of the word tapped tells us a lot about the page and the value of the tap.  A tap far from the middle of large text is probably accidental, but close to the middle is probably deliberate.  A tap on very small text should probably be ignored regardless.
* The run-length of the text tapped tells us whether the element is likely part of the main body of the document or some control.  Short runs of text may be directly positioned controls, where text that's in the flow of a long run is rich document text.  We'd like to do additional suppression on the short text.  A signal for absolute/relative position or in the flow/not in the flow may be useful  Longer text may have style changes, but if these can be filtered out and the overall text run length returned that seems like a good proxy for page-body vs page-control.

There could be a separate GetTapInfo() method that returns this info, but it seems like have a separate IPC for this just complicates and slows down Clank, so integrating with ShowUnhandledTapUiIfNeeded makes more sense to me.

Comment 3 by rbyers@chromium.org, Aug 17 2017

Cc: e...@chromium.org
Yeah if it's really specifically about the tap (i.e. what WORD was tapped, not just properties of the WebNode or the selection) then adding more to ShowUnhandledTapUiIfNeeded is probably the better choice.

Words aren't always rectangles though (eg. hyphenation), right?  Yoichio or eae@ would know more about what properties of pieces of text make sense to expose outside blink.

Is the rectangle useful on it's own or do you also need some information of the font size (either that or report the sizes in 'em' units or something)

You'll of course need to define what this API returns when tapping on non-text nodes, and write tests for a variety of the interesting cases.
We might have
 ShowUnhandledTapUIIfNeeded(const WebTapedInfo& tapped_info);
and
 class BLINK_EXPORT WebTapedInfo {
const WebPoint& Position(),
const WebNode& Node(),
bool PageChanged();
// Some additional flags
// const WebSelection& Selection() ?
// size_t TextLength() ?
};


 

Comment 5 by donnd@google.com, Aug 23 2017

Cc: aelias@chromium.org
Rick and Yoichi, thanks a lot for the great suggestions!

I'm going to start with encapsulating the current Blink parameters with minimal changes to Chrome and WebView.  First-cut cl sent to Yoichi for review and advice (CL https://chromium-review.googlesource.com/c/chromium/src/+/630576).

> Words aren't always rectangles though (eg. hyphenation), right?  Yoichio or eae@ would know more about what properties of pieces of text make sense to expose outside blink.
For now I'll just refer to these as words or word-fragments (feel free to suggest something better).

aelias@ QQ: I'm bundling the params for ShowUnhandledTapUIIfNeeded at the Blink level, but I don't know how best to encapsulate them on the Chrome side.  Currently they get unpacked by the renderer and then sent across to the browser, and it would be nice to bundle them up there too.  Do you happen to know of existing code that does this that I can use as an example? 

Comment 6 by donnd@google.com, Aug 25 2017

Cc: dglazkov@chromium.org
I figured out the questions I was asking and now have an initial CL ready to review and land that just repackages the parameters to ShowUnhandledTapUIIfNeeded into a separate class:
Header: third_party/WebKit/public/web/WebTappedInfo.h
Source: third_party/WebKit/Source/core/exported/WebTappedInfo.cpp
CL: https://chromium-review.googlesource.com/c/chromium/src/+/630576

Next I'd like to add some new signals in the simplest way possible -- I'm thinking to just use a few integers instead of trying to find the bounding box of the word-fragment tapped (I don't know how to do that -- if someone does let me know!).

Comment 7 by donnd@google.com, Aug 25 2017

Cc: -aelias@chromium.org
Project Member

Comment 8 by bugdroid1@chromium.org, Aug 29 2017

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

commit 43a439e1581025ce48200f76447295eb980eff0f
Author: Donn Denman <donnd@google.com>
Date: Tue Aug 29 04:20:45 2017

[TTS] Condense ShowUnhandledTapUIIfNeeded params.

Encapsulates the parameters to ShowUnhandledTapUIIfNeeded
within Blink and pipes that through to Chrome and WebView.

This allows adding new tap-related signals for the clients
of ShowUnhandledTapUIIfNeeded without needing to make changes
through multiple layers of Blink or Chrome code.

BUG= 754862 

Change-Id: Ieb71f9442d75f6d439ce64d5db633be9d1d6c3f5
Reviewed-on: https://chromium-review.googlesource.com/630576
Reviewed-by: Yoichi Osato <yoichio@chromium.org>
Reviewed-by: Dimitri Glazkov <dglazkov@chromium.org>
Commit-Queue: Donn Denman <donnd@chromium.org>
Cr-Commit-Position: refs/heads/master@{#498021}
[modify] https://crrev.com/43a439e1581025ce48200f76447295eb980eff0f/content/renderer/render_view_impl.cc
[modify] https://crrev.com/43a439e1581025ce48200f76447295eb980eff0f/content/renderer/render_view_impl.h
[modify] https://crrev.com/43a439e1581025ce48200f76447295eb980eff0f/content/renderer/render_widget.cc
[modify] https://crrev.com/43a439e1581025ce48200f76447295eb980eff0f/content/renderer/render_widget.h
[modify] https://crrev.com/43a439e1581025ce48200f76447295eb980eff0f/third_party/WebKit/Source/core/exported/BUILD.gn
[add] https://crrev.com/43a439e1581025ce48200f76447295eb980eff0f/third_party/WebKit/Source/core/exported/WebTappedInfo.cpp
[modify] https://crrev.com/43a439e1581025ce48200f76447295eb980eff0f/third_party/WebKit/Source/core/exported/WebViewTest.cpp
[modify] https://crrev.com/43a439e1581025ce48200f76447295eb980eff0f/third_party/WebKit/Source/core/input/GestureManager.cpp
[modify] https://crrev.com/43a439e1581025ce48200f76447295eb980eff0f/third_party/WebKit/Source/core/page/ChromeClient.h
[modify] https://crrev.com/43a439e1581025ce48200f76447295eb980eff0f/third_party/WebKit/Source/core/page/ChromeClientImpl.cpp
[modify] https://crrev.com/43a439e1581025ce48200f76447295eb980eff0f/third_party/WebKit/Source/core/page/ChromeClientImpl.h
[add] https://crrev.com/43a439e1581025ce48200f76447295eb980eff0f/third_party/WebKit/public/web/WebTappedInfo.h
[modify] https://crrev.com/43a439e1581025ce48200f76447295eb980eff0f/third_party/WebKit/public/web/WebViewClient.h
[modify] https://crrev.com/43a439e1581025ce48200f76447295eb980eff0f/third_party/WebKit/public/web/WebWidgetClient.h

I would like for y'all to consider switching this plumbing to use mojo as part of this work. This is something we're doing team-wide and since you're working on this code, it may be a good time to get this done.

Comment 10 by donnd@google.com, Aug 29 2017

I was just thinking of the many benefits of switching to mojo. We'll give it a try. Yesterday I looked at the IPC To Mojo IPC Cheat Sheet, and will review the Mojo migration guide today.  

If there's a good example CL in the code that anyone happens to know of please post it here.  


Comment 11 by donnd@google.com, Jan 6 2018

Blocking: 799567

Comment 12 by donnd@google.com, Feb 14 2018

Issue 531761 has been merged into this issue.
Project Member

Comment 13 by bugdroid1@chromium.org, Mar 2 2018

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

commit f3af7e37398b492a65594e12834af9ee6a56ee9e
Author: Donn Denman <donnd@google.com>
Date: Fri Mar 02 21:25:44 2018

[TTS] mojo-ify ShowUnhandleTapUIIfNeeded.

Replaces the whole call chain for ShowUnhandledTapUIIfNeeded
between Blink and Chrome/WebView with Mojo messaging.

Removes the Blink WebTappedInfo class in favor of a new UnhandledTapInfo
that sends a Mojo construct of the same name to the Browser which
has a service installed via a RenderHostFrame observer.

All functionality should remain unchanged.

NEW CODE:
The CSTabHelper now creates an UnhandledTapWebContentsObserver that
connects the Mojo service via UnhandledTapNotifierImpl.  That Impl
calls back through Java to the CSTabHelper to the CSManager to notify
that a Tap has occurred.  The CSTabHelper ignores these notifications
when CS is disabled.

The mojo message is only sent to the browser if the tap is unhandled
and the other required conditions are met.

UPDATED TESTS:
Test notification is now done through mojo messaging, so we now only
know if the tap was unhandled, not whether the page changed or other
details about why the tap was unhandled.

Updated the test page by adding nodes that do not trigger, and removed
the mousemove handler since it's unrelated to tap handling.

BUG= 754862 

Change-Id: I18111f2537cfb16a4523d7f0cc766037fbf6050a
Reviewed-on: https://chromium-review.googlesource.com/841544
Reviewed-by: Yoichi Osato <yoichio@chromium.org>
Reviewed-by: Theresa <twellington@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Yaron Friedman <yfriedman@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#540629}
[modify] https://crrev.com/f3af7e37398b492a65594e12834af9ee6a56ee9e/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchManager.java
[modify] https://crrev.com/f3af7e37398b492a65594e12834af9ee6a56ee9e/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchTabHelper.java
[modify] https://crrev.com/f3af7e37398b492a65594e12834af9ee6a56ee9e/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/SelectionClientManager.java
[modify] https://crrev.com/f3af7e37398b492a65594e12834af9ee6a56ee9e/chrome/android/javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchTapEventTest.java
[modify] https://crrev.com/f3af7e37398b492a65594e12834af9ee6a56ee9e/chrome/android/junit/src/org/chromium/chrome/browser/contextualsearch/SelectionClientManagerTest.java
[modify] https://crrev.com/f3af7e37398b492a65594e12834af9ee6a56ee9e/chrome/browser/BUILD.gn
[modify] https://crrev.com/f3af7e37398b492a65594e12834af9ee6a56ee9e/chrome/browser/android/DEPS
[modify] https://crrev.com/f3af7e37398b492a65594e12834af9ee6a56ee9e/chrome/browser/android/contextualsearch/contextual_search_manager.cc
[modify] https://crrev.com/f3af7e37398b492a65594e12834af9ee6a56ee9e/chrome/browser/android/contextualsearch/contextual_search_tab_helper.cc
[modify] https://crrev.com/f3af7e37398b492a65594e12834af9ee6a56ee9e/chrome/browser/android/contextualsearch/contextual_search_tab_helper.h
[add] https://crrev.com/f3af7e37398b492a65594e12834af9ee6a56ee9e/chrome/browser/android/contextualsearch/unhandled_tap_notifier_impl.cc
[add] https://crrev.com/f3af7e37398b492a65594e12834af9ee6a56ee9e/chrome/browser/android/contextualsearch/unhandled_tap_notifier_impl.h
[add] https://crrev.com/f3af7e37398b492a65594e12834af9ee6a56ee9e/chrome/browser/android/contextualsearch/unhandled_tap_web_contents_observer.cc
[add] https://crrev.com/f3af7e37398b492a65594e12834af9ee6a56ee9e/chrome/browser/android/contextualsearch/unhandled_tap_web_contents_observer.h
[modify] https://crrev.com/f3af7e37398b492a65594e12834af9ee6a56ee9e/content/browser/android/selection_popup_controller.cc
[modify] https://crrev.com/f3af7e37398b492a65594e12834af9ee6a56ee9e/content/browser/android/selection_popup_controller.h
[modify] https://crrev.com/f3af7e37398b492a65594e12834af9ee6a56ee9e/content/browser/renderer_host/render_widget_host_view_android.cc
[modify] https://crrev.com/f3af7e37398b492a65594e12834af9ee6a56ee9e/content/browser/renderer_host/render_widget_host_view_android.h
[modify] https://crrev.com/f3af7e37398b492a65594e12834af9ee6a56ee9e/content/common/view_messages.h
[modify] https://crrev.com/f3af7e37398b492a65594e12834af9ee6a56ee9e/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
[modify] https://crrev.com/f3af7e37398b492a65594e12834af9ee6a56ee9e/content/public/android/java/src/org/chromium/content/browser/selection/SmartSelectionClient.java
[modify] https://crrev.com/f3af7e37398b492a65594e12834af9ee6a56ee9e/content/public/android/java/src/org/chromium/content_public/browser/SelectionClient.java
[modify] https://crrev.com/f3af7e37398b492a65594e12834af9ee6a56ee9e/content/public/android/javatests/src/org/chromium/content/browser/ContentViewCoreSelectionTest.java
[modify] https://crrev.com/f3af7e37398b492a65594e12834af9ee6a56ee9e/content/public/android/junit/src/org/chromium/content/browser/selection/SelectionPopupControllerTest.java
[modify] https://crrev.com/f3af7e37398b492a65594e12834af9ee6a56ee9e/content/public/app/mojo/content_browser_manifest.json
[modify] https://crrev.com/f3af7e37398b492a65594e12834af9ee6a56ee9e/content/renderer/render_view_impl.cc
[modify] https://crrev.com/f3af7e37398b492a65594e12834af9ee6a56ee9e/content/renderer/render_view_impl.h
[modify] https://crrev.com/f3af7e37398b492a65594e12834af9ee6a56ee9e/content/renderer/render_widget.cc
[modify] https://crrev.com/f3af7e37398b492a65594e12834af9ee6a56ee9e/content/renderer/render_widget.h
[modify] https://crrev.com/f3af7e37398b492a65594e12834af9ee6a56ee9e/third_party/WebKit/Source/core/DEPS
[modify] https://crrev.com/f3af7e37398b492a65594e12834af9ee6a56ee9e/third_party/WebKit/Source/core/exported/BUILD.gn
[delete] https://crrev.com/f262dcd39cd2976372d52af9fbfaab791284dbbf/third_party/WebKit/Source/core/exported/WebTappedInfo.cpp
[modify] https://crrev.com/f3af7e37398b492a65594e12834af9ee6a56ee9e/third_party/WebKit/Source/core/exported/WebViewTest.cpp
[modify] https://crrev.com/f3af7e37398b492a65594e12834af9ee6a56ee9e/third_party/WebKit/Source/core/input/GestureManager.cpp
[modify] https://crrev.com/f3af7e37398b492a65594e12834af9ee6a56ee9e/third_party/WebKit/Source/core/input/GestureManager.h
[modify] https://crrev.com/f3af7e37398b492a65594e12834af9ee6a56ee9e/third_party/WebKit/Source/core/page/ChromeClient.h
[modify] https://crrev.com/f3af7e37398b492a65594e12834af9ee6a56ee9e/third_party/WebKit/Source/core/page/ChromeClientImpl.cpp
[modify] https://crrev.com/f3af7e37398b492a65594e12834af9ee6a56ee9e/third_party/WebKit/Source/core/page/ChromeClientImpl.h
[modify] https://crrev.com/f3af7e37398b492a65594e12834af9ee6a56ee9e/third_party/WebKit/Source/core/testing/data/show_unhandled_tap.html
[modify] https://crrev.com/f3af7e37398b492a65594e12834af9ee6a56ee9e/third_party/WebKit/public/BUILD.gn
[add] https://crrev.com/f3af7e37398b492a65594e12834af9ee6a56ee9e/third_party/WebKit/public/platform/unhandled_tap_notifier.mojom
[modify] https://crrev.com/f3af7e37398b492a65594e12834af9ee6a56ee9e/third_party/WebKit/public/public_features.gni
[delete] https://crrev.com/f262dcd39cd2976372d52af9fbfaab791284dbbf/third_party/WebKit/public/web/WebTappedInfo.h
[modify] https://crrev.com/f3af7e37398b492a65594e12834af9ee6a56ee9e/third_party/WebKit/public/web/WebViewClient.h
[modify] https://crrev.com/f3af7e37398b492a65594e12834af9ee6a56ee9e/third_party/WebKit/public/web/WebWidgetClient.h

Project Member

Comment 14 by bugdroid1@chromium.org, Mar 3 2018

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

commit 52e08bd1ea85e5553129c14561b26c99d31211ca
Author: Andrew Grieve <agrieve@chromium.org>
Date: Sat Mar 03 03:27:33 2018

Revert "[TTS] mojo-ify ShowUnhandleTapUIIfNeeded."

This reverts commit f3af7e37398b492a65594e12834af9ee6a56ee9e.

Reason for revert: Broke ContextualSearchManagerTest#testTapALotDLD

Original change's description:
> [TTS] mojo-ify ShowUnhandleTapUIIfNeeded.
>
> Replaces the whole call chain for ShowUnhandledTapUIIfNeeded
> between Blink and Chrome/WebView with Mojo messaging.
>
> Removes the Blink WebTappedInfo class in favor of a new UnhandledTapInfo
> that sends a Mojo construct of the same name to the Browser which
> has a service installed via a RenderHostFrame observer.
>
> All functionality should remain unchanged.
>
> NEW CODE:
> The CSTabHelper now creates an UnhandledTapWebContentsObserver that
> connects the Mojo service via UnhandledTapNotifierImpl.  That Impl
> calls back through Java to the CSTabHelper to the CSManager to notify
> that a Tap has occurred.  The CSTabHelper ignores these notifications
> when CS is disabled.
>
> The mojo message is only sent to the browser if the tap is unhandled
> and the other required conditions are met.
>
> UPDATED TESTS:
> Test notification is now done through mojo messaging, so we now only
> know if the tap was unhandled, not whether the page changed or other
> details about why the tap was unhandled.
>
> Updated the test page by adding nodes that do not trigger, and removed
> the mousemove handler since it's unrelated to tap handling.
>
> BUG= 754862 
>
> Change-Id: I18111f2537cfb16a4523d7f0cc766037fbf6050a
> Reviewed-on: https://chromium-review.googlesource.com/841544
> Reviewed-by: Yoichi Osato <yoichio@chromium.org>
> Reviewed-by: Theresa <twellington@chromium.org>
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Reviewed-by: Yaron Friedman <yfriedman@chromium.org>
> Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#540629}

TBR=dcheng@chromium.org,kinuko@chromium.org,yfriedman@chromium.org,rockot@chromium.org,donnd@chromium.org,yoichio@chromium.org,twellington@chromium.org

Change-Id: Ib65533422cef13b6231dba93990b4e5cac77adba
Bug:  754862 , 818374
Reviewed-on: https://chromium-review.googlesource.com/947642
Commit-Queue: agrieve <agrieve@chromium.org>
Reviewed-by: agrieve <agrieve@chromium.org>
Cr-Commit-Position: refs/heads/master@{#540738}
[modify] https://crrev.com/52e08bd1ea85e5553129c14561b26c99d31211ca/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchManager.java
[modify] https://crrev.com/52e08bd1ea85e5553129c14561b26c99d31211ca/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchTabHelper.java
[modify] https://crrev.com/52e08bd1ea85e5553129c14561b26c99d31211ca/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/SelectionClientManager.java
[modify] https://crrev.com/52e08bd1ea85e5553129c14561b26c99d31211ca/chrome/android/javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchTapEventTest.java
[modify] https://crrev.com/52e08bd1ea85e5553129c14561b26c99d31211ca/chrome/android/junit/src/org/chromium/chrome/browser/contextualsearch/SelectionClientManagerTest.java
[modify] https://crrev.com/52e08bd1ea85e5553129c14561b26c99d31211ca/chrome/browser/BUILD.gn
[modify] https://crrev.com/52e08bd1ea85e5553129c14561b26c99d31211ca/chrome/browser/android/DEPS
[modify] https://crrev.com/52e08bd1ea85e5553129c14561b26c99d31211ca/chrome/browser/android/contextualsearch/contextual_search_manager.cc
[modify] https://crrev.com/52e08bd1ea85e5553129c14561b26c99d31211ca/chrome/browser/android/contextualsearch/contextual_search_tab_helper.cc
[modify] https://crrev.com/52e08bd1ea85e5553129c14561b26c99d31211ca/chrome/browser/android/contextualsearch/contextual_search_tab_helper.h
[delete] https://crrev.com/3b60ebec5fa7ffb774508b74c3950d4329d208b4/chrome/browser/android/contextualsearch/unhandled_tap_notifier_impl.cc
[delete] https://crrev.com/3b60ebec5fa7ffb774508b74c3950d4329d208b4/chrome/browser/android/contextualsearch/unhandled_tap_notifier_impl.h
[delete] https://crrev.com/3b60ebec5fa7ffb774508b74c3950d4329d208b4/chrome/browser/android/contextualsearch/unhandled_tap_web_contents_observer.cc
[delete] https://crrev.com/3b60ebec5fa7ffb774508b74c3950d4329d208b4/chrome/browser/android/contextualsearch/unhandled_tap_web_contents_observer.h
[modify] https://crrev.com/52e08bd1ea85e5553129c14561b26c99d31211ca/content/browser/android/selection_popup_controller.cc
[modify] https://crrev.com/52e08bd1ea85e5553129c14561b26c99d31211ca/content/browser/android/selection_popup_controller.h
[modify] https://crrev.com/52e08bd1ea85e5553129c14561b26c99d31211ca/content/browser/renderer_host/render_widget_host_view_android.cc
[modify] https://crrev.com/52e08bd1ea85e5553129c14561b26c99d31211ca/content/browser/renderer_host/render_widget_host_view_android.h
[modify] https://crrev.com/52e08bd1ea85e5553129c14561b26c99d31211ca/content/common/view_messages.h
[modify] https://crrev.com/52e08bd1ea85e5553129c14561b26c99d31211ca/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
[modify] https://crrev.com/52e08bd1ea85e5553129c14561b26c99d31211ca/content/public/android/java/src/org/chromium/content/browser/selection/SmartSelectionClient.java
[modify] https://crrev.com/52e08bd1ea85e5553129c14561b26c99d31211ca/content/public/android/java/src/org/chromium/content_public/browser/SelectionClient.java
[modify] https://crrev.com/52e08bd1ea85e5553129c14561b26c99d31211ca/content/public/android/javatests/src/org/chromium/content/browser/ContentViewCoreSelectionTest.java
[modify] https://crrev.com/52e08bd1ea85e5553129c14561b26c99d31211ca/content/public/android/junit/src/org/chromium/content/browser/selection/SelectionPopupControllerTest.java
[modify] https://crrev.com/52e08bd1ea85e5553129c14561b26c99d31211ca/content/public/app/mojo/content_browser_manifest.json
[modify] https://crrev.com/52e08bd1ea85e5553129c14561b26c99d31211ca/content/renderer/render_view_impl.cc
[modify] https://crrev.com/52e08bd1ea85e5553129c14561b26c99d31211ca/content/renderer/render_view_impl.h
[modify] https://crrev.com/52e08bd1ea85e5553129c14561b26c99d31211ca/content/renderer/render_widget.cc
[modify] https://crrev.com/52e08bd1ea85e5553129c14561b26c99d31211ca/content/renderer/render_widget.h
[modify] https://crrev.com/52e08bd1ea85e5553129c14561b26c99d31211ca/third_party/WebKit/Source/core/DEPS
[modify] https://crrev.com/52e08bd1ea85e5553129c14561b26c99d31211ca/third_party/WebKit/Source/core/exported/BUILD.gn
[add] https://crrev.com/52e08bd1ea85e5553129c14561b26c99d31211ca/third_party/WebKit/Source/core/exported/WebTappedInfo.cpp
[modify] https://crrev.com/52e08bd1ea85e5553129c14561b26c99d31211ca/third_party/WebKit/Source/core/exported/WebViewTest.cpp
[modify] https://crrev.com/52e08bd1ea85e5553129c14561b26c99d31211ca/third_party/WebKit/Source/core/input/GestureManager.cpp
[modify] https://crrev.com/52e08bd1ea85e5553129c14561b26c99d31211ca/third_party/WebKit/Source/core/input/GestureManager.h
[modify] https://crrev.com/52e08bd1ea85e5553129c14561b26c99d31211ca/third_party/WebKit/Source/core/page/ChromeClient.h
[modify] https://crrev.com/52e08bd1ea85e5553129c14561b26c99d31211ca/third_party/WebKit/Source/core/page/ChromeClientImpl.cpp
[modify] https://crrev.com/52e08bd1ea85e5553129c14561b26c99d31211ca/third_party/WebKit/Source/core/page/ChromeClientImpl.h
[modify] https://crrev.com/52e08bd1ea85e5553129c14561b26c99d31211ca/third_party/WebKit/Source/core/testing/data/show_unhandled_tap.html
[modify] https://crrev.com/52e08bd1ea85e5553129c14561b26c99d31211ca/third_party/WebKit/public/BUILD.gn
[delete] https://crrev.com/3b60ebec5fa7ffb774508b74c3950d4329d208b4/third_party/WebKit/public/platform/unhandled_tap_notifier.mojom
[modify] https://crrev.com/52e08bd1ea85e5553129c14561b26c99d31211ca/third_party/WebKit/public/public_features.gni
[add] https://crrev.com/52e08bd1ea85e5553129c14561b26c99d31211ca/third_party/WebKit/public/web/WebTappedInfo.h
[modify] https://crrev.com/52e08bd1ea85e5553129c14561b26c99d31211ca/third_party/WebKit/public/web/WebViewClient.h
[modify] https://crrev.com/52e08bd1ea85e5553129c14561b26c99d31211ca/third_party/WebKit/public/web/WebWidgetClient.h

Comment 15 by donnd@google.com, Mar 6 2018

Blockedon: 818897
Project Member

Comment 16 by bugdroid1@chromium.org, Mar 7 2018

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

commit ba4d1c49e07674cd231602aefff33b37064c4219
Author: Donn Denman <donnd@google.com>
Date: Wed Mar 07 20:47:33 2018

[TTS] reland mojo-ify ShowUnhandleTapUIIfNeeded.

Replaces the whole call chain for ShowUnhandledTapUIIfNeeded
between Blink and Chrome/WebView with Mojo messaging.

Removes the Blink WebTappedInfo class in favor of a new UnhandledTapInfo
that sends a Mojo construct of the same name to the Browser which
has a service installed via a RenderHostFrame observer.

All functionality should remain unchanged.

NEW CODE:
The CSTabHelper now creates an UnhandledTapWebContentsObserver that
connects the Mojo service via UnhandledTapNotifierImpl.  That Impl
calls back through Java to the CSTabHelper to the CSManager to notify
that a Tap has occurred.  The CSTabHelper ignores these notifications
when CS is disabled.

The mojo message is only sent to the browser if the tap is unhandled
and the other required conditions are met.

UPDATED TESTS:
Test notification is now done through mojo messaging, so we now only
know if the tap was unhandled, not whether the page changed or other
details about why the tap was unhandled.

Updated the test page by adding nodes that do not trigger, and removed
the mousemove handler since it's unrelated to tap handling.

BUG= 754862 

TBR=dcheng@chromium, yfriedman@chromium.org, kinuko@chromium.org

Original CL:

Reviewed-on: https://chromium-review.googlesource.com/841544
Reviewed-by: Yoichi Osato <yoichio@chromium.org>
Reviewed-by: Theresa <twellington@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Yaron Friedman <yfriedman@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Change-Id: I824837419cd4116b26b32170009e7a7c3308d109
Reviewed-on: https://chromium-review.googlesource.com/952679
Commit-Queue: Donn Denman <donnd@chromium.org>
Cr-Commit-Position: refs/heads/master@{#541569}
[modify] https://crrev.com/ba4d1c49e07674cd231602aefff33b37064c4219/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchManager.java
[modify] https://crrev.com/ba4d1c49e07674cd231602aefff33b37064c4219/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchTabHelper.java
[modify] https://crrev.com/ba4d1c49e07674cd231602aefff33b37064c4219/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/SelectionClientManager.java
[modify] https://crrev.com/ba4d1c49e07674cd231602aefff33b37064c4219/chrome/android/javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchTapEventTest.java
[modify] https://crrev.com/ba4d1c49e07674cd231602aefff33b37064c4219/chrome/android/junit/src/org/chromium/chrome/browser/contextualsearch/SelectionClientManagerTest.java
[modify] https://crrev.com/ba4d1c49e07674cd231602aefff33b37064c4219/chrome/browser/BUILD.gn
[modify] https://crrev.com/ba4d1c49e07674cd231602aefff33b37064c4219/chrome/browser/android/DEPS
[modify] https://crrev.com/ba4d1c49e07674cd231602aefff33b37064c4219/chrome/browser/android/contextualsearch/contextual_search_manager.cc
[modify] https://crrev.com/ba4d1c49e07674cd231602aefff33b37064c4219/chrome/browser/android/contextualsearch/contextual_search_tab_helper.cc
[modify] https://crrev.com/ba4d1c49e07674cd231602aefff33b37064c4219/chrome/browser/android/contextualsearch/contextual_search_tab_helper.h
[add] https://crrev.com/ba4d1c49e07674cd231602aefff33b37064c4219/chrome/browser/android/contextualsearch/unhandled_tap_notifier_impl.cc
[add] https://crrev.com/ba4d1c49e07674cd231602aefff33b37064c4219/chrome/browser/android/contextualsearch/unhandled_tap_notifier_impl.h
[add] https://crrev.com/ba4d1c49e07674cd231602aefff33b37064c4219/chrome/browser/android/contextualsearch/unhandled_tap_web_contents_observer.cc
[add] https://crrev.com/ba4d1c49e07674cd231602aefff33b37064c4219/chrome/browser/android/contextualsearch/unhandled_tap_web_contents_observer.h
[modify] https://crrev.com/ba4d1c49e07674cd231602aefff33b37064c4219/content/browser/android/selection_popup_controller.cc
[modify] https://crrev.com/ba4d1c49e07674cd231602aefff33b37064c4219/content/browser/android/selection_popup_controller.h
[modify] https://crrev.com/ba4d1c49e07674cd231602aefff33b37064c4219/content/browser/renderer_host/render_widget_host_view_android.cc
[modify] https://crrev.com/ba4d1c49e07674cd231602aefff33b37064c4219/content/browser/renderer_host/render_widget_host_view_android.h
[modify] https://crrev.com/ba4d1c49e07674cd231602aefff33b37064c4219/content/common/view_messages.h
[modify] https://crrev.com/ba4d1c49e07674cd231602aefff33b37064c4219/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
[modify] https://crrev.com/ba4d1c49e07674cd231602aefff33b37064c4219/content/public/android/java/src/org/chromium/content/browser/selection/SmartSelectionClient.java
[modify] https://crrev.com/ba4d1c49e07674cd231602aefff33b37064c4219/content/public/android/java/src/org/chromium/content_public/browser/SelectionClient.java
[modify] https://crrev.com/ba4d1c49e07674cd231602aefff33b37064c4219/content/public/android/javatests/src/org/chromium/content/browser/ContentViewCoreSelectionTest.java
[modify] https://crrev.com/ba4d1c49e07674cd231602aefff33b37064c4219/content/public/android/junit/src/org/chromium/content/browser/selection/SelectionPopupControllerTest.java
[modify] https://crrev.com/ba4d1c49e07674cd231602aefff33b37064c4219/content/public/app/mojo/content_browser_manifest.json
[modify] https://crrev.com/ba4d1c49e07674cd231602aefff33b37064c4219/content/renderer/render_view_impl.cc
[modify] https://crrev.com/ba4d1c49e07674cd231602aefff33b37064c4219/content/renderer/render_view_impl.h
[modify] https://crrev.com/ba4d1c49e07674cd231602aefff33b37064c4219/content/renderer/render_widget.cc
[modify] https://crrev.com/ba4d1c49e07674cd231602aefff33b37064c4219/content/renderer/render_widget.h
[modify] https://crrev.com/ba4d1c49e07674cd231602aefff33b37064c4219/third_party/WebKit/Source/core/DEPS
[modify] https://crrev.com/ba4d1c49e07674cd231602aefff33b37064c4219/third_party/WebKit/Source/core/exported/BUILD.gn
[delete] https://crrev.com/a7596aa1a5efc11d9814dbe41b669c03f145565d/third_party/WebKit/Source/core/exported/WebTappedInfo.cpp
[modify] https://crrev.com/ba4d1c49e07674cd231602aefff33b37064c4219/third_party/WebKit/Source/core/exported/WebViewTest.cpp
[modify] https://crrev.com/ba4d1c49e07674cd231602aefff33b37064c4219/third_party/WebKit/Source/core/input/GestureManager.cpp
[modify] https://crrev.com/ba4d1c49e07674cd231602aefff33b37064c4219/third_party/WebKit/Source/core/input/GestureManager.h
[modify] https://crrev.com/ba4d1c49e07674cd231602aefff33b37064c4219/third_party/WebKit/Source/core/page/ChromeClient.h
[modify] https://crrev.com/ba4d1c49e07674cd231602aefff33b37064c4219/third_party/WebKit/Source/core/page/ChromeClientImpl.cpp
[modify] https://crrev.com/ba4d1c49e07674cd231602aefff33b37064c4219/third_party/WebKit/Source/core/page/ChromeClientImpl.h
[modify] https://crrev.com/ba4d1c49e07674cd231602aefff33b37064c4219/third_party/WebKit/Source/core/testing/data/show_unhandled_tap.html
[modify] https://crrev.com/ba4d1c49e07674cd231602aefff33b37064c4219/third_party/WebKit/public/BUILD.gn
[add] https://crrev.com/ba4d1c49e07674cd231602aefff33b37064c4219/third_party/WebKit/public/platform/unhandled_tap_notifier.mojom
[modify] https://crrev.com/ba4d1c49e07674cd231602aefff33b37064c4219/third_party/WebKit/public/public_features.gni
[delete] https://crrev.com/a7596aa1a5efc11d9814dbe41b669c03f145565d/third_party/WebKit/public/web/WebTappedInfo.h
[modify] https://crrev.com/ba4d1c49e07674cd231602aefff33b37064c4219/third_party/WebKit/public/web/WebViewClient.h
[modify] https://crrev.com/ba4d1c49e07674cd231602aefff33b37064c4219/third_party/WebKit/public/web/WebWidgetClient.h

Project Member

Comment 17 by bugdroid1@chromium.org, Mar 7 2018

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

commit a41ba7aa96665962cc6da8acfbccffe014bb9c5c
Author: Donn Denman <donnd@chromium.org>
Date: Wed Mar 07 21:37:00 2018

Revert "[TTS] reland mojo-ify ShowUnhandleTapUIIfNeeded."

This reverts commit ba4d1c49e07674cd231602aefff33b37064c4219.

Reason for revert: Broke the N5 compile.

Original change's description:
> [TTS] reland mojo-ify ShowUnhandleTapUIIfNeeded.
> 
> Replaces the whole call chain for ShowUnhandledTapUIIfNeeded
> between Blink and Chrome/WebView with Mojo messaging.
> 
> Removes the Blink WebTappedInfo class in favor of a new UnhandledTapInfo
> that sends a Mojo construct of the same name to the Browser which
> has a service installed via a RenderHostFrame observer.
> 
> All functionality should remain unchanged.
> 
> NEW CODE:
> The CSTabHelper now creates an UnhandledTapWebContentsObserver that
> connects the Mojo service via UnhandledTapNotifierImpl.  That Impl
> calls back through Java to the CSTabHelper to the CSManager to notify
> that a Tap has occurred.  The CSTabHelper ignores these notifications
> when CS is disabled.
> 
> The mojo message is only sent to the browser if the tap is unhandled
> and the other required conditions are met.
> 
> UPDATED TESTS:
> Test notification is now done through mojo messaging, so we now only
> know if the tap was unhandled, not whether the page changed or other
> details about why the tap was unhandled.
> 
> Updated the test page by adding nodes that do not trigger, and removed
> the mousemove handler since it's unrelated to tap handling.
> 
> BUG= 754862 
> 
> TBR=dcheng@chromium, yfriedman@chromium.org, kinuko@chromium.org
> 
> Original CL:
> 
> Reviewed-on: https://chromium-review.googlesource.com/841544
> Reviewed-by: Yoichi Osato <yoichio@chromium.org>
> Reviewed-by: Theresa <twellington@chromium.org>
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Reviewed-by: Yaron Friedman <yfriedman@chromium.org>
> Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
> Change-Id: I824837419cd4116b26b32170009e7a7c3308d109
> Reviewed-on: https://chromium-review.googlesource.com/952679
> Commit-Queue: Donn Denman <donnd@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#541569}

TBR=dcheng@chromium.org,kinuko@chromium.org,yfriedman@chromium.org,donnd@chromium.org,yoichio@chromium.org,twellington@chromium.org

Change-Id: I25de406ee1c18aa1468d23dcafc81d4930f5717f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  754862 
Reviewed-on: https://chromium-review.googlesource.com/953369
Reviewed-by: Donn Denman <donnd@chromium.org>
Commit-Queue: Donn Denman <donnd@chromium.org>
Cr-Commit-Position: refs/heads/master@{#541586}
[modify] https://crrev.com/a41ba7aa96665962cc6da8acfbccffe014bb9c5c/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchManager.java
[modify] https://crrev.com/a41ba7aa96665962cc6da8acfbccffe014bb9c5c/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchTabHelper.java
[modify] https://crrev.com/a41ba7aa96665962cc6da8acfbccffe014bb9c5c/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/SelectionClientManager.java
[modify] https://crrev.com/a41ba7aa96665962cc6da8acfbccffe014bb9c5c/chrome/android/javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchTapEventTest.java
[modify] https://crrev.com/a41ba7aa96665962cc6da8acfbccffe014bb9c5c/chrome/android/junit/src/org/chromium/chrome/browser/contextualsearch/SelectionClientManagerTest.java
[modify] https://crrev.com/a41ba7aa96665962cc6da8acfbccffe014bb9c5c/chrome/browser/BUILD.gn
[modify] https://crrev.com/a41ba7aa96665962cc6da8acfbccffe014bb9c5c/chrome/browser/android/DEPS
[modify] https://crrev.com/a41ba7aa96665962cc6da8acfbccffe014bb9c5c/chrome/browser/android/contextualsearch/contextual_search_manager.cc
[modify] https://crrev.com/a41ba7aa96665962cc6da8acfbccffe014bb9c5c/chrome/browser/android/contextualsearch/contextual_search_tab_helper.cc
[modify] https://crrev.com/a41ba7aa96665962cc6da8acfbccffe014bb9c5c/chrome/browser/android/contextualsearch/contextual_search_tab_helper.h
[delete] https://crrev.com/786ed1e08978614b384fa5129bd55c9215553cdf/chrome/browser/android/contextualsearch/unhandled_tap_notifier_impl.cc
[delete] https://crrev.com/786ed1e08978614b384fa5129bd55c9215553cdf/chrome/browser/android/contextualsearch/unhandled_tap_notifier_impl.h
[delete] https://crrev.com/786ed1e08978614b384fa5129bd55c9215553cdf/chrome/browser/android/contextualsearch/unhandled_tap_web_contents_observer.cc
[delete] https://crrev.com/786ed1e08978614b384fa5129bd55c9215553cdf/chrome/browser/android/contextualsearch/unhandled_tap_web_contents_observer.h
[modify] https://crrev.com/a41ba7aa96665962cc6da8acfbccffe014bb9c5c/content/browser/android/selection_popup_controller.cc
[modify] https://crrev.com/a41ba7aa96665962cc6da8acfbccffe014bb9c5c/content/browser/android/selection_popup_controller.h
[modify] https://crrev.com/a41ba7aa96665962cc6da8acfbccffe014bb9c5c/content/browser/renderer_host/render_widget_host_view_android.cc
[modify] https://crrev.com/a41ba7aa96665962cc6da8acfbccffe014bb9c5c/content/browser/renderer_host/render_widget_host_view_android.h
[modify] https://crrev.com/a41ba7aa96665962cc6da8acfbccffe014bb9c5c/content/common/view_messages.h
[modify] https://crrev.com/a41ba7aa96665962cc6da8acfbccffe014bb9c5c/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
[modify] https://crrev.com/a41ba7aa96665962cc6da8acfbccffe014bb9c5c/content/public/android/java/src/org/chromium/content/browser/selection/SmartSelectionClient.java
[modify] https://crrev.com/a41ba7aa96665962cc6da8acfbccffe014bb9c5c/content/public/android/java/src/org/chromium/content_public/browser/SelectionClient.java
[modify] https://crrev.com/a41ba7aa96665962cc6da8acfbccffe014bb9c5c/content/public/android/javatests/src/org/chromium/content/browser/ContentViewCoreSelectionTest.java
[modify] https://crrev.com/a41ba7aa96665962cc6da8acfbccffe014bb9c5c/content/public/android/junit/src/org/chromium/content/browser/selection/SelectionPopupControllerTest.java
[modify] https://crrev.com/a41ba7aa96665962cc6da8acfbccffe014bb9c5c/content/public/app/mojo/content_browser_manifest.json
[modify] https://crrev.com/a41ba7aa96665962cc6da8acfbccffe014bb9c5c/content/renderer/render_view_impl.cc
[modify] https://crrev.com/a41ba7aa96665962cc6da8acfbccffe014bb9c5c/content/renderer/render_view_impl.h
[modify] https://crrev.com/a41ba7aa96665962cc6da8acfbccffe014bb9c5c/content/renderer/render_widget.cc
[modify] https://crrev.com/a41ba7aa96665962cc6da8acfbccffe014bb9c5c/content/renderer/render_widget.h
[modify] https://crrev.com/a41ba7aa96665962cc6da8acfbccffe014bb9c5c/third_party/WebKit/Source/core/DEPS
[modify] https://crrev.com/a41ba7aa96665962cc6da8acfbccffe014bb9c5c/third_party/WebKit/Source/core/exported/BUILD.gn
[add] https://crrev.com/a41ba7aa96665962cc6da8acfbccffe014bb9c5c/third_party/WebKit/Source/core/exported/WebTappedInfo.cpp
[modify] https://crrev.com/a41ba7aa96665962cc6da8acfbccffe014bb9c5c/third_party/WebKit/Source/core/exported/WebViewTest.cpp
[modify] https://crrev.com/a41ba7aa96665962cc6da8acfbccffe014bb9c5c/third_party/WebKit/Source/core/input/GestureManager.cpp
[modify] https://crrev.com/a41ba7aa96665962cc6da8acfbccffe014bb9c5c/third_party/WebKit/Source/core/input/GestureManager.h
[modify] https://crrev.com/a41ba7aa96665962cc6da8acfbccffe014bb9c5c/third_party/WebKit/Source/core/page/ChromeClient.h
[modify] https://crrev.com/a41ba7aa96665962cc6da8acfbccffe014bb9c5c/third_party/WebKit/Source/core/page/ChromeClientImpl.cpp
[modify] https://crrev.com/a41ba7aa96665962cc6da8acfbccffe014bb9c5c/third_party/WebKit/Source/core/page/ChromeClientImpl.h
[modify] https://crrev.com/a41ba7aa96665962cc6da8acfbccffe014bb9c5c/third_party/WebKit/Source/core/testing/data/show_unhandled_tap.html
[modify] https://crrev.com/a41ba7aa96665962cc6da8acfbccffe014bb9c5c/third_party/WebKit/public/BUILD.gn
[delete] https://crrev.com/786ed1e08978614b384fa5129bd55c9215553cdf/third_party/WebKit/public/platform/unhandled_tap_notifier.mojom
[modify] https://crrev.com/a41ba7aa96665962cc6da8acfbccffe014bb9c5c/third_party/WebKit/public/public_features.gni
[add] https://crrev.com/a41ba7aa96665962cc6da8acfbccffe014bb9c5c/third_party/WebKit/public/web/WebTappedInfo.h
[modify] https://crrev.com/a41ba7aa96665962cc6da8acfbccffe014bb9c5c/third_party/WebKit/public/web/WebViewClient.h
[modify] https://crrev.com/a41ba7aa96665962cc6da8acfbccffe014bb9c5c/third_party/WebKit/public/web/WebWidgetClient.h

Project Member

Comment 18 by bugdroid1@chromium.org, Mar 8 2018

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

commit 3364152aacc529c51fe566b351490a59d20c438e
Author: Donn Denman <donnd@google.com>
Date: Thu Mar 08 20:30:06 2018

[TTS] reland mojo-ify ShowUnhandleTapUIIfNeeded.

Replaces the whole call chain for ShowUnhandledTapUIIfNeeded
between Blink and Chrome/WebView with Mojo messaging.

Removes the Blink WebTappedInfo class in favor of a new UnhandledTapInfo
that sends a Mojo construct of the same name to the Browser which
has a service installed via a RenderHostFrame observer.

All functionality should remain unchanged.

NEW CODE:
The CSTabHelper now creates an UnhandledTapWebContentsObserver that
connects the Mojo service via UnhandledTapNotifierImpl.  That Impl
calls back through Java to the CSTabHelper to the CSManager to notify
that a Tap has occurred.  The CSTabHelper ignores these notifications
when CS is disabled.

The mojo message is only sent to the browser if the tap is unhandled
and the other required conditions are met.

UPDATED TESTS:
Test notification is now done through mojo messaging, so we now only
know if the tap was unhandled, not whether the page changed or other
details about why the tap was unhandled.

Updated the test page by adding nodes that do not trigger, and removed
the mousemove handler since it's unrelated to tap handling.

BUG= 754862 

TBR=dcheng@chromium, yfriedman@chromium.org, kinuko@chromium.org

Original CL:

Reviewed-on: https://chromium-review.googlesource.com/841544
Reviewed-by: Yoichi Osato <yoichio@chromium.org>
Reviewed-by: Theresa <twellington@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Yaron Friedman <yfriedman@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/952679
Commit-Queue: Donn Denman <donnd@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#541569}
Change-Id: I4da1704fe17fae6fe06d8a6167fbf9bc75a01303
Reviewed-on: https://chromium-review.googlesource.com/956086
Reviewed-by: Donn Denman <donnd@chromium.org>
Cr-Commit-Position: refs/heads/master@{#541879}
[modify] https://crrev.com/3364152aacc529c51fe566b351490a59d20c438e/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchManager.java
[modify] https://crrev.com/3364152aacc529c51fe566b351490a59d20c438e/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchTabHelper.java
[modify] https://crrev.com/3364152aacc529c51fe566b351490a59d20c438e/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/SelectionClientManager.java
[modify] https://crrev.com/3364152aacc529c51fe566b351490a59d20c438e/chrome/android/javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchTapEventTest.java
[modify] https://crrev.com/3364152aacc529c51fe566b351490a59d20c438e/chrome/android/junit/src/org/chromium/chrome/browser/contextualsearch/SelectionClientManagerTest.java
[modify] https://crrev.com/3364152aacc529c51fe566b351490a59d20c438e/chrome/browser/BUILD.gn
[modify] https://crrev.com/3364152aacc529c51fe566b351490a59d20c438e/chrome/browser/android/DEPS
[modify] https://crrev.com/3364152aacc529c51fe566b351490a59d20c438e/chrome/browser/android/contextualsearch/contextual_search_manager.cc
[modify] https://crrev.com/3364152aacc529c51fe566b351490a59d20c438e/chrome/browser/android/contextualsearch/contextual_search_tab_helper.cc
[modify] https://crrev.com/3364152aacc529c51fe566b351490a59d20c438e/chrome/browser/android/contextualsearch/contextual_search_tab_helper.h
[add] https://crrev.com/3364152aacc529c51fe566b351490a59d20c438e/chrome/browser/android/contextualsearch/unhandled_tap_notifier_impl.cc
[add] https://crrev.com/3364152aacc529c51fe566b351490a59d20c438e/chrome/browser/android/contextualsearch/unhandled_tap_notifier_impl.h
[add] https://crrev.com/3364152aacc529c51fe566b351490a59d20c438e/chrome/browser/android/contextualsearch/unhandled_tap_web_contents_observer.cc
[add] https://crrev.com/3364152aacc529c51fe566b351490a59d20c438e/chrome/browser/android/contextualsearch/unhandled_tap_web_contents_observer.h
[modify] https://crrev.com/3364152aacc529c51fe566b351490a59d20c438e/content/browser/android/selection_popup_controller.cc
[modify] https://crrev.com/3364152aacc529c51fe566b351490a59d20c438e/content/browser/android/selection_popup_controller.h
[modify] https://crrev.com/3364152aacc529c51fe566b351490a59d20c438e/content/browser/renderer_host/render_widget_host_view_android.cc
[modify] https://crrev.com/3364152aacc529c51fe566b351490a59d20c438e/content/browser/renderer_host/render_widget_host_view_android.h
[modify] https://crrev.com/3364152aacc529c51fe566b351490a59d20c438e/content/common/view_messages.h
[modify] https://crrev.com/3364152aacc529c51fe566b351490a59d20c438e/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
[modify] https://crrev.com/3364152aacc529c51fe566b351490a59d20c438e/content/public/android/java/src/org/chromium/content/browser/selection/SmartSelectionClient.java
[modify] https://crrev.com/3364152aacc529c51fe566b351490a59d20c438e/content/public/android/java/src/org/chromium/content_public/browser/SelectionClient.java
[modify] https://crrev.com/3364152aacc529c51fe566b351490a59d20c438e/content/public/android/javatests/src/org/chromium/content/browser/ContentViewCoreSelectionTest.java
[modify] https://crrev.com/3364152aacc529c51fe566b351490a59d20c438e/content/public/android/junit/src/org/chromium/content/browser/selection/SelectionPopupControllerTest.java
[modify] https://crrev.com/3364152aacc529c51fe566b351490a59d20c438e/content/public/app/mojo/content_browser_manifest.json
[modify] https://crrev.com/3364152aacc529c51fe566b351490a59d20c438e/content/renderer/render_view_impl.cc
[modify] https://crrev.com/3364152aacc529c51fe566b351490a59d20c438e/content/renderer/render_view_impl.h
[modify] https://crrev.com/3364152aacc529c51fe566b351490a59d20c438e/content/renderer/render_widget.cc
[modify] https://crrev.com/3364152aacc529c51fe566b351490a59d20c438e/content/renderer/render_widget.h
[modify] https://crrev.com/3364152aacc529c51fe566b351490a59d20c438e/third_party/WebKit/Source/core/DEPS
[modify] https://crrev.com/3364152aacc529c51fe566b351490a59d20c438e/third_party/WebKit/Source/core/exported/BUILD.gn
[delete] https://crrev.com/64d424ab0e9b82ff7886505ceb740cc69d62b1b7/third_party/WebKit/Source/core/exported/WebTappedInfo.cpp
[modify] https://crrev.com/3364152aacc529c51fe566b351490a59d20c438e/third_party/WebKit/Source/core/exported/WebViewTest.cpp
[modify] https://crrev.com/3364152aacc529c51fe566b351490a59d20c438e/third_party/WebKit/Source/core/input/GestureManager.cpp
[modify] https://crrev.com/3364152aacc529c51fe566b351490a59d20c438e/third_party/WebKit/Source/core/input/GestureManager.h
[modify] https://crrev.com/3364152aacc529c51fe566b351490a59d20c438e/third_party/WebKit/Source/core/page/ChromeClient.h
[modify] https://crrev.com/3364152aacc529c51fe566b351490a59d20c438e/third_party/WebKit/Source/core/page/ChromeClientImpl.cpp
[modify] https://crrev.com/3364152aacc529c51fe566b351490a59d20c438e/third_party/WebKit/Source/core/page/ChromeClientImpl.h
[modify] https://crrev.com/3364152aacc529c51fe566b351490a59d20c438e/third_party/WebKit/Source/core/testing/data/show_unhandled_tap.html
[modify] https://crrev.com/3364152aacc529c51fe566b351490a59d20c438e/third_party/WebKit/public/BUILD.gn
[add] https://crrev.com/3364152aacc529c51fe566b351490a59d20c438e/third_party/WebKit/public/platform/unhandled_tap_notifier.mojom
[modify] https://crrev.com/3364152aacc529c51fe566b351490a59d20c438e/third_party/WebKit/public/public_features.gni
[delete] https://crrev.com/64d424ab0e9b82ff7886505ceb740cc69d62b1b7/third_party/WebKit/public/web/WebTappedInfo.h
[modify] https://crrev.com/3364152aacc529c51fe566b351490a59d20c438e/third_party/WebKit/public/web/WebViewClient.h
[modify] https://crrev.com/3364152aacc529c51fe566b351490a59d20c438e/third_party/WebKit/public/web/WebWidgetClient.h

Project Member

Comment 19 by bugdroid1@chromium.org, Mar 8 2018

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

commit 3c1267c6a3459b138fcd4d6551dea19399fd2781
Author: Donn Denman <donnd@chromium.org>
Date: Thu Mar 08 22:08:59 2018

Revert "[TTS] reland mojo-ify ShowUnhandleTapUIIfNeeded."

This reverts commit 3364152aacc529c51fe566b351490a59d20c438e.

Reason for revert: Broke the Android ARM64 builder (https://uberchromegw.corp.google.com/i/chromium.android/builders/Android%20arm64%20Builder%20%28dbg%29/builds/28515) for some unknown reason.

Original change's description:
> [TTS] reland mojo-ify ShowUnhandleTapUIIfNeeded.
> 
> Replaces the whole call chain for ShowUnhandledTapUIIfNeeded
> between Blink and Chrome/WebView with Mojo messaging.
> 
> Removes the Blink WebTappedInfo class in favor of a new UnhandledTapInfo
> that sends a Mojo construct of the same name to the Browser which
> has a service installed via a RenderHostFrame observer.
> 
> All functionality should remain unchanged.
> 
> NEW CODE:
> The CSTabHelper now creates an UnhandledTapWebContentsObserver that
> connects the Mojo service via UnhandledTapNotifierImpl.  That Impl
> calls back through Java to the CSTabHelper to the CSManager to notify
> that a Tap has occurred.  The CSTabHelper ignores these notifications
> when CS is disabled.
> 
> The mojo message is only sent to the browser if the tap is unhandled
> and the other required conditions are met.
> 
> UPDATED TESTS:
> Test notification is now done through mojo messaging, so we now only
> know if the tap was unhandled, not whether the page changed or other
> details about why the tap was unhandled.
> 
> Updated the test page by adding nodes that do not trigger, and removed
> the mousemove handler since it's unrelated to tap handling.
> 
> BUG= 754862 
> 
> TBR=dcheng@chromium, yfriedman@chromium.org, kinuko@chromium.org
> 
> Original CL:
> 
> Reviewed-on: https://chromium-review.googlesource.com/841544
> Reviewed-by: Yoichi Osato <yoichio@chromium.org>
> Reviewed-by: Theresa <twellington@chromium.org>
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Reviewed-by: Yaron Friedman <yfriedman@chromium.org>
> Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
> Reviewed-on: https://chromium-review.googlesource.com/952679
> Commit-Queue: Donn Denman <donnd@chromium.org>
> Cr-Original-Commit-Position: refs/heads/master@{#541569}
> Change-Id: I4da1704fe17fae6fe06d8a6167fbf9bc75a01303
> Reviewed-on: https://chromium-review.googlesource.com/956086
> Reviewed-by: Donn Denman <donnd@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#541879}

TBR=dcheng@chromium.org,kinuko@chromium.org,yfriedman@chromium.org,donnd@chromium.org,yoichio@chromium.org,twellington@chromium.org,dcheng@chromium

Change-Id: Ib49a16a10903e0b2ba52cf0e32e4f1883888b7b3
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  754862 
Reviewed-on: https://chromium-review.googlesource.com/956356
Reviewed-by: Donn Denman <donnd@chromium.org>
Commit-Queue: Donn Denman <donnd@chromium.org>
Cr-Commit-Position: refs/heads/master@{#541900}
[modify] https://crrev.com/3c1267c6a3459b138fcd4d6551dea19399fd2781/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchManager.java
[modify] https://crrev.com/3c1267c6a3459b138fcd4d6551dea19399fd2781/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchTabHelper.java
[modify] https://crrev.com/3c1267c6a3459b138fcd4d6551dea19399fd2781/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/SelectionClientManager.java
[modify] https://crrev.com/3c1267c6a3459b138fcd4d6551dea19399fd2781/chrome/android/javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchTapEventTest.java
[modify] https://crrev.com/3c1267c6a3459b138fcd4d6551dea19399fd2781/chrome/android/junit/src/org/chromium/chrome/browser/contextualsearch/SelectionClientManagerTest.java
[modify] https://crrev.com/3c1267c6a3459b138fcd4d6551dea19399fd2781/chrome/browser/BUILD.gn
[modify] https://crrev.com/3c1267c6a3459b138fcd4d6551dea19399fd2781/chrome/browser/android/DEPS
[modify] https://crrev.com/3c1267c6a3459b138fcd4d6551dea19399fd2781/chrome/browser/android/contextualsearch/contextual_search_manager.cc
[modify] https://crrev.com/3c1267c6a3459b138fcd4d6551dea19399fd2781/chrome/browser/android/contextualsearch/contextual_search_tab_helper.cc
[modify] https://crrev.com/3c1267c6a3459b138fcd4d6551dea19399fd2781/chrome/browser/android/contextualsearch/contextual_search_tab_helper.h
[delete] https://crrev.com/04aa794ca77ccf4447bd17cb45df37bcc034c790/chrome/browser/android/contextualsearch/unhandled_tap_notifier_impl.cc
[delete] https://crrev.com/04aa794ca77ccf4447bd17cb45df37bcc034c790/chrome/browser/android/contextualsearch/unhandled_tap_notifier_impl.h
[delete] https://crrev.com/04aa794ca77ccf4447bd17cb45df37bcc034c790/chrome/browser/android/contextualsearch/unhandled_tap_web_contents_observer.cc
[delete] https://crrev.com/04aa794ca77ccf4447bd17cb45df37bcc034c790/chrome/browser/android/contextualsearch/unhandled_tap_web_contents_observer.h
[modify] https://crrev.com/3c1267c6a3459b138fcd4d6551dea19399fd2781/content/browser/android/selection_popup_controller.cc
[modify] https://crrev.com/3c1267c6a3459b138fcd4d6551dea19399fd2781/content/browser/android/selection_popup_controller.h
[modify] https://crrev.com/3c1267c6a3459b138fcd4d6551dea19399fd2781/content/browser/renderer_host/render_widget_host_view_android.cc
[modify] https://crrev.com/3c1267c6a3459b138fcd4d6551dea19399fd2781/content/browser/renderer_host/render_widget_host_view_android.h
[modify] https://crrev.com/3c1267c6a3459b138fcd4d6551dea19399fd2781/content/common/view_messages.h
[modify] https://crrev.com/3c1267c6a3459b138fcd4d6551dea19399fd2781/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
[modify] https://crrev.com/3c1267c6a3459b138fcd4d6551dea19399fd2781/content/public/android/java/src/org/chromium/content/browser/selection/SmartSelectionClient.java
[modify] https://crrev.com/3c1267c6a3459b138fcd4d6551dea19399fd2781/content/public/android/java/src/org/chromium/content_public/browser/SelectionClient.java
[modify] https://crrev.com/3c1267c6a3459b138fcd4d6551dea19399fd2781/content/public/android/javatests/src/org/chromium/content/browser/ContentViewCoreSelectionTest.java
[modify] https://crrev.com/3c1267c6a3459b138fcd4d6551dea19399fd2781/content/public/android/junit/src/org/chromium/content/browser/selection/SelectionPopupControllerTest.java
[modify] https://crrev.com/3c1267c6a3459b138fcd4d6551dea19399fd2781/content/public/app/mojo/content_browser_manifest.json
[modify] https://crrev.com/3c1267c6a3459b138fcd4d6551dea19399fd2781/content/renderer/render_view_impl.cc
[modify] https://crrev.com/3c1267c6a3459b138fcd4d6551dea19399fd2781/content/renderer/render_view_impl.h
[modify] https://crrev.com/3c1267c6a3459b138fcd4d6551dea19399fd2781/content/renderer/render_widget.cc
[modify] https://crrev.com/3c1267c6a3459b138fcd4d6551dea19399fd2781/content/renderer/render_widget.h
[modify] https://crrev.com/3c1267c6a3459b138fcd4d6551dea19399fd2781/third_party/WebKit/Source/core/DEPS
[modify] https://crrev.com/3c1267c6a3459b138fcd4d6551dea19399fd2781/third_party/WebKit/Source/core/exported/BUILD.gn
[add] https://crrev.com/3c1267c6a3459b138fcd4d6551dea19399fd2781/third_party/WebKit/Source/core/exported/WebTappedInfo.cpp
[modify] https://crrev.com/3c1267c6a3459b138fcd4d6551dea19399fd2781/third_party/WebKit/Source/core/exported/WebViewTest.cpp
[modify] https://crrev.com/3c1267c6a3459b138fcd4d6551dea19399fd2781/third_party/WebKit/Source/core/input/GestureManager.cpp
[modify] https://crrev.com/3c1267c6a3459b138fcd4d6551dea19399fd2781/third_party/WebKit/Source/core/input/GestureManager.h
[modify] https://crrev.com/3c1267c6a3459b138fcd4d6551dea19399fd2781/third_party/WebKit/Source/core/page/ChromeClient.h
[modify] https://crrev.com/3c1267c6a3459b138fcd4d6551dea19399fd2781/third_party/WebKit/Source/core/page/ChromeClientImpl.cpp
[modify] https://crrev.com/3c1267c6a3459b138fcd4d6551dea19399fd2781/third_party/WebKit/Source/core/page/ChromeClientImpl.h
[modify] https://crrev.com/3c1267c6a3459b138fcd4d6551dea19399fd2781/third_party/WebKit/Source/core/testing/data/show_unhandled_tap.html
[modify] https://crrev.com/3c1267c6a3459b138fcd4d6551dea19399fd2781/third_party/WebKit/public/BUILD.gn
[delete] https://crrev.com/04aa794ca77ccf4447bd17cb45df37bcc034c790/third_party/WebKit/public/platform/unhandled_tap_notifier.mojom
[modify] https://crrev.com/3c1267c6a3459b138fcd4d6551dea19399fd2781/third_party/WebKit/public/public_features.gni
[add] https://crrev.com/3c1267c6a3459b138fcd4d6551dea19399fd2781/third_party/WebKit/public/web/WebTappedInfo.h
[modify] https://crrev.com/3c1267c6a3459b138fcd4d6551dea19399fd2781/third_party/WebKit/public/web/WebViewClient.h
[modify] https://crrev.com/3c1267c6a3459b138fcd4d6551dea19399fd2781/third_party/WebKit/public/web/WebWidgetClient.h

Project Member

Comment 20 by bugdroid1@chromium.org, Mar 12 2018

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

commit 647df459061806e74a59bfb87a6379640eb92d8d
Author: Donn Denman <donnd@google.com>
Date: Mon Mar 12 21:22:34 2018

[TTS] reland mojo-ify ShowUnhandleTapUIIfNeeded.

This is a reland of the commit listed below, with a fix for a
missing dependency that was causing an intermittent compile error.

TBR=yfriedman@chromium.org, kinuko@chromium.org

BUG= 820262 ,  754862 

Original change's description:
> [TTS] mojo-ify ShowUnhandleTapUIIfNeeded.
>
> Replaces the whole call chain for ShowUnhandledTapUIIfNeeded
> between Blink and Chrome/WebView with Mojo messaging.
>
> Removes the Blink WebTappedInfo class in favor of a new UnhandledTapInfo
> that sends a Mojo construct of the same name to the Browser which
> has a service installed via a RenderHostFrame observer.
>
> All functionality should remain unchanged.
>
> NEW CODE:
> The CSTabHelper now creates an UnhandledTapWebContentsObserver that
> connects the Mojo service via UnhandledTapNotifierImpl.  That Impl
> calls back through Java to the CSTabHelper to the CSManager to notify
> that a Tap has occurred.  The CSTabHelper ignores these notifications
> when CS is disabled.
>
> The mojo message is only sent to the browser if the tap is unhandled
> and the other required conditions are met.
>
> UPDATED TESTS:
> Test notification is now done through mojo messaging, so we now only
> know if the tap was unhandled, not whether the page changed or other
> details about why the tap was unhandled.
>
> Updated the test page by adding nodes that do not trigger, and removed
> the mousemove handler since it's unrelated to tap handling.
>
> BUG= 754862 
>
> Change-Id: I18111f2537cfb16a4523d7f0cc766037fbf6050a
> Reviewed-on: https://chromium-review.googlesource.com/841544
> Reviewed-by: Yoichi Osato <yoichio@chromium.org>
> Reviewed-by: Theresa <twellington@chromium.org>
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Reviewed-by: Yaron Friedman <yfriedman@chromium.org>
> Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#540629}

Change-Id: I91f1a3a6b6cfd410b49187beed94fc2191cae928
Reviewed-on: https://chromium-review.googlesource.com/957443
Commit-Queue: Donn Denman <donnd@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#542600}
[modify] https://crrev.com/647df459061806e74a59bfb87a6379640eb92d8d/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchManager.java
[modify] https://crrev.com/647df459061806e74a59bfb87a6379640eb92d8d/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchTabHelper.java
[modify] https://crrev.com/647df459061806e74a59bfb87a6379640eb92d8d/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/SelectionClientManager.java
[modify] https://crrev.com/647df459061806e74a59bfb87a6379640eb92d8d/chrome/android/javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchTapEventTest.java
[modify] https://crrev.com/647df459061806e74a59bfb87a6379640eb92d8d/chrome/android/junit/src/org/chromium/chrome/browser/contextualsearch/SelectionClientManagerTest.java
[modify] https://crrev.com/647df459061806e74a59bfb87a6379640eb92d8d/chrome/browser/BUILD.gn
[modify] https://crrev.com/647df459061806e74a59bfb87a6379640eb92d8d/chrome/browser/android/DEPS
[modify] https://crrev.com/647df459061806e74a59bfb87a6379640eb92d8d/chrome/browser/android/contextualsearch/contextual_search_manager.cc
[modify] https://crrev.com/647df459061806e74a59bfb87a6379640eb92d8d/chrome/browser/android/contextualsearch/contextual_search_tab_helper.cc
[modify] https://crrev.com/647df459061806e74a59bfb87a6379640eb92d8d/chrome/browser/android/contextualsearch/contextual_search_tab_helper.h
[add] https://crrev.com/647df459061806e74a59bfb87a6379640eb92d8d/chrome/browser/android/contextualsearch/unhandled_tap_notifier_impl.cc
[add] https://crrev.com/647df459061806e74a59bfb87a6379640eb92d8d/chrome/browser/android/contextualsearch/unhandled_tap_notifier_impl.h
[add] https://crrev.com/647df459061806e74a59bfb87a6379640eb92d8d/chrome/browser/android/contextualsearch/unhandled_tap_web_contents_observer.cc
[add] https://crrev.com/647df459061806e74a59bfb87a6379640eb92d8d/chrome/browser/android/contextualsearch/unhandled_tap_web_contents_observer.h
[modify] https://crrev.com/647df459061806e74a59bfb87a6379640eb92d8d/content/browser/android/selection_popup_controller.cc
[modify] https://crrev.com/647df459061806e74a59bfb87a6379640eb92d8d/content/browser/android/selection_popup_controller.h
[modify] https://crrev.com/647df459061806e74a59bfb87a6379640eb92d8d/content/browser/renderer_host/render_widget_host_view_android.cc
[modify] https://crrev.com/647df459061806e74a59bfb87a6379640eb92d8d/content/browser/renderer_host/render_widget_host_view_android.h
[modify] https://crrev.com/647df459061806e74a59bfb87a6379640eb92d8d/content/common/view_messages.h
[modify] https://crrev.com/647df459061806e74a59bfb87a6379640eb92d8d/content/public/android/java/src/org/chromium/content/browser/selection/SelectionPopupControllerImpl.java
[modify] https://crrev.com/647df459061806e74a59bfb87a6379640eb92d8d/content/public/android/java/src/org/chromium/content/browser/selection/SmartSelectionClient.java
[modify] https://crrev.com/647df459061806e74a59bfb87a6379640eb92d8d/content/public/android/java/src/org/chromium/content_public/browser/SelectionClient.java
[modify] https://crrev.com/647df459061806e74a59bfb87a6379640eb92d8d/content/public/android/javatests/src/org/chromium/content/browser/ContentViewCoreSelectionTest.java
[modify] https://crrev.com/647df459061806e74a59bfb87a6379640eb92d8d/content/public/android/junit/src/org/chromium/content/browser/selection/SelectionPopupControllerTest.java
[modify] https://crrev.com/647df459061806e74a59bfb87a6379640eb92d8d/content/public/app/mojo/content_browser_manifest.json
[modify] https://crrev.com/647df459061806e74a59bfb87a6379640eb92d8d/content/renderer/render_view_impl.cc
[modify] https://crrev.com/647df459061806e74a59bfb87a6379640eb92d8d/content/renderer/render_view_impl.h
[modify] https://crrev.com/647df459061806e74a59bfb87a6379640eb92d8d/content/renderer/render_widget.cc
[modify] https://crrev.com/647df459061806e74a59bfb87a6379640eb92d8d/content/renderer/render_widget.h
[modify] https://crrev.com/647df459061806e74a59bfb87a6379640eb92d8d/third_party/WebKit/Source/core/DEPS
[modify] https://crrev.com/647df459061806e74a59bfb87a6379640eb92d8d/third_party/WebKit/Source/core/exported/BUILD.gn
[delete] https://crrev.com/a9a706bedeeee79e1a1a40a4fbfee3ead72e245a/third_party/WebKit/Source/core/exported/WebTappedInfo.cpp
[modify] https://crrev.com/647df459061806e74a59bfb87a6379640eb92d8d/third_party/WebKit/Source/core/exported/WebViewTest.cpp
[modify] https://crrev.com/647df459061806e74a59bfb87a6379640eb92d8d/third_party/WebKit/Source/core/input/BUILD.gn
[modify] https://crrev.com/647df459061806e74a59bfb87a6379640eb92d8d/third_party/WebKit/Source/core/input/GestureManager.cpp
[modify] https://crrev.com/647df459061806e74a59bfb87a6379640eb92d8d/third_party/WebKit/Source/core/input/GestureManager.h
[modify] https://crrev.com/647df459061806e74a59bfb87a6379640eb92d8d/third_party/WebKit/Source/core/page/ChromeClient.h
[modify] https://crrev.com/647df459061806e74a59bfb87a6379640eb92d8d/third_party/WebKit/Source/core/page/ChromeClientImpl.cpp
[modify] https://crrev.com/647df459061806e74a59bfb87a6379640eb92d8d/third_party/WebKit/Source/core/page/ChromeClientImpl.h
[modify] https://crrev.com/647df459061806e74a59bfb87a6379640eb92d8d/third_party/WebKit/Source/core/testing/data/show_unhandled_tap.html
[modify] https://crrev.com/647df459061806e74a59bfb87a6379640eb92d8d/third_party/WebKit/public/BUILD.gn
[add] https://crrev.com/647df459061806e74a59bfb87a6379640eb92d8d/third_party/WebKit/public/platform/unhandled_tap_notifier.mojom
[modify] https://crrev.com/647df459061806e74a59bfb87a6379640eb92d8d/third_party/WebKit/public/public_features.gni
[delete] https://crrev.com/a9a706bedeeee79e1a1a40a4fbfee3ead72e245a/third_party/WebKit/public/web/WebTappedInfo.h
[modify] https://crrev.com/647df459061806e74a59bfb87a6379640eb92d8d/third_party/WebKit/public/web/WebViewClient.h
[modify] https://crrev.com/647df459061806e74a59bfb87a6379640eb92d8d/third_party/WebKit/public/web/WebWidgetClient.h

Project Member

Comment 21 by bugdroid1@chromium.org, Mar 16 2018

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

commit 83d6e4467b1f50d19f04543f7aa3d30f956b2e72
Author: Donn Denman <donnd@google.com>
Date: Fri Mar 16 15:58:25 2018

[TTS] Add new Blink tap-signals for ML.

Adds new feature signals from Blink about the page at the
location tapped.  These signals will be useful for deciding
whether to trigger Contextual Search.

Signals include the text run-length of the element tapped and
the effective font size.

BUG= 754862 

Change-Id: I02227479ecfae4d3b174a1845fed7c3d24e355b8
Reviewed-on: https://chromium-review.googlesource.com/920325
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Commit-Queue: Donn Denman <donnd@chromium.org>
Cr-Commit-Position: refs/heads/master@{#543713}
[modify] https://crrev.com/83d6e4467b1f50d19f04543f7aa3d30f956b2e72/third_party/WebKit/Source/core/exported/WebViewTest.cpp
[modify] https://crrev.com/83d6e4467b1f50d19f04543f7aa3d30f956b2e72/third_party/WebKit/Source/core/input/GestureManager.cpp
[modify] https://crrev.com/83d6e4467b1f50d19f04543f7aa3d30f956b2e72/third_party/WebKit/Source/core/input/GestureManager.h
[modify] https://crrev.com/83d6e4467b1f50d19f04543f7aa3d30f956b2e72/third_party/WebKit/Source/core/testing/data/show_unhandled_tap.html
[modify] https://crrev.com/83d6e4467b1f50d19f04543f7aa3d30f956b2e72/third_party/WebKit/public/platform/unhandled_tap_notifier.mojom

Project Member

Comment 22 by bugdroid1@chromium.org, Mar 23 2018

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

commit 3996d218a718f70938ba50171f32df464ed271f0
Author: Donn Denman <donnd@google.com>
Date: Fri Mar 23 16:37:16 2018

[TTS] Adds 2 new Ranker V3 features.

Adds two new features for Contextual Search ML Tap
Suppression with Ranker.  They are:
1) font-size: the size of the font in points.
2) portion-of-element: aka "in the flow", this is a decile that
   describes the portion of the element text represented by the
   word tapped.  Large values are likely navigational elements.

Adds two new tap suppression heuristics (for manual testing, etc):
1) ShortTextRunSuppression that suppresses taps on text in an element
with a short text run.  2) SmallTextSuppression that suppresses taps
on small fonts -- the effective size on the screen.

Adds new features to the Ranker whitelist, and adds histograms for
the tap suppression heuristics.

Updates ukm.xml for these new features, approved in go/ukm-cs-3.

BUG= 754862 

Change-Id: I8fa2109cb2141daf3596545ead7883a2103cbbe5
Reviewed-on: https://chromium-review.googlesource.com/952762
Reviewed-by: Robert Kaplow <rkaplow@chromium.org>
Reviewed-by: Philippe Hamel <hamelphi@chromium.org>
Reviewed-by: Theresa <twellington@chromium.org>
Commit-Queue: Donn Denman <donnd@chromium.org>
Cr-Commit-Position: refs/heads/master@{#545479}
[modify] https://crrev.com/3996d218a718f70938ba50171f32df464ed271f0/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchFieldTrial.java
[modify] https://crrev.com/3996d218a718f70938ba50171f32df464ed271f0/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchHeuristic.java
[modify] https://crrev.com/3996d218a718f70938ba50171f32df464ed271f0/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchManager.java
[modify] https://crrev.com/3996d218a718f70938ba50171f32df464ed271f0/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchRankerLogger.java
[modify] https://crrev.com/3996d218a718f70938ba50171f32df464ed271f0/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchRankerLoggerImpl.java
[modify] https://crrev.com/3996d218a718f70938ba50171f32df464ed271f0/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchSelectionController.java
[modify] https://crrev.com/3996d218a718f70938ba50171f32df464ed271f0/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchTabHelper.java
[add] https://crrev.com/3996d218a718f70938ba50171f32df464ed271f0/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/ShortTextRunSuppression.java
[add] https://crrev.com/3996d218a718f70938ba50171f32df464ed271f0/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/SmallTextSuppression.java
[modify] https://crrev.com/3996d218a718f70938ba50171f32df464ed271f0/chrome/android/java/src/org/chromium/chrome/browser/contextualsearch/TapSuppressionHeuristics.java
[modify] https://crrev.com/3996d218a718f70938ba50171f32df464ed271f0/chrome/android/java_sources.gni
[modify] https://crrev.com/3996d218a718f70938ba50171f32df464ed271f0/chrome/android/javatests/src/org/chromium/chrome/browser/contextualsearch/ContextualSearchTapEventTest.java
[modify] https://crrev.com/3996d218a718f70938ba50171f32df464ed271f0/chrome/browser/android/contextualsearch/contextual_search_tab_helper.cc
[modify] https://crrev.com/3996d218a718f70938ba50171f32df464ed271f0/chrome/browser/android/contextualsearch/contextual_search_tab_helper.h
[modify] https://crrev.com/3996d218a718f70938ba50171f32df464ed271f0/chrome/browser/android/contextualsearch/unhandled_tap_notifier_impl.cc
[modify] https://crrev.com/3996d218a718f70938ba50171f32df464ed271f0/chrome/browser/android/contextualsearch/unhandled_tap_web_contents_observer.h
[modify] https://crrev.com/3996d218a718f70938ba50171f32df464ed271f0/components/assist_ranker/predictor_config_definitions.cc
[modify] https://crrev.com/3996d218a718f70938ba50171f32df464ed271f0/tools/metrics/ukm/ukm.xml

Comment 23 by donnd@google.com, Mar 23 2018

Status: Fixed (was: Started)
Work completed.

Sign in to add a comment