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

Issue 665665 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
inactive
Closed: Feb 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Bug

Blocking:
issue 598880



Sign in to add a comment

Delete ContentViewCore.extractSmartClipData

Project Member Reported by aelias@chromium.org, Nov 16 2016

Issue description

Another weird ContentViewCore feature I noticed.  This was introduced by Samsung to support stylus-based selection, see SmartClip.java https://bugs.chromium.org/p/chromium/issues/detail?id=329809#c1 .  While we should keep supporting stylus-based selection, there's absolutely no reason this should need special plumbing of top control offsets, this seems like a poor design.
 

Comment 1 by aelias@chromium.org, Dec 17 2016

Cc: amaralp@chromium.org
Owner: aelias@chromium.org
I'm looking into this.
Project Member

Comment 2 by bugdroid1@chromium.org, Feb 8 2017

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

commit a3d72e6945823292c6fa7487268333b538b6a10e
Author: aelias <aelias@chromium.org>
Date: Wed Feb 08 00:27:56 2017

Refactor Samsung SmartClip implementation.

Samsung "Smart Clip" (a.k.a. "Smart Select") is a Galaxy Note-specific
proprietary API to select a rectangle with the stylus and extract the text
contents.  This moves it from the ContentViewCore->ViewMsg->WebViewImpl
flow into the more modern WebContents->RenderFrameHost->WebLocalFrame
path.

Notes:
- One of the values we're providing in the return data is the original
rectangle that was passed into us.  It's currently being passed in back
and forth from Blink unnecessarily, and wasn't DIP-adjusted properly.
Empirically on a Galaxy Note 5, there's no evidence that the OEM code
ever looks at this rectangle, so just delete it.

- This never supported subframes (even local iframes) and still doesn't.
This patch is intended as a no-op refactoring for now; for subframe
support, we might consider generating this out of the accessibility
trees in the future.

BUG= 665665 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation

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

[modify] https://crrev.com/a3d72e6945823292c6fa7487268333b538b6a10e/android_webview/java/src/org/chromium/android_webview/AwContents.java
[modify] https://crrev.com/a3d72e6945823292c6fa7487268333b538b6a10e/chrome/android/java/src/org/chromium/chrome/browser/compositor/CompositorViewHolder.java
[modify] https://crrev.com/a3d72e6945823292c6fa7487268333b538b6a10e/chrome/android/javatests/src/org/chromium/chrome/browser/SmartClipProviderTest.java
[modify] https://crrev.com/a3d72e6945823292c6fa7487268333b538b6a10e/content/browser/android/content_view_core_impl.cc
[modify] https://crrev.com/a3d72e6945823292c6fa7487268333b538b6a10e/content/browser/android/content_view_core_impl.h
[modify] https://crrev.com/a3d72e6945823292c6fa7487268333b538b6a10e/content/browser/frame_host/render_frame_host_impl.cc
[modify] https://crrev.com/a3d72e6945823292c6fa7487268333b538b6a10e/content/browser/frame_host/render_frame_host_impl.h
[modify] https://crrev.com/a3d72e6945823292c6fa7487268333b538b6a10e/content/browser/renderer_host/render_widget_host_view_android.cc
[modify] https://crrev.com/a3d72e6945823292c6fa7487268333b538b6a10e/content/browser/renderer_host/render_widget_host_view_android.h
[modify] https://crrev.com/a3d72e6945823292c6fa7487268333b538b6a10e/content/browser/web_contents/web_contents_android.cc
[modify] https://crrev.com/a3d72e6945823292c6fa7487268333b538b6a10e/content/browser/web_contents/web_contents_android.h
[modify] https://crrev.com/a3d72e6945823292c6fa7487268333b538b6a10e/content/common/frame_messages.h
[modify] https://crrev.com/a3d72e6945823292c6fa7487268333b538b6a10e/content/common/view_messages.h
[modify] https://crrev.com/a3d72e6945823292c6fa7487268333b538b6a10e/content/public/android/BUILD.gn
[modify] https://crrev.com/a3d72e6945823292c6fa7487268333b538b6a10e/content/public/android/java/src/org/chromium/content/browser/ContentView.java
[modify] https://crrev.com/a3d72e6945823292c6fa7487268333b538b6a10e/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java
[modify] https://crrev.com/a3d72e6945823292c6fa7487268333b538b6a10e/content/public/android/java/src/org/chromium/content/browser/webcontents/WebContentsImpl.java
[add] https://crrev.com/a3d72e6945823292c6fa7487268333b538b6a10e/content/public/android/java/src/org/chromium/content_public/browser/SmartClipCallback.java
[modify] https://crrev.com/a3d72e6945823292c6fa7487268333b538b6a10e/content/public/android/java/src/org/chromium/content_public/browser/WebContents.java
[modify] https://crrev.com/a3d72e6945823292c6fa7487268333b538b6a10e/content/renderer/render_frame_impl.cc
[modify] https://crrev.com/a3d72e6945823292c6fa7487268333b538b6a10e/content/renderer/render_frame_impl.h
[modify] https://crrev.com/a3d72e6945823292c6fa7487268333b538b6a10e/content/renderer/render_view_impl.cc
[modify] https://crrev.com/a3d72e6945823292c6fa7487268333b538b6a10e/content/renderer/render_view_impl.h
[modify] https://crrev.com/a3d72e6945823292c6fa7487268333b538b6a10e/content/renderer/render_view_impl_android.cc
[modify] https://crrev.com/a3d72e6945823292c6fa7487268333b538b6a10e/third_party/WebKit/Source/web/WebLocalFrameImpl.cpp
[modify] https://crrev.com/a3d72e6945823292c6fa7487268333b538b6a10e/third_party/WebKit/Source/web/WebLocalFrameImpl.h
[modify] https://crrev.com/a3d72e6945823292c6fa7487268333b538b6a10e/third_party/WebKit/Source/web/WebViewImpl.cpp
[modify] https://crrev.com/a3d72e6945823292c6fa7487268333b538b6a10e/third_party/WebKit/Source/web/WebViewImpl.h
[modify] https://crrev.com/a3d72e6945823292c6fa7487268333b538b6a10e/third_party/WebKit/Source/web/tests/WebViewTest.cpp
[modify] https://crrev.com/a3d72e6945823292c6fa7487268333b538b6a10e/third_party/WebKit/public/web/WebLocalFrame.h
[modify] https://crrev.com/a3d72e6945823292c6fa7487268333b538b6a10e/third_party/WebKit/public/web/WebView.h

Status: Fixed (was: Assigned)

Sign in to add a comment