Bug 15106

Summary: REGRESSION: Can't drag text as element when user-select is set to none
Product: WebKit Reporter: Dustin MacDonald <dustin>
Component: New BugsAssignee: Mark Rowe (bdash) <mrowe>
Status: RESOLVED FIXED    
Severity: Normal CC: darin, ddkilzer, jberlin, justin.garcia, mirela.correa, mitz, mrowe, oliver, tom
Priority: P1 Keywords: InRadar, Regression
Version: 523.x (Safari 3)   
Hardware: Mac   
OS: OS X 10.4   
Attachments:
Description Flags
Test case
none
Patch mitz: review+

Dustin MacDonald
Reported 2007-08-29 01:20:10 PDT
Dragging text as an element using the -khtml-user-drag selector does not work. The text selector cursor appears as if the text was selectable and the element cannot be dragged. This used to work in previous WebKit builds. Try code example below: <div style="-khtml-user-select:none;-khtml-user-drag:element;">drag text</div>
Attachments
Test case (79 bytes, text/html)
2007-08-29 06:52 PDT, David Kilzer (:ddkilzer)
no flags
Patch (9.84 KB, patch)
2009-06-20 14:45 PDT, Mark Rowe (bdash)
mitz: review+
mitz
Comment 1 2007-08-29 03:25:06 PDT
David Kilzer (:ddkilzer)
Comment 2 2007-08-29 06:51:45 PDT
David Kilzer (:ddkilzer)
Comment 3 2007-08-29 06:52:24 PDT
Created attachment 16155 [details] Test case
Darin Adler
Comment 4 2007-08-29 16:59:42 PDT
Is there a real site depending on this? How did you discover this problem? It's important that we understand the impact of this so we can gauge the importance of a quick fix.
Dustin MacDonald
Comment 5 2007-08-29 17:27:37 PDT
I am working on a WebKit-based app for Mac OS X which uses JavaScript drag and drop extensively. I noticed the change in the latest Leopard seed (9A527). After reviewing the 25057 changeset that mitz@webkit.org posted, it appears that the desired functionality can now be obtained using "-khtml-user-select: ignore". So, a workaround is available, but I imagine this change could break lots of third party WebKit-based apps and Dashboard widgets.
Darin Adler
Comment 6 2007-08-29 17:30:23 PDT
(In reply to comment #5) > I imagine this change could break lots of third party WebKit-based apps and Dashboard widgets. Please add a note here if anyone reading this discovers a specific WebKit-based application or Dashboard widget that is affected.
mitz
Comment 7 2007-09-19 11:19:17 PDT
(In reply to comment #1) > Probably regressed in <http://trac.webkit.org/projects/webkit/changeset/25057>. That change has been rolled out and eventually replaced by <http://trac.webkit.org/projects/webkit/changeset/25641>.
mitz
Comment 8 2007-09-19 11:39:07 PDT
(In reply to comment #5) > After reviewing the 25057 changeset that mitz@webkit.org posted, it appears > that the desired functionality can now be obtained using "-khtml-user-select: > ignore". After r25641, this workaround is no longer possible.
Tom Brown
Comment 9 2007-11-06 09:35:43 PST
This bug is causing the drag and drop feature in my web application to not work. Have any other workarounds been found? My web application is: http://www.bungeelabs.com/
Mirela Correa
Comment 10 2009-03-03 10:15:08 PST
I am facing this problem in my we application. Any news on this bug? Will it be fixed? Any workarounds? Thanks!
Jessie Berlin
Comment 11 2009-06-19 17:24:21 PDT
A temporary workaround: <span style="-webkit-user-drag: element;" ondragstart="SpanDragHandler()"> <span style="z-index: -1; position: relative; -webkit-user-select: none;">drag me</span> </span> The z-index makes it so that the outer span is hit-tested first.
Mark Rowe (bdash)
Comment 12 2009-06-19 20:52:38 PDT
I've got a fix for this, and will post it after I've come up with a regression test.
Mark Rowe (bdash)
Comment 13 2009-06-20 14:45:59 PDT
mitz
Comment 14 2009-06-20 14:51:34 PDT
Comment on attachment 31600 [details] Patch > + RenderStyle *style = renderer()->style(); The * should go next to RenderStyle. r=me
Mark Rowe (bdash)
Comment 15 2009-06-20 14:55:06 PDT
Fixed in r44902.
David Kilzer (:ddkilzer)
Comment 16 2009-07-22 21:31:56 PDT
Note You need to log in before you can comment on or make changes to this bug.