uDIG

FireFox 3.5 DnD

Details

Description

Chrome and IE both work; the latest firefox does not! We can no longer drag and drop URLs from http://udig.refractions.net/confluence/display/EN/Walkthrough+1 page using firefox.

Workaround: open up http://udig.refractions.net/confluence/display/EN/Walkthrough+1 in the Web View and click on the links.

In Eclipse 3.5 they have an explicit DnD URL type that we should use; we can probably remove a bunch of earlier workarounds. Estimate 1 h to remove the hacking and then a lot of testing.

Issue Links

Activity

Hide
Jody Garnett added a comment -
Tested with Firefox 3.5 and 3.6 on mac and was unable to reproduce the problem; is this windows specific?
Show
Jody Garnett added a comment - Tested with Firefox 3.5 and 3.6 on mac and was unable to reproduce the problem; is this windows specific?
Hide
Jody Garnett added a comment -
Was able to reproduce on win32.

Ended up being th:
- "new" URLTransfer type was not being fed into our DnDTransfer extension and registered on the CatalogView etc.... so no URLs were being "dropped" (only text and html text)
- The UDigByteAndLocalTransfer was being Transfer.registered with the same string and thus conflicted with the above URLTransfer

Chat with Jesse....
-----------------
(8:15:26 PM) jeichar: ok
(8:15:33 PM) jgarnett: do you have a udig checkout to refer to?
(8:15:43 PM) jeichar: 1 sec let me open eclipse
(8:16:14 PM) jgarnett: thanks; I am near the end of the firefox DnD not working on win32 bug :-P
(8:17:17 PM) jeichar: ok
(8:17:19 PM) jgarnett: I am going to type for a moment to set the context; catch up when you have eclipse open.
(8:17:19 PM) jgarnett: When DnD from Walkthrough+1 page the http://wms.jpl.nasa.gov/wms.cgi?Service=WMS&Version=1.1.1&Request=GetCapabilities URL comes in as "http://wms.jpl.nasa.gov/wms.cgi?Service=W"
(8:17:26 PM) jgarnett: ie it is truncated
(8:17:39 PM) jgarnett: I hunted around for a bit
(8:17:53 PM) jgarnett: before sorting out that the URLTransfer (which was added in Ecllipse 3.4)
(8:18:00 PM) jgarnett: does not seem to be in our list
(8:18:10 PM) jgarnett: the udig.ui plugin.xml
(8:18:24 PM) jgarnett: has registered a single UDigTransferFactory
(8:18:39 PM) jgarnett: offering up a list of getTransfers() to pay attention to
(8:18:56 PM) jgarnett: suspect #1: URLTransfer.getInstance() is not in the list
(8:19:06 PM) jgarnett: suspect#2: UDigByteAndLocalTransfer.getInstance() is in the list
(8:19:13 PM) jgarnett: looking at the internals of UDigByteAndLocalTransfer
(8:19:24 PM) jgarnett: it appears to be an early cut of the URLTransfer implementation
(8:19:31 PM) jgarnett: indeed they both register under the same String.
(8:19:41 PM) jgarnett: static final String CFSTR_INETURL = "UniformResourceLocator"; //$NON-NLS-1$
(8:19:53 PM) jgarnett: private static final int CFSTR_INETURLID = Transfer.registerType(CFSTR_INETURL);
(8:20:19 PM) jgarnett: and both extend ByteArrayTransfer
(8:20:35 PM) jgarnett: So am I on a good track here?
(8:20:43 PM) jeichar: More or less
(8:21:05 PM) jgarnett: UDigByteAndLocalTransfer looks like it may be hacked over time; it has code in javaToNative to unwrap IStructuredSelection
(8:21:22 PM) jeichar: I thought UDigByteAndLocalTransfer.getInstance was supposed to mainly be a way to drag and drop uDig objects
(8:21:30 PM) jeichar: layers, IResources, etc...
(8:21:32 PM) jgarnett: I think it is
(8:21:39 PM) jgarnett: (see comment about IStructuredSelection
(8:21:45 PM) jeichar: exactly
(8:21:50 PM) jeichar: it is not supposed to do the URL stuff
(8:21:52 PM) jgarnett: but then why is it registering itself with the same string as the URLTransfer?
(8:22:09 PM) jeichar: I think the URL transfer was package protected at the time of writing so I had no access to it
(8:22:12 PM) jgarnett: Want me to leave it in; and give it a new String
(8:22:31 PM) jeichar: and depended on Text Tranfer and RichTextTransfer to get the URLS
(8:22:41 PM) jeichar: yes try giving it a new string
(8:23:31 PM) jgarnett: I will give it a go and report back
(8:25:12 PM) jgarnett: that did the trick!
(8:25:18 PM) jeichar: great
(8:25:20 PM) jgarnett: going to test with a bunch of browsers now
(8:25:32 PM) jeichar: check that you can still DND layers in Layers view
(8:25:36 PM) jgarnett: thanks for the sanity check; DnD code is so fragile to test
(8:25:38 PM) jgarnett: will do
(8:25:44 PM) jgarnett: used the string InternalObject
(8:29:05 PM) jgarnett: I can still move layers around
(8:29:15 PM) jgarnett: going to mark the issue fixed and make an SDK
(8:35:17 PM) jgarnett: ie worked; chrome worked
Show
Jody Garnett added a comment - Was able to reproduce on win32. Ended up being th: - "new" URLTransfer type was not being fed into our DnDTransfer extension and registered on the CatalogView etc.... so no URLs were being "dropped" (only text and html text) - The UDigByteAndLocalTransfer was being Transfer.registered with the same string and thus conflicted with the above URLTransfer Chat with Jesse.... ----------------- (8:15:26 PM) jeichar: ok (8:15:33 PM) jgarnett: do you have a udig checkout to refer to? (8:15:43 PM) jeichar: 1 sec let me open eclipse (8:16:14 PM) jgarnett: thanks; I am near the end of the firefox DnD not working on win32 bug :-P (8:17:17 PM) jeichar: ok (8:17:19 PM) jgarnett: I am going to type for a moment to set the context; catch up when you have eclipse open. (8:17:19 PM) jgarnett: When DnD from Walkthrough+1 page the http://wms.jpl.nasa.gov/wms.cgi?Service=WMS&Version=1.1.1&Request=GetCapabilities URL comes in as "http://wms.jpl.nasa.gov/wms.cgi?Service=W" (8:17:26 PM) jgarnett: ie it is truncated (8:17:39 PM) jgarnett: I hunted around for a bit (8:17:53 PM) jgarnett: before sorting out that the URLTransfer (which was added in Ecllipse 3.4) (8:18:00 PM) jgarnett: does not seem to be in our list (8:18:10 PM) jgarnett: the udig.ui plugin.xml (8:18:24 PM) jgarnett: has registered a single UDigTransferFactory (8:18:39 PM) jgarnett: offering up a list of getTransfers() to pay attention to (8:18:56 PM) jgarnett: suspect #1: URLTransfer.getInstance() is not in the list (8:19:06 PM) jgarnett: suspect#2: UDigByteAndLocalTransfer.getInstance() is in the list (8:19:13 PM) jgarnett: looking at the internals of UDigByteAndLocalTransfer (8:19:24 PM) jgarnett: it appears to be an early cut of the URLTransfer implementation (8:19:31 PM) jgarnett: indeed they both register under the same String. (8:19:41 PM) jgarnett: static final String CFSTR_INETURL = "UniformResourceLocator"; //$NON-NLS-1$ (8:19:53 PM) jgarnett: private static final int CFSTR_INETURLID = Transfer.registerType(CFSTR_INETURL); (8:20:19 PM) jgarnett: and both extend ByteArrayTransfer (8:20:35 PM) jgarnett: So am I on a good track here? (8:20:43 PM) jeichar: More or less (8:21:05 PM) jgarnett: UDigByteAndLocalTransfer looks like it may be hacked over time; it has code in javaToNative to unwrap IStructuredSelection (8:21:22 PM) jeichar: I thought UDigByteAndLocalTransfer.getInstance was supposed to mainly be a way to drag and drop uDig objects (8:21:30 PM) jeichar: layers, IResources, etc... (8:21:32 PM) jgarnett: I think it is (8:21:39 PM) jgarnett: (see comment about IStructuredSelection (8:21:45 PM) jeichar: exactly (8:21:50 PM) jeichar: it is not supposed to do the URL stuff (8:21:52 PM) jgarnett: but then why is it registering itself with the same string as the URLTransfer? (8:22:09 PM) jeichar: I think the URL transfer was package protected at the time of writing so I had no access to it (8:22:12 PM) jgarnett: Want me to leave it in; and give it a new String (8:22:31 PM) jeichar: and depended on Text Tranfer and RichTextTransfer to get the URLS (8:22:41 PM) jeichar: yes try giving it a new string (8:23:31 PM) jgarnett: I will give it a go and report back (8:25:12 PM) jgarnett: that did the trick! (8:25:18 PM) jeichar: great (8:25:20 PM) jgarnett: going to test with a bunch of browsers now (8:25:32 PM) jeichar: check that you can still DND layers in Layers view (8:25:36 PM) jgarnett: thanks for the sanity check; DnD code is so fragile to test (8:25:38 PM) jgarnett: will do (8:25:44 PM) jgarnett: used the string InternalObject (8:29:05 PM) jgarnett: I can still move layers around (8:29:15 PM) jgarnett: going to mark the issue fixed and make an SDK (8:35:17 PM) jgarnett: ie worked; chrome worked

People

Vote (0)
Watch (0)

Dates

  • Created:
    Updated:
    Resolved: