Commit Graph

50 Commits

Author SHA1 Message Date
Andreea Pavel
aeb00aa39c Bug 1786514 - temporarily disable browser_tabdialogbox_content_prompts.js to reduce failure rate r=intermittent-reviewers,MasterWayZ DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D157722
2022-09-20 15:51:37 +00:00
Mark Banner
1e3410cbdd Bug 1782008 - Remove now unnecessary .eslintrc.js files. r=webcompat-reviewers,extension-reviewers,media-playback-reviewers,pip-reviewers,denschub,rpl,alwu,mossop
Differential Revision: https://phabricator.services.mozilla.com/D152736
2022-08-03 11:16:20 +00:00
Emilio Cobos Álvarez
51af54fe65 Bug 1774378 - Make select code harder to mess up. r=Gijs
Right now we rely on the menulist to be injected by hand in all the
relevant windows. Instead create it lazily, making the select code more
standalone.

The DevTools window was missing it, for example.

Differential Revision: https://phabricator.services.mozilla.com/D149620
2022-06-21 21:42:58 +00:00
Gijs Kruitbosch
edda40141b Bug 1753696 - Automatic rewrite: replace add_task(setup with add_setup in browser mochitest, r=Standard8,webcompat-reviewers,twisniewski
Differential Revision: https://phabricator.services.mozilla.com/D141437
2022-03-30 16:16:42 +00:00
Norisz Fay
e1d7571cc8 Backed out 2 changesets (bug 1753696) for causing multiple dt and bc failures CLOSED TREE
Backed out changeset 67fd9edfbcea (bug 1753696)
Backed out changeset a9d957ea887b (bug 1753696)
2022-03-30 12:17:55 +03:00
Gijs Kruitbosch
1214ac636b Bug 1753696 - Automatic rewrite: replace add_task(setup with add_setup in browser mochitest, r=Standard8,webcompat-reviewers,twisniewski
Differential Revision: https://phabricator.services.mozilla.com/D141437
2022-03-30 08:18:51 +00:00
Emilio Cobos Álvarez
64175b6c73 Bug 1744009 - Simplify combobox <select> code. r=mconley,dholbert
With this patch on its own we get some a11y tests failures, but those
are fixed on a later patch.

Combobox select no longer creates frames for its <options>, nor an
nsListControlFrame. Instead, it computes its right intrinsic size using
the largest size of the options. This is better, because we render the
option text using the select style so if the select and option styles
are mismatched it'd cause changes in the size of the select when text
changes. See the following in a build without the patch, for example:

  <select>
    <option>ABC</option>
    <option style="font-size: 1px">Something long</option>
  </select>

This seems like a rather obscure case, but it's important to get it
right, see bug 1741888.

With this patch we use the same setup in content and parent processes
(this needs bug 1596852 and bug 1744152). This means we can remove a
bunch of the native view and popup code in nsListControlFrame. A couple
browser_* tests are affected by this change and have been tweaked
appropriately (the changes there are trivial).

Not creating an nsListControlFrame for dropdown select means that we
need to move a bunch of the event handling code from nsListControlFrame
to a common place that nsComboboxControlFrame can also use. That place
is HTMLSelectEventListener, and I think the setup is much nicer than
having the code intertwined with nsListControlFrame. It should be
relatively straight-forward to review, mostly moving code from one part
to another.

Another thing that we need to do in HTMLSelectEventListener that we
didn't use to do is listening for DOM mutations on the dropdown. Before,
we were relying on changes like text mutations triggering a reflow of
the listcontrolframe, which also triggered a reflow of the
comboboxcontrolframe, which in turn updated the text of the anonymous
content. Now we need to trigger that reflow manually.

There are some further simplifications that can be done after this
lands (cleanup naming of openInParentProcess and so on, among others),
but I'd rather land this first (after the merge of course) and work on
them separately.

Differential Revision: https://phabricator.services.mozilla.com/D132719
2022-01-17 11:10:05 +00:00
Marian-Vasile Laza
84e23c5194 Backed out 2 changesets (bug 1744009) for causing reftest failures on select-3.html.
Backed out changeset 3e44e31d3d12 (bug 1744009)
Backed out changeset 619389788775 (bug 1744009)
2022-01-17 11:14:27 +02:00
Emilio Cobos Álvarez
d4e563138d Bug 1744009 - Simplify combobox <select> code. r=mconley,dholbert
With this patch on its own we get some a11y tests failures, but those
are fixed on a later patch.

Combobox select no longer creates frames for its <options>, nor an
nsListControlFrame. Instead, it computes its right intrinsic size using
the largest size of the options. This is better, because we render the
option text using the select style so if the select and option styles
are mismatched it'd cause changes in the size of the select when text
changes. See the following in a build without the patch, for example:

  <select>
    <option>ABC</option>
    <option style="font-size: 1px">Something long</option>
  </select>

This seems like a rather obscure case, but it's important to get it
right, see bug 1741888.

With this patch we use the same setup in content and parent processes
(this needs bug 1596852 and bug 1744152). This means we can remove a
bunch of the native view and popup code in nsListControlFrame. A couple
browser_* tests are affected by this change and have been tweaked
appropriately (the changes there are trivial).

Not creating an nsListControlFrame for dropdown select means that we
need to move a bunch of the event handling code from nsListControlFrame
to a common place that nsComboboxControlFrame can also use. That place
is HTMLSelectEventListener, and I think the setup is much nicer than
having the code intertwined with nsListControlFrame. It should be
relatively straight-forward to review, mostly moving code from one part
to another.

Another thing that we need to do in HTMLSelectEventListener that we
didn't use to do is listening for DOM mutations on the dropdown. Before,
we were relying on changes like text mutations triggering a reflow of
the listcontrolframe, which also triggered a reflow of the
comboboxcontrolframe, which in turn updated the text of the anonymous
content. Now we need to trigger that reflow manually.

There are some further simplifications that can be done after this
lands (cleanup naming of openInParentProcess and so on, among others),
but I'd rather land this first (after the merge of course) and work on
them separately.

Differential Revision: https://phabricator.services.mozilla.com/D132719
2022-01-16 23:31:22 +00:00
Gijs Kruitbosch
8af32df18d Bug 1735314 - tests, r=pbz
Differential Revision: https://phabricator.services.mozilla.com/D128191
2021-12-08 14:12:07 +00:00
Christoph Kerschbaumer
5ee0a6a910 Bug 1719272: Annotate failing browser/ tests to potentially enable https-first mode in Nightly r=webcompat-reviewers,denschub,webdriver-reviewers,preferences-reviewers,Gijs,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D119177
2021-07-28 19:16:16 +00:00
Sandor Molnar
5e383dfda4 Backed out changeset 7eb8945dd8e3 (bug 1719272) for causing bustages in gecko decision task. CLOSED TREE 2021-07-28 19:47:06 +03:00
Christoph Kerschbaumer
8fef13ba13 Bug 1719272: Annotate failing browser/ tests to potentially enable https-first mode in Nightly r=webcompat-reviewers,denschub,webdriver-reviewers,preferences-reviewers,Gijs,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D119177
2021-07-28 16:08:07 +00:00
Mark Striemer
52ee5d15ce Bug 1666247 - Part 2: Return dialog from tabDialogBox.open r=pbz
Depends on D102356

Differential Revision: https://phabricator.services.mozilla.com/D103525
2021-07-08 03:54:19 +00:00
Michelle Goossens
768388d608 Bug 1711480 - Remove proton doorhanger and modal pref changes from tests r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D115248
2021-05-17 23:04:49 +00:00
Shane Caraveo
ed4d02e2ae Bug 1687762 fix deprecated extension api use r=robwu
Differential Revision: https://phabricator.services.mozilla.com/D111966
2021-04-30 20:31:40 +00:00
Gijs Kruitbosch
0ae5791cc1 Bug 1704616 - fix modal tests that break with proton modals enabled, r=mak
Differential Revision: https://phabricator.services.mozilla.com/D111846
2021-04-13 20:42:25 +00:00
Hector Zhao
549cc3c27d Bug 1694882 - WebExtension alerts should show the extension name as the origin. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D107320
2021-03-05 10:29:16 +00:00
Micah Tigley
3a08a5444e Bug 1689420 - Fix origin header for null principal content dialogs. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D103810
2021-02-05 17:39:10 +00:00
Paul Zuehlcke
089bde5df0 Bug 1686989 - Fixed SubDialogManager focus issues and added support for custom focus handlers. r=Gijs
- Content embedded by SubDialog can define its own focus handler which will be called on SubDialog#focus
- Updated CommonDialog to register custom focus handler
- Moved focus calls from SubDialog to SubDialogManager
- Return early after tab dialog focus on tab switch

Differential Revision: https://phabricator.services.mozilla.com/D102298
2021-01-27 11:33:57 +00:00
smolnar
f4beabe28a Backed out 2 changesets (bug 1686989, bug 1684469) for causing mochitest failures in browser_basicAuth_multiTab. CLOSED TREE
Backed out changeset b2aa38ecfb55 (bug 1684469)
Backed out changeset d96ac6e7874e (bug 1686989)
2021-01-26 15:36:54 +02:00
Paul Zuehlcke
4c6fe5d82d Bug 1686989 - Fixed SubDialogManager focus issues and added support for custom focus handlers. r=Gijs
- Content embedded by SubDialog can define its own focus handler which will be called on SubDialog#focus
- Updated CommonDialog to register custom focus handler
- Moved focus calls from SubDialog to SubDialogManager
- Return early after tab dialog focus on tab switch

Differential Revision: https://phabricator.services.mozilla.com/D102298
2021-01-26 10:33:51 +00:00
Csoregi Natalia
94e791f120 Backed out 2 changesets (bug 1686989, bug 1684469) for auth and dialog box failures. CLOSED TREE
Backed out changeset 111af4c2bf6b (bug 1684469)
Backed out changeset 81794f8a220b (bug 1686989)
2021-01-25 21:47:43 +02:00
Paul Zuehlcke
7f875fd440 Bug 1686989 - Fixed SubDialogManager focus issues and added support for custom focus handlers. r=Gijs
- Content embedded by SubDialog can define its own focus handler which will be called on SubDialog#focus
- Updated CommonDialog to register custom focus handler
- Moved focus calls from SubDialog to SubDialogManager
- Return early after tab dialog focus on tab switch

Differential Revision: https://phabricator.services.mozilla.com/D102298
2021-01-25 17:36:18 +00:00
Micah Tigley
9728d49273 Bug 1682393 - Show origin for tabmodal alert/confirm/prompt dialogs. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D102077
2021-01-20 17:00:36 +00:00
Dorel Luca
68b3c1f065 Backed out changeset cc07576670e7 (bug 1682393) for Browser-chrome in browser/base/content/test/tabdialogs/browser_tabdialogbox_content_prompts.js. CLOSED TREE 2021-01-20 03:43:18 +02:00
Micah Tigley
836727bcfa Bug 1682393 - Show origin for tabmodal alert/confirm/prompt dialogs. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D102077
2021-01-19 20:27:10 +00:00
Brindusan Cristian
587d34de84 Backed out changeset 8ef2ff6e404d (bug 1682393) for mochitest failures at test_modal_prompts.html and bc failures on browser_tabdialogbox_content_prompts.js. CLOSED TREE 2021-01-19 00:46:10 +02:00
Micah Tigley
35ce0c6712 Bug 1682393 - Show origin for tabmodal alert/confirm/prompt dialogs. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D102077
2021-01-18 22:06:02 +00:00
Micah Tigley
e6541ef741 Bug 1680637 - Rename TabDialogBox's manager to tabDialogManager r=marionette-reviewers,Gijs
To clarify the two separate SubDialog managers managed by TabDialogManager, this patch renames `_.dialogManager` to `._tabDialogManager`.

Depends on D100066

Differential Revision: https://phabricator.services.mozilla.com/D100955
2021-01-14 06:55:55 +00:00
Micah Tigley
4b30b1b9e9 Bug 1680637 - Add a dialog manager for content prompts in TabDialogBox r=jaws,Gijs
The TabDialogBox will manage two separate SubDialog managers at the tab and content level. Dialogs managed at the tab level will always be on top of content ones and should always receive focus first when tab switching or refocusing the window.

Differential Revision: https://phabricator.services.mozilla.com/D100066
2021-01-14 06:55:55 +00:00
Butkovits Atila
24473dc461 Backed out 4 changesets (bug 1680637, bug 1682395) for causing Marionette failures. CLOSED TREE
Backed out changeset 073e0be7db95 (bug 1680637)
Backed out changeset 552b91b31b0f (bug 1682395)
Backed out changeset c80de6c72779 (bug 1680637)
Backed out changeset d513e228b0ad (bug 1680637)
2021-01-13 02:13:06 +02:00
Micah Tigley
6e23f8d01a Bug 1680637 - Rename TabDialogBox's manager to tabDialogManager r=marionette-reviewers,Gijs
To clarify the two separate SubDialog managers managed by TabDialogManager, this patch renames `_.dialogManager` to `._tabDialogManager`.

Depends on D100066

Differential Revision: https://phabricator.services.mozilla.com/D100955
2021-01-11 20:55:19 +00:00
Micah Tigley
c784c7cf74 Bug 1680637 - Add a dialog manager for content prompts in TabDialogBox r=jaws,Gijs
The TabDialogBox will manage two separate SubDialog managers at the tab and content level. Dialogs managed at the tab level will always be on top of content ones and should always receive focus first when tab switching or refocusing the window.

Differential Revision: https://phabricator.services.mozilla.com/D100066
2021-01-11 20:55:09 +00:00
Bogdan Tara
b79b69550f Backed out 3 changesets (bug 1680637, bug 1682395) for browser/base/content/* failures CLOSED TREE
Backed out changeset 270e2e3183de (bug 1682395)
Backed out changeset e3566f596187 (bug 1680637)
Backed out changeset 66563136c84e (bug 1680637)
2021-01-11 21:36:20 +02:00
Micah Tigley
294f4945cf Bug 1680637 - Rename TabDialogBox's manager to tabDialogManager r=marionette-reviewers,Gijs
To clarify the two separate SubDialog managers managed by TabDialogManager, this patch renames `_.dialogManager` to `._tabDialogManager`.

Depends on D100066

Differential Revision: https://phabricator.services.mozilla.com/D100955
2021-01-11 05:13:00 +00:00
Micah Tigley
3002ed02d4 Bug 1680637 - Add a dialog manager for content prompts in TabDialogBox r=jaws,Gijs
The TabDialogBox will manage two separate SubDialog managers at the tab and content level. Dialogs managed at the tab level will always be on top of content ones and should always receive focus first when tab switching or refocusing the window.

Differential Revision: https://phabricator.services.mozilla.com/D100066
2021-01-11 17:52:53 +00:00
Kartik Gautam
619cd73acb Bug 1684173 - Add newline character at end of files when missing r=sylvestre,geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D100484
2021-01-07 08:53:08 +00:00
Cosmin Sabou
5980f4a6e1 Backed out changeset dbed1cdf588f (bug 1684173) for mochitest plain and devtools failures. a=backout DONTBUILD 2020-12-28 00:43:51 +02:00
Kartik Gautam
25fc1e9e28 Bug 1684173 - Add newline character at end of files when missing r=sylvestre
Depends on D100443

Differential Revision: https://phabricator.services.mozilla.com/D100484
2020-12-27 11:43:41 +00:00
pbz
e34f97e28a Bug 1669990 - SubDialog: Use system event listener for escape key. r=Gijs
If a <select> in a SubDialog closes its popup when the user hits the esc key, it calls `preventDefault()` on the event. The SubDialog code didn't see this preventDefault, because it was using a normal event listener, while the select code uses a system event listener.

https://searchfox.org/mozilla-central/rev/c2e3ac11be4837718c2604e58085fbc8252b69dd/layout/forms/nsListControlFrame.cpp#925,2058,2068-2069,2075-2076

Differential Revision: https://phabricator.services.mozilla.com/D93253
2020-11-19 18:20:36 +00:00
Emilio Cobos Álvarez
719e59b40f Bug 1674135 - Don't destroy frames from hideDialog() as we rely on printing hidden frames. r=Gijs,preferences-reviewers
Using `visibility` preserves frames of the content inside the dialog,
which we rely on to print the preview `<browser>` element.

This was working before bug 1662336 mostly by chance, because we were
doing an extra clone and that happened to mostly not rely on the cloned
document being rendered.

I'd rather fix it in the front-end (by not trying to print a
`display: none` <browser>) than going back to do a separate clone,
because that can get expensive (specially with fission).

It's not super-clear to me how to best test the "print from system
dialog" case, but ideas certainly welcome.

Differential Revision: https://phabricator.services.mozilla.com/D95501
2020-11-04 11:03:48 +00:00
Razvan Maries
dde7490fbf Backed out changeset b5330b68ce05 (bug 1674135) for perma failures on browser_siteData2.js and browser_pdf_printer_settings.js. CLOSED TREE 2020-11-04 02:43:34 +02:00
Emilio Cobos Álvarez
e473e3b272 Bug 1674135 - Don't destroy frames from hideDialog() as we rely on printing hidden frames. r=Gijs,preferences-reviewers
Using `visibility` preserves frames of the content inside the dialog,
which we rely on to print the preview `<browser>` element.

This was working before bug 1662336 mostly by chance, because we were
doing an extra clone and that happened to mostly not rely on the cloned
document being rendered.

I'd rather fix it in the front-end (by not trying to print a
`display: none` <browser>) than going back to do a separate clone,
because that can get expensive (specially with fission).

It's not super-clear to me how to best test the "print from system
dialog" case, but ideas certainly welcome.

Differential Revision: https://phabricator.services.mozilla.com/D95501
2020-11-03 23:36:32 +00:00
Dorel Luca
a273b913d8 Backed out changeset 3cc7771c487c (bug 1674135) for Browser-chrome failures in preferences/tests/siteData/browser_siteData.js. CLOSED TREE 2020-11-03 19:37:30 +02:00
Emilio Cobos Álvarez
67981a28a6 Bug 1674135 - Don't destroy frames from hideDialog() as we rely on printing hidden frames. r=Gijs,preferences-reviewers
Using `visibility` preserves frames of the content inside the dialog,
which we rely on to print the preview `<browser>` element.

This was working before bug 1662336 mostly by chance, because we were
doing an extra clone and that happened to mostly not rely on the cloned
document being rendered.

I'd rather fix it in the front-end (by not trying to print a
`display: none` <browser>) than going back to do a separate clone,
because that can get expensive (specially with fission).

It's not super-clear to me how to best test the "print from system
dialog" case, but ideas certainly welcome.

Differential Revision: https://phabricator.services.mozilla.com/D95501
2020-11-03 16:35:34 +00:00
pbz
10c65cca35 Bug 1665339 - Prevent ESC key on SubDialog from cancelling page load. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D90572
2020-09-21 13:25:16 +00:00
Emma Malysz
7f15c06b1d Bug 1660665, hide subdialog if user chooses to print using system dialog. r=jwatt,Gijs,mstriemer
When the user chooses to print using the system dialog, we should hide the print
UI. We are choosing to hide the dialog stack instead of closing the dialog because
the print preview browser still needs to be available if the user tries to print.
We close the window if the user cancels the system dialog or once we receive the
promise from PrintUtils.printWindow.

Differential Revision: https://phabricator.services.mozilla.com/D88096
2020-09-17 02:18:50 +00:00
pbz
6d0a0fa9b0 Bug 1661030 - Extended TabDialogBox with an option to persist dialogs across same origin location change. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D88423
2020-09-02 14:24:58 +00:00
pbz
a173619875 Bug 1660951 - Focus TabDialogBox top dialog when switching tabs. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D88437
2020-08-28 12:36:00 +00:00