Bug 1419285 - Part 1. Calculate composition rect for remote XUL frame. r?masayuki
Out of process support for Web extension creates another XUL widget for it.
We should calculate correct offset for Web Extension's remote widget.
MozReview-Commit-ID: AaALzLeKLsM
--- a/dom/ipc/TabParent.cpp
+++ b/dom/ipc/TabParent.cpp
@@ -2281,18 +2281,26 @@ TabParent::HandleQueryContentEvent(Widge
if (NS_WARN_IF(!mContentCache.HandleQueryContentEvent(aEvent, widget)) ||
NS_WARN_IF(!aEvent.mSucceeded)) {
return true;
}
switch (aEvent.mMessage) {
case eQueryTextRect:
case eQueryCaretRect:
case eQueryEditorRect:
+ {
+ nsCOMPtr<nsIWidget> widget = GetWidget();
+ nsCOMPtr<nsIWidget> docWidget = GetDocWidget();
+ if (widget != docWidget) {
+ aEvent.mReply.mRect +=
+ nsLayoutUtils::WidgetToWidgetOffset(widget, docWidget);
+ }
aEvent.mReply.mRect -= GetChildProcessOffset();
break;
+ }
default:
break;
}
return true;
}
bool
TabParent::SendCompositionEvent(WidgetCompositionEvent& aEvent)