Closed Bug 1569570 Opened 2 months ago Closed Last month

Select elements fail to display dropdown in RDM

Categories

(DevTools :: Responsive Design Mode, defect, P1)

defect

Tracking

(firefox-esr60 unaffected, firefox-esr68 unaffected, firefox68 unaffected, firefox69+ verified, firefox70 verified)

VERIFIED FIXED
Firefox 70
Tracking Status
firefox-esr60 --- unaffected
firefox-esr68 --- unaffected
firefox68 --- unaffected
firefox69 + verified
firefox70 --- verified

People

(Reporter: miker, Assigned: miker)

References

(Blocks 2 open bugs, Regression)

Details

(Keywords: regression)

Attachments

(3 files)

Attached video no-dropdown.webm

STR

  1. Open https://bugzilla.mozilla.org/attachment.cgi?id=9083314
  2. Open RDM.
  3. Click the select element.

Expected

A dropdown should appear.

Actual

No dropdown appears.

Brad, could you get a regression window please?

Flags: needinfo?(bwerth)
Priority: -- → P1
Assignee: nobody → mratcliffe
Status: NEW → ASSIGNED

Regression window:
https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=5b1724bafc9387044cc794e9f69c31f151b26fd0&tochange=ffde2ba5b8c65039dea5d8de24ea9af111c35713

Regressed by: ffde2ba5b8c65039dea5d8de24ea9af111c35713 Abdoulaye O. Ly — Bug 1533958 - Make <select> works with Fission. r=NeilDeakin

Thank you so much for the regression window.
So fission refactorings in Firefox tend to break RDM because of the way RDM is architectured. We do want to fix this by re-building the RDM UI differently in bug 1549775, but fixing this bug will take a long time.
In the meantime, we should either make the fission changes to Firefox behind the fission pref if possible, or find a work around for RDM.

Regressed by: 1533958

The problem appears to be that RDM now requires it's own xul:menulist. I think that we can add this and just include the global styles... it all depends if adding a new XUL element to the mix causes and problems inside RDM.

Flags: needinfo?(bwerth)
Attachment #9083313 - Attachment description: [PARTIAL FIX] Bug 1569570 - Select elements fail to display dropdown in RDM → Bug 1569570 - Select elements fail to display dropdown in RDM r?bradwerth

With Fission, we have a direct communication channel between window Actors that are lazily created for each frame. So tunneling messages may not be a good idea since that will add an overhead of messages and instances of Actor. But, we may need to get the outer browser from the actors which can only access to the inner browser directly. To fix that, maybe we can expose the outer browser via the inner one in swap.js@start function with

Object.defineProperty(innerBrowser, "outerBrowser", {
        get() {
          return tab.linkedBrowser;
        },
        configurable: true,
        enumerable: true,
});

So that in SelectParent.jsm receiveMessage function we can do something like this:

let topBrowsingContext = this.manager.browsingContext.top;
let browser = topBrowsingContext.embedderElement; 
if (browser.outerBrowser) {
  // We are in RDM mode
  browser = browser.outerBrowser;
}

All we will need to do after that is to remove "Forms" related messages in tunnel.js.

Flags: needinfo?(mratcliffe)

[Tracking Requested - why for this release]: This is a fairly important regression that will make using webpages within RDM impossible in certain cases.

I'll remove more messages from tunnel.js in bug 1572712

Flags: needinfo?(mratcliffe)
Attachment #9083313 - Attachment description: Bug 1569570 - Select elements fail to display dropdown in RDM r?bradwerth → Bug 1569570 - Select elements fail to display dropdown in RDM r?layely!
Duplicate of this bug: 1572704
Blocks: 1572770
Pushed by mratcliffe@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/81d748db6e07
Select elements fail to display dropdown in RDM r=bradwerth,layely
Status: ASSIGNED → RESOLVED
Closed: Last month
Resolution: --- → FIXED
Target Milestone: --- → Firefox 70
Has Regression Range: --- → yes
Has STR: --- → yes

Comment on attachment 9083313 [details]
Bug 1569570 - Select elements fail to display dropdown in RDM r?layely!

Beta/Release Uplift Approval Request

  1. Tools -> Web Developer -> Responsive Design Mode
  2. Check that clicking the select box opens a dropdown.
  • List of other uplifts needed: None
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): It is just a very simple change.
  • String changes made/needed: None
Attachment #9083313 - Flags: approval-mozilla-beta?
Flags: qe-verify+

Comment on attachment 9083313 [details]
Bug 1569570 - Select elements fail to display dropdown in RDM r?layely!

Fix for broken dropdowns when RDM is active. Approved for 69.0b14.

Attachment #9083313 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
QA Whiteboard: [qa-triaged]

Reproduced the initial issue using an old Nightly build: 20190729095501
Verified - fixed on latest Nightly 70.0a1 (Build id: 20190813215212) on Windows 10, Ubuntu 18.04 and Mac OS 10.14
Waiting for Beta 69.0b14 to verify.

Verified - fixed on latest Beta 69.0b14 (Build id: 20190815163925) on Windows 10, Ubuntu 18.04 and Mac OS 10.14

Status: RESOLVED → VERIFIED
QA Whiteboard: [qa-triaged]
Flags: qe-verify+
Duplicate of this bug: 1318661
You need to log in before you can comment on or make changes to this bug.