summaryrefslogtreecommitdiff
path: root/mozilla-1580174-webrtc-popup.patch
diff options
context:
space:
mode:
Diffstat (limited to 'mozilla-1580174-webrtc-popup.patch')
-rw-r--r--mozilla-1580174-webrtc-popup.patch51
1 files changed, 0 insertions, 51 deletions
diff --git a/mozilla-1580174-webrtc-popup.patch b/mozilla-1580174-webrtc-popup.patch
deleted file mode 100644
index f2c45b5..0000000
--- a/mozilla-1580174-webrtc-popup.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-diff --git a/widget/gtk/nsWindow.cpp b/widget/gtk/nsWindow.cpp
---- a/widget/gtk/nsWindow.cpp
-+++ b/widget/gtk/nsWindow.cpp
-@@ -1155,6 +1155,28 @@
- }
- }
-
-+bool IsPopupWithoutToplevelParent(nsMenuPopupFrame* aMenuPopupFrame) {
-+ // Check if the popup is autocomplete (like tags autocomplete
-+ // in the bookmark edit popup).
-+ nsAtom* popupId = aMenuPopupFrame->GetContent()->GetID();
-+ if (popupId && popupId->Equals(NS_LITERAL_STRING_FROM_CSTRING("PopupAutoComplete"))) {
-+ return true;
-+ }
-+
-+ // Check if the popup is in popupnotificationcontent (like choosing capture
-+ // device when starting webrtc session).
-+ nsIFrame* parentFrame = aMenuPopupFrame->GetParent();
-+ if (!parentFrame) {
-+ return false;
-+ }
-+ parentFrame = parentFrame->GetParent();
-+ if (parentFrame && parentFrame->GetContent()->NodeName().EqualsLiteral(
-+ "popupnotificationcontent")) {
-+ return true;
-+ }
-+ return false;
-+}
-+
- // Wayland keeps strong popup window hierarchy. We need to track active
- // (visible) popup windows and make sure we hide popup on the same level
- // before we open another one on that level. It means that every open
-@@ -1211,10 +1233,14 @@
- LOG(("...[%p] GetParentMenuWidget() = %p\n", (void*)this, parentWindow));
-
- // If the popup is a regular menu but GetParentMenuWidget() returns
-- // nullptr which means it's connected non-menu parent
-- // (bookmark toolbar for instance).
-+ // nullptr which means is not a submenu of any other menu.
- // In this case use a parent given at nsWindow::Create().
-- if (!parentWindow && !menuPopupFrame->IsContextMenu()) {
-+ // But we have to avoid using mToplevelParentWindow in case the popup
-+ // is in 'popupnotificationcontent' element or autocomplete popup,
-+ // otherwise the popupnotification would disappear when for
-+ // example opening a popup with microphone selection.
-+ if (!parentWindow && !menuPopupFrame->IsContextMenu() &&
-+ !IsPopupWithoutToplevelParent(menuPopupFrame)) {
- parentWindow =
- get_window_for_gtk_widget(GTK_WIDGET(mToplevelParentWindow));
- }
-
bgstack15