RFR: 8338306: WebView Drag and Drop fails with WebKit 619.1 [v2]

Hima Bindu Meda hmeda at openjdk.org
Tue Aug 20 14:04:29 UTC 2024


On Mon, 19 Aug 2024 18:14:53 GMT, Kevin Rushforth <kcr at openjdk.org> wrote:

>> Hima Bindu Meda has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Remove duplicate call
>
> modules/javafx.web/src/main/native/Source/WebKitLegacy/java/WebCoreSupport/WebPage.cpp line 2254:
> 
>> 2252:             return 0;
>> 2253:         case com_sun_webkit_WebPage_DND_DST_ENTER:
>> 2254:             return dragOperationToDragCursor(std::get<std::optional<WebCore::DragOperation>>(dc.dragEnteredOrUpdated(*localMainFrame, WTFMove(dragData))));
> 
> This is identical to the body of the two cases below. It might be clearer to remove this return statement (line 2254) to avoid duplication.
> 
> Speaking of which, I presume that it is intentional to call `dragOperationToDragCursor` for all three of `DND_DST_ENTER`, `DND_DST_OVER`, and `DND_DST_CHANGE`?

Yes, removed the duplicate call. In webkit-617.1, there were  calls to **dragEntered**  and **dragUpdated** for DND calls as follows:

      ` case com_sun_webkit_WebPage_DND_DST_ENTER:
            return dragOperationToDragCursor(dc.dragEntered(WTFMove(dragData)));`

       `case com_sun_webkit_WebPage_DND_DST_OVER:
        case com_sun_webkit_WebPage_DND_DST_CHANGE:
            return dragOperationToDragCursor(dc.dragUpdated(WTFMove(dragData)));`

In the current webkit-619.1 update, there has been refactoring and the apis **dragEntered**  and **dragUpdated** have been removed and instead **dragEnteredOrUpdated** has been used.  For our JAVA port adaptation, these changes have been missed and hence, the issue is observed. This fix addresses the issue.

-------------

PR Review Comment: https://git.openjdk.org/jfx/pull/1538#discussion_r1723371767


More information about the openjfx-dev mailing list