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

Issue 627246 link

Starred by 4 users

Issue metadata

Status: Fixed
Owner: ----
Closed: Jul 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 3
Type: Bug

Blocked on:
issue 671401

Blocking:
issue 598880



Sign in to add a comment

Move onDragEvent out of ContentViewCore

Project Member Reported by hush@chromium.org, Jul 11 2016

Issue description

ContentViewCore is moving away eventually.
OnDragEvent needs to be plumbed elsewhere, through ViewAndroid probably.
https://codereview.chromium.org/2135493002/#msg17



 
Blocking: 598880

Comment 2 by hush@chromium.org, Oct 21 2016

Cc: dtrainor@chromium.org jinsuk...@chromium.org
Owner: ----
Status: Available (was: Assigned)
Unassign myself since I'm leaving the team. I heard David and Jinsuk are working in this area.
Owner: jinsuk...@chromium.org
Status: Assigned (was: Available)
Jinsuk, would you be able to look into this?
Cc: wychen@chromium.org
Owner: wychen@chromium.org
Assigning to wychen who showed interest - wychen could you take a look? Thanks!

Comment 6 by wychen@chromium.org, Nov 11 2016

Status: Started (was: Assigned)
Blockedon: 671401
This becomes feasible as  Issue 671401  is resolved.
Cc: -wychen@chromium.org -siev...@chromium.org boliu@chromium.org
One question to answer about refactoring this is how we model drag event class in the native. EventForwarder/ViewAndroid has been built around MotionEvent only. ui/event doesn't have a class for drag&drop. Should we start with introducing a new event for drag and drop first, or just make use of MotionEvent by adding a few more fields in it?

wychen@ let me know if you will be working on this or not.

Comment 10 by boliu@chromium.org, May 18 2017

aura uses this:
https://cs.chromium.org/chromium/src/ui/base/dragdrop/drop_target_event.h?q=ui::DropTargetEvent&sq=package:chromium

ui/base, not ui/event though. I guess should investigate if it can be shared
Cc: wychen@chromium.org
Owner: ----
Status: Available (was: Started)
I'm focusing on other things for now, so I won't be working on this one for at least a month. Sorry for holding it for too long.

Comment 12 by boliu@chromium.org, May 19 2017

Components: -Mobile>WebView
remove this from webview bugcop queue
Great. DropTargetEvent will work if we add os_exchange_data_provider_android.cc that contains the filtered mime types. 


Further look into DropTargetEvent class shows it is suitable only for the action ACTION_DROP (as its name suggests) among the ones Android android.view.DragEvent can have (ACTION_DRAG_{ENTERED|EXITED|ENDED|STARTED|LOCATION}). Other platforms handles these action in separate methods by inheriting DragDropDelegate (ui/aura/client/drag_drop_delegate.h) but it doesn't look handy to make use of the interface on Android since all the info better remain parceled in one event class until it reaches the class (WebContentsViewAndroid) where appropriate action is taken (OnDragEntered/Updated/PerformDrop...etc).

So that makes me think a better way is to define a new event class (inherited from LocatedEvent) that can hold any of these actions plus other info to carry them through ViewAndroid hierarchy. That would make the way drag event is handled analogous to other kinds of events.
 

Status: Fixed (was: Available)
r474947

Sign in to add a comment