Drag and drop event coordinates no longer correct for plugin child windows (gtk)

RESOLVED FIXED in mozilla19

Status

()

RESOLVED FIXED
6 years ago
6 years ago

People

(Reporter: twhitema, Assigned: twhitema)

Tracking

({regression})

unspecified
mozilla19
All
Linux
regression
Points:
---
Bug Flags:
in-testsuite -

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Assignee)

Description

6 years ago
Created attachment 679342 [details] [diff] [review]
Fixes the problem - using retx and rety variables again

When running Komodo on Mozilla 17.0 we notice that the DOM drag/drop events that originate over the plugin are incorrect (note that Komodo uses a NPAPI plugin for it's text editor) - the events have higher x/y values whose offsets are increased by the distance the plugin is positioned from to the top/left corner of the main nsWindow.

It seems that the following change is the cause:
   https://hg.mozilla.org/mozilla-central/rev/3c6358d51fa5

@@ -3381,180 +3346,16 @@ nsWindow::DispatchDragEvent(PRUint32 aMs
-    innerMostWidget->
-        DispatchDragMotionEvents(dragServiceGTK, nsIntPoint(retx, rety), aTime);

was changed to:

@@ -5968,50 +5769,100 @@ drag_motion_event_cb(GtkWidget *aWidget,
+    return nsDragService::GetInstance()->
+        ScheduleMotionEvent(innerMostWindow, aDragContext,
+                            nsIntPoint(aX, aY), aTime);


and thus it stopped using the special "retx" and "rety" variables that hold the corrected coordinates (in the case of a plugin child window).


Note: Asking review from karlt because that's who made the change.
Attachment #679342 - Flags: review?(karlt)
Blocks: 497498
Comment on attachment 679342 [details] [diff] [review]
Fixes the problem - using retx and rety variables again

Thanks very much.

I'm a little surprised we get these signals for events over the plugin window.
Is the plugin running in the same process as its host?
Attachment #679342 - Flags: review?(karlt) → review+
Keywords: regression
(Assignee)

Comment 2

6 years ago
Yes, Komodo is using an in process plugin in this case.
https://hg.mozilla.org/mozilla-central/rev/3b2f5b980477
Assignee: nobody → toddw
Status: NEW → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla19
You need to log in before you can comment on or make changes to this bug.