Closed Bug 1650795 Opened 4 years ago Closed 4 years ago

Implement TabDialogBox to show dialogs on tab level

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

(Blocks 1 open bug)

Details

Attachments

(2 files)

We have multiple use cases where we should like to show dialogs on tab level instead of separate windows. For example, tab level chrome prompts and the new print preview UI (Bug 1648868).

Implement a TabDialogBox which lives in browser.js (similar to TabPromptBox) and supports opening and managing dialogs via the SubDialog class.

Please assign severity of N/A for enhancements/tasks.

Severity: -- → N/A
Priority: -- → P2
Blocks: 1651958
Attachment #9163756 - Attachment description: Bug 1650795 - Added tab dialog box. r=gijs! → Bug 1650795 - Implemented TabDialogBox to show chrome dialogs embedded on tab level. r=gijs
Blocks: 1658722
Pushed by pzuhlcke@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/fc4dcfaf3938 Update PopupNotifications to check suppressed state on tab switch. r=Gijs https://hg.mozilla.org/integration/autoland/rev/c8945eb14177 Implemented TabDialogBox to show chrome dialogs embedded on tab level. r=Gijs,preferences-reviewers
Backout by ncsoregi@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/634c12eeb277 Backed out 7 changesets (bug 1650795, bug 1651958) for failures on test_modal_prompts.html . CLOSED TREE
Pushed by pzuhlcke@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/b79f254df4cb Update PopupNotifications to check suppressed state on tab switch. r=Gijs https://hg.mozilla.org/integration/autoland/rev/a6c58935e1d8 Implemented TabDialogBox to show chrome dialogs embedded on tab level. r=Gijs,preferences-reviewers

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/8274ccf6a05f Update PopupNotifications to check suppressed state on tab switch. r=Gijs https://hg.mozilla.org/integration/autoland/rev/bda4bce8e69d Implemented TabDialogBox to show chrome dialogs embedded on tab level. r=Gijs,preferences-reviewers

test_master_password.html had a test case where it was expecting the prompt to stay open. The patch now accounts for that.

Flags: needinfo?(pbz)
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 81 Branch
Regressions: 1659598
Blocks: 1661030
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: