Closed Bug 1263887 Opened 9 years ago Closed 9 years ago

[e10s] Select dropdowns in e10s mode do not notice changes to the <select> after it has opened.

Categories

(Core :: DOM: Core & HTML, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla49
Tracking Status
e10s m9+ ---
firefox47 --- wontfix
firefox48 --- fixed
firefox49 --- fixed

People

(Reporter: Ovidiu, Assigned: mconley)

References

Details

(Whiteboard: btpp-active)

Attachments

(3 files, 1 obsolete file)

Attached video Bug[e10s].mp4
[Affected versions]: Nightly 48.0a1 [Affected platforms]: Windows 7 x64 Mac OS X 10.10 Linux Ubuntu 14.04 [Steps to reproduce]: 1. Go to http://fashionchoice.bg/?product=efekten-maksi-zhaket-za-proletta-s-dzhobcheta-v-chetiri-tsvyata 2. You have 2 dropdowns menus, from the first choose 1 item 3. Go to the second dropdown and choose 1 size 4.Go back to the first dropdown and try to choose 1 item again [Expected result]: In the dropdown menu I can see a list of item from where I can choose. [Actual result]: I can't see the list in the dropdown only if I click it again. [Notes]: This is a e10s issue, I can't reproduce it with e10s disabled. I attached a video where you can see the behaviour of this bug.
tracking-e10s: --- → ?
Assignee: nobody → mconley
Flags: needinfo?(mconley)
Whiteboard: btpp-active
The problem here is that script on the page is adding <option> elements to the list after it's been opened, and we're not responding to that.
Flags: needinfo?(mconley)
Summary: [e10s] The dropdown selector is not working properly. → [e10s] Select dropdowns in e10s mode do not notice changes to the <select> after it has opened.
Attachment #8742536 - Attachment description: MozReview Request: Bug 1263887 - Update <select>'s on mutation. → MozReview Request: Bug 1263887 - Update <select>'s on mutation for e10s. r?felipe
Attachment #8742909 - Flags: review?(enndeakin)
Attachment #8742536 - Flags: review?(felipc)
Comment on attachment 8742536 [details] MozReview Request: Bug 1263887 - Update <select>'s on mutation for e10s. r=Felipe Review request updated; see interdiff: https://reviewboard.mozilla.org/r/47267/diff/1-2/
Comment on attachment 8742909 [details] MozReview Request: Bug 1263887 - Update the active child on a menulist when setting selection. r=enndeakin https://reviewboard.mozilla.org/r/47475/#review44505
Attachment #8742909 - Flags: review?(enndeakin) → review+
Attachment #8742536 - Flags: review?(felipc) → review+
Comment on attachment 8742536 [details] MozReview Request: Bug 1263887 - Update <select>'s on mutation for e10s. r=Felipe https://reviewboard.mozilla.org/r/47267/#review44927
Backed out for failures in CTP tests, e.g. browser_CTP_crashreporting.js Backouts: https://hg.mozilla.org/integration/mozilla-inbound/rev/4b16c1609af5 https://hg.mozilla.org/integration/mozilla-inbound/rev/78b83b86b1aa Push with failures: https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&revision=48ba2783004140f0331ffd4764363b5b0040f127 Failure log: https://treeherder.mozilla.org/logviewer.html#?job_id=26348111&repo=mozilla-inbound 14:54:33 INFO - 101 INFO Entering test bound 14:54:33 INFO - 102 INFO TEST-PASS | browser/base/content/test/plugins/browser_CTP_crashreporting.js | Plugin should not be activated - 14:54:33 INFO - 103 INFO TEST-UNEXPECTED-FAIL | browser/base/content/test/plugins/browser_CTP_crashreporting.js | uncaught exception - TypeError: this.menuBoxObject is undefined at set_selectedItem@chrome://global/content/bindings/menulist.xml:257:13 14:54:33 INFO - set_value@chrome://global/content/bindings/menulist.xml:111:15 14:54:33 INFO - plugin-popupnotification-center-item_XBL_Constructor@chrome://browser/content/urlbarBindings.xml:1856:9 14:54:33 INFO - PopupNotifications_showPanel/promise<@resource://gre/modules/PopupNotifications.jsm:747:1 14:54:33 INFO - Handler.prototype.process@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:937:23 14:54:33 INFO - this.PromiseWalker.walkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:816:7 14:54:33 INFO - Promise*this.PromiseWalker.scheduleWalkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:747:11 14:54:33 INFO - this.PromiseWalker.schedulePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:779:7 14:54:33 INFO - this.PromiseWalker.completePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:714:7 14:54:33 INFO - receiveMessage@resource://testing-common/ContentTask.jsm:113:9 14:54:33 INFO - Stack trace: 14:54:33 INFO - chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:simpletestOnerror:1563 14:54:33 INFO - resource://gre/modules/PopupNotifications.jsm:PopupNotifications_showPanel/promise<:747 14:54:33 INFO - resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:Handler.prototype.process:937 14:54:33 INFO - resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:this.PromiseWalker.walkerLoop:816 14:54:33 INFO - JavaScript error: chrome://global/content/bindings/menulist.xml, line 257: TypeError: this.menuBoxObject is undefined 14:54:33 INFO - 104 INFO Console message: [JavaScript Error: "TypeError: this.menuBoxObject is undefined" {file: "chrome://global/content/bindings/menulist.xml" line: 257}] 14:54:33 INFO - set_selectedItem@chrome://global/content/bindings/menulist.xml:257:13 14:54:33 INFO - set_value@chrome://global/content/bindings/menulist.xml:111:15 14:54:33 INFO - plugin-popupnotification-center-item_XBL_Constructor@chrome://browser/content/urlbarBindings.xml:1856:9 14:54:33 INFO - PopupNotifications_showPanel/promise<@resource://gre/modules/PopupNotifications.jsm:747:1 14:54:33 INFO - Handler.prototype.process@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:937:23 14:54:33 INFO - this.PromiseWalker.walkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:816:7 14:54:33 INFO - Promise*this.PromiseWalker.scheduleWalkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:747:11 14:54:33 INFO - this.PromiseWalker.schedulePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:779:7 14:54:33 INFO - this.PromiseWalker.completePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:714:7 14:54:33 INFO - receiveMessage@resource://testing-common/ContentTask.jsm:113:9 14:54:33 INFO - Xlib: extension "RANDR" missing on display ":0".
Flags: needinfo?(mconley)
Comment on attachment 8742909 [details] MozReview Request: Bug 1263887 - Update the active child on a menulist when setting selection. r=enndeakin Review request updated; see interdiff: https://reviewboard.mozilla.org/r/47475/diff/1-2/
Attachment #8742909 - Attachment description: MozReview Request: Bug 1263887 - Update the active child on a menulist when setting selection. r?Enn → MozReview Request: Bug 1263887 - Update the active child on a menulist when setting selection. r=enndeakin+6102
Attachment #8742536 - Attachment description: MozReview Request: Bug 1263887 - Update <select>'s on mutation for e10s. r?felipe → MozReview Request: Bug 1263887 - Update <select>'s on mutation for e10s. r=Felipe
Comment on attachment 8742536 [details] MozReview Request: Bug 1263887 - Update <select>'s on mutation for e10s. r=Felipe Review request updated; see interdiff: https://reviewboard.mozilla.org/r/47267/diff/2-3/
Comment on attachment 8742909 [details] MozReview Request: Bug 1263887 - Update the active child on a menulist when setting selection. r=enndeakin Review request updated; see interdiff: https://reviewboard.mozilla.org/r/47475/diff/2-3/
Attachment #8742909 - Attachment description: MozReview Request: Bug 1263887 - Update the active child on a menulist when setting selection. r=enndeakin+6102 → MozReview Request: Bug 1263887 - Update the active child on a menulist when setting selection. r=enndeakin
Comment on attachment 8742536 [details] MozReview Request: Bug 1263887 - Update <select>'s on mutation for e10s. r=Felipe Review request updated; see interdiff: https://reviewboard.mozilla.org/r/47267/diff/3-4/
Flags: needinfo?(mconley)
*sigh*. Sorry about that - I was pretty sure that was going to work. I'll do a try push before trying another landing.
Flags: needinfo?(mconley)
Comment on attachment 8742536 [details] MozReview Request: Bug 1263887 - Update <select>'s on mutation for e10s. r=Felipe Review request updated; see interdiff: https://reviewboard.mozilla.org/r/47267/diff/4-5/
Try looks good - third time's the charm.
Hey yzen, it looks like the problem with the test hinges on the change I made to menulist.xml. Apparently, even just accessing this.menuBoxObject.activeChild (and not setting it) is enough to cause the accessible/tests/mochitest/selectable/test_menulist.xul test to break with: 26 INFO TEST-UNEXPECTED-FAIL | chrome://mochitests/content/a11y/accessible/tests/mochitest/selectable/test_menulist.xul | addItemToSelection(1): getSelectedChildren: wrong selected children count for ['menupopup node', address: [object XULElement], role: combobox list, name: 'item2', address: [xpconnect wrapped (nsISupports, nsIAccessible, nsIAccessibleSelectable)]] - got +0, expected 1 SimpleTest.is@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:268:5 testSelectableSelection@chrome://mochitests/content/a11y/accessible/tests/mochitest/selectable.js:19:3 doTest/<@chrome://mochitests/content/a11y/accessible/tests/mochitest/selectable/test_menulist.xul:47:9 setTimeout handler*SimpleTest_setTimeoutShim@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:622:12 doTest@chrome://mochitests/content/a11y/accessible/tests/mochitest/selectable/test_menulist.xul:46:7 setTimeout handler*SimpleTest_setTimeoutShim@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:622:12 addA11yLoadEvent/waitForDocLoad/<@chrome://mochitests/content/a11y/accessible/tests/mochitest/common.js:169:9 setTimeout handler*SimpleTest_setTimeoutShim@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:622:12 waitForDocLoad@chrome://mochitests/content/a11y/accessible/tests/mochitest/common.js:159:5 SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:741:59 27 INFO TEST-UNEXPECTED-FAIL | chrome://mochitests/content/a11y/accessible/tests/mochitest/selectable/test_menulist.xul | Can't get accessible for 'cb1_item2' getAccessible@chrome://mochitests/content/a11y/accessible/tests/mochitest/common.js:276:9 testSelectableSelection@chrome://mochitests/content/a11y/accessible/tests/mochitest/selectable.js:24:23 doTest/<@chrome://mochitests/content/a11y/accessible/tests/mochitest/selectable/test_menulist.xul:47:9 setTimeout handler*SimpleTest_setTimeoutShim@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:622:12 doTest@chrome://mochitests/content/a11y/accessible/tests/mochitest/selectable/test_menulist.xul:46:7 setTimeout handler*SimpleTest_setTimeoutShim@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:622:12 addA11yLoadEvent/waitForDocLoad/<@chrome://mochitests/content/a11y/accessible/tests/mochitest/common.js:169:9 setTimeout handler*SimpleTest_setTimeoutShim@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:622:12 waitForDocLoad@chrome://mochitests/content/a11y/accessible/tests/mochitest/common.js:159:5 SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:741:59 28 INFO TEST-UNEXPECTED-FAIL | chrome://mochitests/content/a11y/accessible/tests/mochitest/selectable/test_menulist.xul | uncaught exception - TypeError: selectedChildren is null at testSelectableSelection@chrome://mochitests/content/a11y/accessible/tests/mochitest/selectable.js:25:9 doTest/<@chrome://mochitests/content/a11y/accessible/tests/mochitest/selectable/test_menulist.xul:47:9 setTimeout handler*SimpleTest_setTimeoutShim@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:622:12 doTest@chrome://mochitests/content/a11y/accessible/tests/mochitest/selectable/test_menulist.xul:46:7 setTimeout handler*SimpleTest_setTimeoutShim@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:622:12 addA11yLoadEvent/waitForDocLoad/<@chrome://mochitests/content/a11y/accessible/tests/mochitest/common.js:169:9 setTimeout handler*SimpleTest_setTimeoutShim@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:622:12 waitForDocLoad@chrome://mochitests/content/a11y/accessible/tests/mochitest/common.js:159:5 SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:741:59 Do you know why that is?
Flags: needinfo?(yzenevich)
Comment on attachment 8742536 [details] MozReview Request: Bug 1263887 - Update <select>'s on mutation for e10s. r=Felipe Review request updated; see interdiff: https://reviewboard.mozilla.org/r/47267/diff/5-6/
Attachment #8742909 - Attachment is obsolete: true
Taking ni? off, since we chatted in IRC
Flags: needinfo?(yzenevich)
Comment on attachment 8742536 [details] MozReview Request: Bug 1263887 - Update <select>'s on mutation for e10s. r=Felipe Review request updated; see interdiff: https://reviewboard.mozilla.org/r/47267/diff/6-7/
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla48
Target Milestone: mozilla48 → mozilla49
Mike, should we uplift your <select> fix to Aurora 48, in case we can enable e10s for some release users with Firefox 48?
Flags: needinfo?(mconley)
Yep. Will request uplift now that this has had time to bake.
Flags: needinfo?(mconley)
Comment on attachment 8742536 [details] MozReview Request: Bug 1263887 - Update <select>'s on mutation for e10s. r=Felipe Approval Request Comment [Feature/regressing bug #]: e10s [User impact if declined]: Users that have e10s enabled, and have opened <select> drop downs on pages that modify the contents of that <select> with script will not see those changes manifest until the <select> is re-opened. [Describe test coverage new/current, TreeHerder]: Manual testing, though it's had a number of days to bake now. [Risks and why]: Pretty low, and this affects e10s only. [String/UUID change made/needed]: None.
Attachment #8742536 - Flags: approval-mozilla-aurora?
Comment on attachment 8742536 [details] MozReview Request: Bug 1263887 - Update <select>'s on mutation for e10s. r=Felipe Fix for dropdown menus, please uplift to aurora.
Attachment #8742536 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Component: DOM → DOM: Core & HTML
Duplicate of this bug: 1244007
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: