Closed Bug 1651958 Opened 4 years ago Closed 4 years ago

Show tab chrome prompts in TabDialogBox

Categories

(Toolkit Graveyard :: Notifications and Alerts, enhancement, P2)

enhancement

Tracking

(firefox81 fixed)

RESOLVED FIXED
81 Branch
Tracking Status
firefox81 --- fixed

People

(Reporter: pbz, Assigned: pbz)

References

Details

Attachments

(5 files)

For Bug 1650795 I'm implementing a box on tab level which can load dialogs in a browser element using SubDialog.jsm.

We should use this TabDialogBox to show tab chrome prompts instead of the TabModalPromptBox.

This will simplify the code since they behave very similar to standalone windows. The TabDialogBox can also handle closing the prompts on navigation, so the PromptParent actor does not have to keep track of the chrome prompts anymore.

SubDialog supports injecting custom stylesheets which can be used to implement the new prompt UX by restyling commonDialog. See Bug 1634140 for UX design.

Pushed by pzuhlcke@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/247880941893 For embedded CommonDialogs postpone init to onload to fix initial focus in SubDialog. r=Gijs https://hg.mozilla.org/integration/autoland/rev/c2bc9c8d2e97 Show tab chrome prompts in TabDialogBox. r=Gijs https://hg.mozilla.org/integration/autoland/rev/54ea7a160e0d When closing prompts via TabDialogBox due to location change, teardown or tab close mark them as aborted. r=Gijs https://hg.mozilla.org/integration/autoland/rev/f7893f4dc092 Enable SubDialog prompts in TabDialogBox for Nightly only. r=Gijs https://hg.mozilla.org/integration/autoland/rev/505f46d2cd97 Updated prompt tests to support SubDialog chrome prompts. r=Gijs

Backed out for failures on test_modal_prompts.html

backout: https://hg.mozilla.org/integration/autoland/rev/634c12eeb2771d8913a7b538de42eb4615fdd09b

push: https://treeherder.mozilla.org/#/jobs?repo=autoland&group_state=expanded&revision=505f46d2cd97cf691cc26a107a6c6dc9dd45db23&selectedTaskRun=EfngloqwTCOl3rG4V8Vu2A.0

failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=312957436&repo=autoland&lineNumber=110086

[task 2020-08-13T20:50:17.871Z] 20:50:17 INFO - TEST-PASS | toolkit/components/prompts/test/test_modal_prompts.html | Checking expected message
[task 2020-08-13T20:50:17.871Z] 20:50:17 INFO - Buffered messages finished
[task 2020-08-13T20:50:17.871Z] 20:50:17 INFO - TEST-UNEXPECTED-FAIL | toolkit/components/prompts/test/test_modal_prompts.html | Checking title visibility - got false, expected true
[task 2020-08-13T20:50:17.871Z] 20:50:17 INFO - SimpleTest.is@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:500:14
[task 2020-08-13T20:50:17.871Z] 20:50:17 INFO - checkPromptState@chrome://mochitests/content/chrome/toolkit/components/prompts/test/prompt_common.js:200:7
[task 2020-08-13T20:50:17.871Z] 20:50:17 INFO - handlePrompt@chrome://mochitests/content/chrome/toolkit/components/prompts/test/prompt_common.js:190:19
[task 2020-08-13T20:50:17.871Z] 20:50:17 INFO - TEST-PASS | toolkit/components/prompts/test/test_modal_prompts.html | Checking textbox visibility

Flags: needinfo?(pbz)
Flags: needinfo?(pbz)
Pushed by pzuhlcke@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/7e66e5431ef7 For embedded CommonDialogs postpone init to onload to fix initial focus in SubDialog. r=Gijs https://hg.mozilla.org/integration/autoland/rev/e7194e7e7ecc Show tab chrome prompts in TabDialogBox. r=Gijs https://hg.mozilla.org/integration/autoland/rev/70a61c971427 When closing prompts via TabDialogBox due to location change, teardown or tab close mark them as aborted. r=Gijs https://hg.mozilla.org/integration/autoland/rev/a3f28fadcdf3 Enable SubDialog prompts in TabDialogBox for Nightly only. r=Gijs https://hg.mozilla.org/integration/autoland/rev/4812945bfaf2 Updated prompt tests to support SubDialog chrome prompts. r=Gijs

Backed out 7 changesets (bug 1650795, bug 1651958) for test_master_password.html failures

Push with failures: https://treeherder.mozilla.org/#/jobs?repo=autoland&group_state=expanded&resultStatus=pending%2Crunning%2Csuccess%2Ctestfailed%2Cbusted%2Cexception&searchStr=os%2Cx%2C10.14%2Cdebug%2Cmochitests%2Ctest-macosx1014-64%2Fdebug-mochitest-plain-e10s%2C1&fromchange=cd100ad06a486ab1a2c50042367cc458f7fcdf17&selectedTaskRun=PTcnRcw6QIW6ouUSnChESA.0&tochange=71a6d628bf09d8b3da26510d75b16b07ca7cdee2

Backout link: https://hg.mozilla.org/integration/autoland/rev/ea1d00fb876bb2dfdcdcb70d91a54be92e064712

Failure log: https://treeherder.mozilla.org/logviewer.html#/jobs?job_id=313054340&repo=autoland&lineNumber=18498

[task 2020-08-14T20:01:11.126Z] 20:01:11     INFO - TEST-START | toolkit/components/passwordmgr/test/mochitest/test_master_password.html
[task 2020-08-14T20:01:11.435Z] 20:01:11     INFO - GECKO(2932) | MP change from  to omgsecret!
[task 2020-08-14T20:01:11.478Z] 20:01:11     INFO - GECKO(2932) | [Parent 2932, Main Thread] WARNING: NS_ENSURE_TRUE(rootFrame) failed: file /builds/worker/checkouts/gecko/dom/base/nsGlobalWindowOuter.cpp, line 4248
[task 2020-08-14T20:01:11.528Z] 20:01:11     INFO - GECKO(2932) | [Parent 2932, Main Thread] WARNING: NS_ENSURE_TRUE(root) failed: file /builds/worker/checkouts/gecko/layout/base/nsDocumentViewer.cpp, line 2816
[task 2020-08-14T20:01:12.309Z] 20:01:12     INFO - GECKO(2932) | [Parent 2932, Main Thread] WARNING: NS_ENSURE_TRUE(rootFrame) failed: file /builds/worker/checkouts/gecko/dom/base/nsGlobalWindowOuter.cpp, line 4248
[task 2020-08-14T20:01:12.351Z] 20:01:12     INFO - GECKO(2932) | [Parent 2932, Main Thread] WARNING: NS_ENSURE_TRUE(root) failed: file /builds/worker/checkouts/gecko/layout/base/nsDocumentViewer.cpp, line 2816
[task 2020-08-14T20:01:13.012Z] 20:01:13     INFO - GECKO(2932) | JavaScript error: resource://gre/modules/crypto-SDR.js, line 195: NS_ERROR_ABORT: User canceled master password entry
[task 2020-08-14T20:01:13.012Z] 20:01:13     INFO - GECKO(2932) | JavaScript error: resource://gre/modules/crypto-SDR.js, line 195: NS_ERROR_ABORT: User canceled master password entry
[task 2020-08-14T20:01:13.012Z] 20:01:13     INFO - GECKO(2932) | JavaScript error: resource://gre/modules/crypto-SDR.js, line 195: NS_ERROR_ABORT: User canceled master password entry
[task 2020-08-14T20:01:13.121Z] 20:01:13     INFO - GECKO(2932) | [Parent 2932, Main Thread] WARNING: NS_ENSURE_TRUE(rootFrame) failed: file /builds/worker/checkouts/gecko/dom/base/nsGlobalWindowOuter.cpp, line 4248
[task 2020-08-14T20:01:13.161Z] 20:01:13     INFO - GECKO(2932) | [Parent 2932, Main Thread] WARNING: NS_ENSURE_TRUE(root) failed: file /builds/worker/checkouts/gecko/layout/base/nsDocumentViewer.cpp, line 2816
[task 2020-08-14T20:01:14.097Z] 20:01:14     INFO - GECKO(2932) | [Parent 2932, Main Thread] WARNING: NS_ENSURE_TRUE(rootFrame) failed: file /builds/worker/checkouts/gecko/dom/base/nsGlobalWindowOuter.cpp, line 4248
[task 2020-08-14T20:01:14.162Z] 20:01:14     INFO - GECKO(2932) | [Parent 2932, Main Thread] WARNING: NS_ENSURE_TRUE(root) failed: file /builds/worker/checkouts/gecko/layout/base/nsDocumentViewer.cpp, line 2816
[task 2020-08-14T20:03:58.632Z] 20:03:58     INFO - GECKO(2932) | 1597435438618	addons.xpi	ERROR	System addon update list error Error: got node name: html, expected: updates
[task 2020-08-14T20:06:34.509Z] 20:06:34     INFO - TEST-INFO | started process screencapture
[task 2020-08-14T20:06:34.617Z] 20:06:34     INFO - TEST-INFO | screencapture: exit 0
[task 2020-08-14T20:06:34.617Z] 20:06:34     INFO - Buffered messages logged at 20:01:11
[task 2020-08-14T20:06:34.620Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | Access LoginManager - true == true 
[task 2020-08-14T20:06:34.620Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | Not expecting logins to be present - 0 == 0 
[task 2020-08-14T20:06:34.621Z] 20:06:34     INFO - add_task | Entering test test_1
[task 2020-08-14T20:06:34.621Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | Checking for successful init login - 1 == 1 
[task 2020-08-14T20:06:34.621Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | Checking for no disabled hosts - 0 == 0 
[task 2020-08-14T20:06:34.621Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | should be initially logged in (no MP) 
[task 2020-08-14T20:06:34.622Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | should be logged out after setting MP 
[task 2020-08-14T20:06:34.622Z] 20:06:34     INFO - Buffered messages logged at 20:01:12
[task 2020-08-14T20:06:34.622Z] 20:06:34     INFO - checkPromptState: Expected: Please enter your Primary Password.
[task 2020-08-14T20:06:34.622Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | Checking expected message 
[task 2020-08-14T20:06:34.623Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | Checking title always visible on OS X 
[task 2020-08-14T20:06:34.623Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | Checking textbox visibility 
[task 2020-08-14T20:06:34.623Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | Checking passbox visibility 
[task 2020-08-14T20:06:34.623Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | Checking checkbox visibility 
[task 2020-08-14T20:06:34.623Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | Checking checkbox label 
[task 2020-08-14T20:06:34.624Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | Checking checkbox checked 
[task 2020-08-14T20:06:34.628Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | Checking expected icon CSS class 
[task 2020-08-14T20:06:34.628Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | Checking textbox value 
[task 2020-08-14T20:06:34.628Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | Checking passbox value 
[task 2020-08-14T20:06:34.629Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | checking button0 default 
[task 2020-08-14T20:06:34.629Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | checking button1 default 
[task 2020-08-14T20:06:34.629Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | checking button2 default 
[task 2020-08-14T20:06:34.629Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | Checking focused element 
[task 2020-08-14T20:06:34.629Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | expected number of logins 
[task 2020-08-14T20:06:34.630Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | should be logged in after MP prompt 
[task 2020-08-14T20:06:34.630Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | should be logged out 
[task 2020-08-14T20:06:34.630Z] 20:06:34     INFO - add_task | Leaving test test_1
[task 2020-08-14T20:06:34.630Z] 20:06:34     INFO - add_task | Entering test test_2
[task 2020-08-14T20:06:34.630Z] 20:06:34     INFO - Buffered messages logged at 20:01:13
[task 2020-08-14T20:06:34.630Z] 20:06:34     INFO - checkPromptState: Expected: Please enter your Primary Password.
[task 2020-08-14T20:06:34.631Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | Checking expected message 
[task 2020-08-14T20:06:34.631Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | Checking title always visible on OS X 
[task 2020-08-14T20:06:34.631Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | Checking textbox visibility 
[task 2020-08-14T20:06:34.631Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | Checking passbox visibility 
[task 2020-08-14T20:06:34.631Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | Checking checkbox visibility 
[task 2020-08-14T20:06:34.631Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | Checking checkbox label 
[task 2020-08-14T20:06:34.632Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | Checking checkbox checked 
[task 2020-08-14T20:06:34.632Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | Checking expected icon CSS class 
[task 2020-08-14T20:06:34.632Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | Checking textbox value 
[task 2020-08-14T20:06:34.632Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | Checking passbox value 
[task 2020-08-14T20:06:34.632Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | checking button0 default 
[task 2020-08-14T20:06:34.638Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | checking button1 default 
[task 2020-08-14T20:06:34.638Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | checking button2 default 
[task 2020-08-14T20:06:34.638Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | Checking focused element 
[task 2020-08-14T20:06:34.638Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | shouldn't have gotten logins 
[task 2020-08-14T20:06:34.638Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | should still be logged out 
[task 2020-08-14T20:06:34.638Z] 20:06:34     INFO - add_task | Leaving test test_2
[task 2020-08-14T20:06:34.639Z] 20:06:34     INFO - add_task | Entering test test_3
[task 2020-08-14T20:06:34.639Z] 20:06:34     INFO - Load a single iframe to trigger a MP
[task 2020-08-14T20:06:34.639Z] 20:06:34     INFO - checkPromptState: Expected: Please enter your Primary Password.
[task 2020-08-14T20:06:34.639Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | Checking expected message 
[task 2020-08-14T20:06:34.639Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | Checking title always visible on OS X 
[task 2020-08-14T20:06:34.639Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | Checking textbox visibility 
[task 2020-08-14T20:06:34.639Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | Checking passbox visibility 
[task 2020-08-14T20:06:34.639Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | Checking checkbox visibility 
[task 2020-08-14T20:06:34.639Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | Checking checkbox label 
[task 2020-08-14T20:06:34.640Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | Checking checkbox checked 
[task 2020-08-14T20:06:34.640Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | Checking expected icon CSS class 
[task 2020-08-14T20:06:34.640Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | Checking textbox value 
[task 2020-08-14T20:06:34.640Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | Checking passbox value 
[task 2020-08-14T20:06:34.640Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | checking button0 default 
[task 2020-08-14T20:06:34.640Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | checking button1 default 
[task 2020-08-14T20:06:34.640Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | checking button2 default 
[task 2020-08-14T20:06:34.640Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | Checking focused element 
[task 2020-08-14T20:06:34.640Z] 20:06:34     INFO - promptDone
[task 2020-08-14T20:06:34.640Z] 20:06:34     INFO - 1 form(s) processed
[task 2020-08-14T20:06:34.640Z] 20:06:34     INFO - filled
[task 2020-08-14T20:06:34.640Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | checking expected user to have been filled in - "user1" == "user1" 
[task 2020-08-14T20:06:34.641Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | checking expected pass to have been filled in - "pass1" == "pass1" 
[task 2020-08-14T20:06:34.641Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | should be logged in 
[task 2020-08-14T20:06:34.641Z] 20:06:34     INFO - TEST-PASS | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | should be logged out 
[task 2020-08-14T20:06:34.641Z] 20:06:34     INFO - add_task | Leaving test test_3
[task 2020-08-14T20:06:34.641Z] 20:06:34     INFO - add_task | Entering test test_4
[task 2020-08-14T20:06:34.641Z] 20:06:34     INFO - Buffered messages finished
[task 2020-08-14T20:06:34.641Z] 20:06:34     INFO - TEST-UNEXPECTED-FAIL | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | Test timed out. 
[task 2020-08-14T20:06:34.641Z] 20:06:34     INFO - SimpleTest.ok@https://example.com/tests/SimpleTest/SimpleTest.js:417:16
[task 2020-08-14T20:06:34.641Z] 20:06:34     INFO - reportError@https://example.com/tests/SimpleTest/TestRunner.js:143:22
[task 2020-08-14T20:06:34.641Z] 20:06:34     INFO - TestRunner._checkForHangs@https://example.com/tests/SimpleTest/TestRunner.js:165:18
[task 2020-08-14T20:06:35.538Z] 20:06:35     INFO - GECKO(2932) | MP change from omgsecret! to
[task 2020-08-14T20:06:35.555Z] 20:06:35     INFO - GECKO(2932) | MEMORY STAT | vsize 7359MB | residentFast 136MB | heapAllocated 18MB
[task 2020-08-14T20:06:35.596Z] 20:06:35     INFO - TEST-OK | toolkit/components/passwordmgr/test/mochitest/test_master_password.html | took 324452ms
Flags: needinfo?(pbz)
Pushed by pzuhlcke@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/2a9967883e08 For embedded CommonDialogs postpone init to onload to fix initial focus in SubDialog. r=Gijs https://hg.mozilla.org/integration/autoland/rev/288eba637e3a Show tab chrome prompts in TabDialogBox. r=Gijs https://hg.mozilla.org/integration/autoland/rev/6df76437b56c When closing prompts via TabDialogBox due to location change, teardown or tab close mark them as aborted. r=Gijs https://hg.mozilla.org/integration/autoland/rev/98213cd92d74 Enable SubDialog prompts in TabDialogBox for Nightly only. r=Gijs https://hg.mozilla.org/integration/autoland/rev/5a12a4906379 Updated prompt tests to support SubDialog chrome prompts. r=Gijs
Flags: needinfo?(pbz)
Regressions: 1663750
Blocks: 1664817
Regressed by: 1675972
No longer regressed by: 1675972
Regressions: 1675972
Product: Toolkit → Toolkit Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: