Commit Graph

2713 Commits

Author SHA1 Message Date
Gijs Kruitbosch
ccf0d0d117 Bug 1795255 - bustage fix: fix up some more imports that shouldn't have been removed because of confused environment conflicts. CLOSED TREE
Differential Revision: https://phabricator.services.mozilla.com/D168379
2023-01-31 13:07:58 +00:00
Gijs Kruitbosch
b965c4660a Bug 1795255 - autofix duplicate imports in tests under browser/, r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D166179
2023-01-31 11:48:41 +00:00
Rob Wu
79598d955e Bug 1811459 - Avoid _moveOutKids on disconnected panelmultiview r=Gijs,rpl
`this.forNode` (with `this` being a `PanelMultiView` instance) may
return a node that was already disconnected before, in which case its
`node` member will be void. To avoid unexpected promise rejections, add
a null check before `_moveOutKids()`.

Differential Revision: https://phabricator.services.mozilla.com/D167369
2023-01-30 14:43:24 +00:00
Emilio Cobos Álvarez
39ff190814 Bug 1811487 - Clean-up popup hide / rollup APIs. r=cmartin,stransky
I'm about to extend them for bug 1811486, where I want to force in some
cases the rolled up popups to hide synchronously. These APIs use a ton
of boolean arguments that make them error prone, so refactor them a bit
to use strongly typed enums and flags.

Differential Revision: https://phabricator.services.mozilla.com/D167381
2023-01-24 15:43:49 +00:00
Mike Conley
d97ee74221 Bug 1805236 - Make the Unified Extensions migration a one-time event using the CUI migration mechanism. r=Gijs
We ran the Unified Extensions migration method on each CUI init on the
off-chance that we would need to turn off or reverse the migration for
some reason.

Now that 109 has rolled out successfully, we can make this a one-time
migration for anybody that isn't following each version (for example,
ESR channel users).

Differential Revision: https://phabricator.services.mozilla.com/D167584
2023-01-24 14:19:05 +00:00
Iulian Moraru
38911deaa3 Backed out changeset f9a25f51a254 (bug 1811487) for causing bc failures related to PanelMultiView. CLOSED TREE 2023-01-23 21:11:43 +02:00
Emilio Cobos Álvarez
5002945f2b Bug 1811487 - Clean-up popup hide / rollup APIs. r=cmartin
I'm about to extend them for bug 1811486, where I want to force in some
cases the rolled up popups to hide synchronously. These APIs use a ton
of boolean arguments that make them error prone, so refactor them a bit
to use strongly typed enums and flags.

Differential Revision: https://phabricator.services.mozilla.com/D167381
2023-01-23 16:15:00 +00:00
William Durand
4b65e0a0cb Bug 1799009 - Remove gUnifiedExtensions.isEnabled. r=rpl,mconley
Depends on D166923

Differential Revision: https://phabricator.services.mozilla.com/D166934
2023-01-23 10:39:29 +00:00
Mark Banner
2bd093b567 Bug 1811334 - Automatically replace Cu.reportError with console.error (most of browser/components). r=settings-reviewers,mconley
Differential Revision: https://phabricator.services.mozilla.com/D167297
2023-01-20 17:49:21 +00:00
Gijs Kruitbosch
5a903703c5 Bug 1810995 - update BrowserTestUtils.loadURI consumers to use loadURIString (automated) - browser - r=Standard8
Differential Revision: https://phabricator.services.mozilla.com/D167153
2023-01-19 20:16:42 +00:00
William Durand
7761eccedb Bug 1799009 - Remove unified extensions pref and non-unified extensions variants from test suite. r=rpl,mconley,fluent-reviewers,desktop-theme-reviewers,Itiel
This patch removes the use of the "unified extensions" pref and adjust
the existing tests. More clean-ups will be done in follow-ups, e.g. the
removal of `gUnifiedExtensions.isEnabled` and some test-only changes to
no longer create a new window in each test file.

Differential Revision: https://phabricator.services.mozilla.com/D166908
2023-01-19 10:59:25 +00:00
Oriol Brufau
ca1a72c7a6 Bug 1808615 - Make addTab default skipLoad to createLazyBrowser. r=Gijs,extension-reviewers,nika,robwu
And make callers rely on that instead of allowInheritPrincipal when
creating lazy tabs.

Unlike allowInheritPrincipal, skipLoad sets the nodefaultsrc attribute.
This avoids a load instead of falling back to about:blank.

One consequence of that is that switching to a lazy about:blank tab will
not notify invoke listeners registered with addTabsProgressListener
(listeners registered with addProgressListener will still be invoked).

Thus test browser_open_in_lazy_tab.js needs to be updated.

Differential Revision: https://phabricator.services.mozilla.com/D166012
2023-01-07 13:51:47 +00:00
Gijs Kruitbosch
1113bc0e43 Bug 1475606 - remove loadOneTab and switch its callers over, r=dao,perftest-reviewers,sparky
Depends on D165774

Differential Revision: https://phabricator.services.mozilla.com/D165775
2023-01-03 22:24:44 +00:00
Sandor Molnar
41086e59fc Backed out 4 changesets (bug 1631735) for causing bug 1806355 CLOSED TREE
Backed out changeset 781c1031c032 (bug 1631735)
Backed out changeset a6d345a47718 (bug 1631735)
Backed out changeset 4b8cc0917731 (bug 1631735)
Backed out changeset fe09769d7d5a (bug 1631735)
2022-12-20 11:25:25 +02:00
Marco Bonardo
e7cd35a78d Bug 1805889 - Stop abusing the options object in the Panel View. r=Gijs
Make Places views constructors arguments more coherent, passing the root
and view elements up to the super class explicitly.
Remove the options argument, that was not strictly necessary, the same info can
be obtained directly.
Rename the "builder" attribute to "afterplacescontent" to clarify what it is
and make panel use it, instead of passing an insertionPoint option.

Additional cleanups:
Make chevron and BMB menus use coherent popupshowing observers.
Remove useless .viewElt accessor, .associatedElement can be used instead.
Avoid an access to the private _rootElt property from the controller.

Differential Revision: https://phabricator.services.mozilla.com/D164827
2022-12-19 10:18:22 +00:00
Brad Werth
311385dc8b Bug 1631735 Part 2: Remove waiting for visibilitychange events from fullscreen tests. r=mstange
Since macOS fullscreen can handle incoming fullscreen requests during a
fullscreen transition, it is no longer necessary to check for
visibilitychange events, which are also no longer fired during these
tests.

Differential Revision: https://phabricator.services.mozilla.com/D164247
2022-12-16 22:36:20 +00:00
Emilio Cobos Álvarez
0f61b77b68 Bug 1805415 - Use activateItem() rather than click() to activate menuitems. r=Gijs,extension-reviewers,pip-reviewers,search-reviewers
Bug 1805414 will move menu event handling to the DOM.

With that change the current synthetic click behavior of XUL menuitems
breaks. On current central, we rely on nsMenuFrame::HandleEvent not
getting called at all for synthetic clicks, and instead we just fire a
command event synchronously here:

  https://searchfox.org/mozilla-central/rev/a0d4f8f112c5c792ae272bf6ce50763ddd23ffa2/dom/xul/nsXULElement.cpp#1071

After my patch the command event is fired properly (potentially
asynchronously too) by the regular menu activation machinery, which is
preferable.

 * They fire a command event synchronously (even though on some
   platforms like macOS activating a context menu item is async).

 * They use a totally different codepath from what a user does.

 * They don't deal with native menus, etc.

We have a proper API for this (activateItem) which takes a much more
closer codepath to what users do, requires that the menu is shown, etc.
Use that API instead for testing.

As a benefit, tests now do not need to close the context menu manually
when clicking on a menu item (because we trigger the same code path as
users clicking the menu).

Differential Revision: https://phabricator.services.mozilla.com/D164567
2022-12-15 03:11:55 +00:00
Cristian Tuns
c9c42bc174 Backed out 2 changesets (bug 1805415) for causing dt failures on browser_net_telemetry_throttle_changed.js CLOSED TREE
Backed out changeset 5056d7df9f1e (bug 1805415)
Backed out changeset e13513500184 (bug 1805415)
2022-12-14 08:52:21 -05:00
Emilio Cobos Álvarez
9a53f8dea3 Bug 1805415 - Use activateItem() rather than click() to activate menuitems. r=Gijs,extension-reviewers,pip-reviewers,search-reviewers
Bug 1805414 will move menu event handling to the DOM.

With that change the current synthetic click behavior of XUL menuitems
breaks. On current central, we rely on nsMenuFrame::HandleEvent not
getting called at all for synthetic clicks, and instead we just fire a
command event synchronously here:

  https://searchfox.org/mozilla-central/rev/a0d4f8f112c5c792ae272bf6ce50763ddd23ffa2/dom/xul/nsXULElement.cpp#1071

After my patch the command event is fired properly (potentially
asynchronously too) by the regular menu activation machinery, which is
preferable.

 * They fire a command event synchronously (even though on some
   platforms like macOS activating a context menu item is async).

 * They use a totally different codepath from what a user does.

 * They don't deal with native menus, etc.

We have a proper API for this (activateItem) which takes a much more
closer codepath to what users do, requires that the menu is shown, etc.
Use that API instead for testing.

As a benefit, tests now do not need to close the context menu manually
when clicking on a menu item (because we trigger the same code path as
users clicking the menu).

Differential Revision: https://phabricator.services.mozilla.com/D164567
2022-12-14 10:25:17 +00:00
Shane Hughes
0c880c51f9 Bug 1805360 - Fix FxA panel separators. r=mconley
Replace menuseparator -> toolbarseparator in the FxA panel.

Differential Revision: https://phabricator.services.mozilla.com/D164537
2022-12-13 18:49:56 +00:00
Gijs Kruitbosch
965c6e86fc Bug 1803158 - convert session restore consumers to reference the sys.mjs files instead, r=webdriver-reviewers,perftest-reviewers,extension-reviewers,credential-management-reviewers,Standard8,sgalich,whimboo,sparky,willdurand
Differential Revision: https://phabricator.services.mozilla.com/D163350
2022-12-06 16:02:03 +00:00
Mike Conley
1a20701542 Bug 1801678 - Compute the right insertion point for a browser action widget when the toolbar is overflowed. r=Gijs
We have a function, OverflowableToolbar.findOverflowedInsertionPoints, whose job it is to compute
the right insertion point for a widget if the widget is being inserted into an overflowable
toolbar.

That function failed to account for the possibility that the widget was a browser action, and
would return the #defaultList instead of the #webExtList if the item was overflowing. This
patch checks the ID of the widget first, and then supplies the correct list.

Differential Revision: https://phabricator.services.mozilla.com/D162586
2022-11-24 18:51:19 +00:00
Mike Conley
ffe9f710be Bug 1801678 - Refactor OverflowableToolbar to turn #webExtList into a memoizing getter. r=Gijs
The WebExtension overflow list is created lazily because the panel itself is lazy, and only gets
inserted the first time it is needed. Originally, I had written a separate function `#getWebExtList()`
to do the work of forcing the WebExtension overflow list to de-lazify, and then hold a reference
to it in #webExtList.

It turns out, that's a bit of a footgun. More than once, I've used #webExtList directly, forgetting
that the value might turn out to be `null` because the list hasn't delazified yet.

In order to smooth out that rough edge, this patch makes `#webExtList` a memoizing (evalutes once,
caches the return value for subsequent calls) getter so that anything that uses it doesn't have
to worry about the lazification. The reference member is now called #webExtListRef, and I've
added documentation about how it's probably best not to use it directly.

Differential Revision: https://phabricator.services.mozilla.com/D162585
2022-11-24 18:51:19 +00:00
Mike Conley
1337c13918 Bug 1798377 - Don't display the overflow button unless there's at least 1 item overflowed with non-zero width. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D162576
2022-11-24 18:51:18 +00:00
Mike Conley
a4c6de385c Bug 1800967 - Update internal OverflowableToolbar state when unpinning an extension button from the toolbar when overflowed. r=willdurand,Gijs
We have some internal bookkeeping within OverflowableToolbar to remember the state of things that
have overflowed, like how wide the window needs to be before they can be moved back, etc. When an
item is removed from an overflowable toolbar while overflowed, we update that internal bookkeeping
so that OverflowableToolbar doesn't accidentally try to move those items back into the toolbar
when the window becomes wide enough again.

We've added a new overflow list for extension buttons, but we weren't updating our internal accounting
when items had been overflowed into that list. This patch fixes that.

Differential Revision: https://phabricator.services.mozilla.com/D162434
2022-11-24 18:51:18 +00:00
Itiel
c5c7610894 Bug 1577257 - Share logic behind panel headers across the UI r=willdurand,Gijs,fluent-reviewers,flod
Differential Revision: https://phabricator.services.mozilla.com/D160972
2022-11-17 21:34:34 +00:00
Mike Conley
e7e92912a0 Bug 1801097 - Set the AREA_ADDONS placements when resetting, even if Unified Extensions is disabled. r=Gijs
Even if Unified Extensions is enabled, it is expected that each registered area
will have a placements array set in gPlacements. When resetting, that's normally
re-created in restoreStateForArea, but we were skipping that call for AREA_ADDONS,
and then manually setting the placements array - but only if Unified Extensions
was enabled.

This change makes it so that we always set it when resetting.

Differential Revision: https://phabricator.services.mozilla.com/D162306
2022-11-17 18:13:44 +00:00
Mark Banner
5d1820b074 Bug 1799314 - Convert consumers of testing modules to import ES modules direct (browser/). r=Gijs,settings-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D161914
2022-11-17 12:00:30 +00:00
Mike Conley
add2b05551 Bug 1798896 - Test Unified Extension behaviours for CustomizableUI.jsm. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D161843
2022-11-17 02:00:00 +00:00
Mike Conley
e32c1a7d15 Bug 1798896 - Test Unified Extension upgrade and downgrade behavior. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D161842
2022-11-17 01:59:59 +00:00
Mike Conley
6c7bae4c4d Bug 1798896 - Prevent extension buttons from moving to the palette or overflow panel if Unified Extensions is enabled. r=Gijs
Differential Revision: https://phabricator.services.mozilla.com/D161840
2022-11-17 01:59:58 +00:00
Mike Conley
2ebf72578e Bug 1798896 - Move extension buttons to the addons panel if Unified Extensions is enabled on startup. r=Gijs
This isn't a migration just yet. I'm following the same technique that we seemed to follow
when we first introduced the original overflow menu (see bug 1354117) - I'm going to add
a function to do the migration here, with a mechanism for (somewhat) reversing the
migration if the preference gets flipped back to false at some point.

There is no expectation that this preference will be flipped back to false - it's more of
a safety mechanism. Once we're confident that the routine in the function properly moves
items to right places, we can convert it to a proper migration so that it only runs
once on startup for folks who upgrade.

Differential Revision: https://phabricator.services.mozilla.com/D161839
2022-11-17 01:59:58 +00:00
Mike Conley
d4d3af9877 Bug 1782203 - Add context menu items for pinning and unpinning addon buttons to the toolbar. r=willdurand,extension-reviewers,Itiel
Differential Revision: https://phabricator.services.mozilla.com/D161200
2022-11-15 16:37:23 +00:00
Stanca Serban
7abed322ee Backed out 3 changesets (bug 1782203) for causing lint failures on browser_unified_extensions_overflowable_toolbar.js. CLOSED TREE
Backed out changeset 50e57afebed3 (bug 1782203)
Backed out changeset d17ea376ed45 (bug 1782203)
Backed out changeset e91d51f1ce90 (bug 1782203)
2022-11-15 17:42:22 +02:00
Mike Conley
55af77e9ed Bug 1782203 - Add context menu items for pinning and unpinning addon buttons to the toolbar. r=willdurand,extension-reviewers,Itiel
Differential Revision: https://phabricator.services.mozilla.com/D161200
2022-11-15 15:02:08 +00:00
Csoregi Natalia
1ce4bb73a7 Backed out 4 changesets (bug 1782203, bug 1777484) for failures on browser_unified_extensions_overflowable_toolbar.js. CLOSED TREE
Backed out changeset ae47d92443a7 (bug 1782203)
Backed out changeset 0c90b1d40e9f (bug 1782203)
Backed out changeset 4b4cae098ea0 (bug 1782203)
Backed out changeset 75eba3b7a626 (bug 1777484)
2022-11-15 03:06:21 +02:00
Mike Conley
70738f0144 Bug 1782203 - Add context menu items for pinning and unpinning addon buttons to the toolbar. r=willdurand,extension-reviewers,Itiel
Differential Revision: https://phabricator.services.mozilla.com/D161200
2022-11-14 22:41:09 +00:00
Emilio Cobos Álvarez
07c539563d Bug 1799580 - Remove display: -moz-popup. r=TYLin
We already rely on it applying only to XULPopupElement's. Make it
explicit and remove the CSS value.

Differential Revision: https://phabricator.services.mozilla.com/D161552
2022-11-09 20:38:04 +00:00
Csoregi Natalia
4e859d7b1a Backed out 3 changesets (bug 1799343, bug 1799580) for causing failures on /browser_history_after_appMenu.js. CLOSED TREE
Backed out changeset 63c270ba91ad (bug 1799343)
Backed out changeset 713e6f0fbd20 (bug 1799580)
Backed out changeset 42d1b8742662 (bug 1799343)
2022-11-09 21:26:06 +02:00
William Durand
3ff97c57e6 Bug 1799842 - Move all the lists inside the same container in the unified extensions panel. r=mconley
Differential Revision: https://phabricator.services.mozilla.com/D161668
2022-11-09 16:32:45 +00:00
Emilio Cobos Álvarez
80aaaacfe0 Bug 1799580 - Remove display: -moz-popup. r=TYLin
We already rely on it applying only to XULPopupElement's. Make it
explicit and remove the CSS value.

Differential Revision: https://phabricator.services.mozilla.com/D161552
2022-11-09 14:19:22 +00:00
Cristian Tuns
0e3ee79a08 Backed out 2 changesets (bug 1799580, bug 1799343) for causing mochitest failures on win7 CLOSED TREE
Backed out changeset fb0df93a4719 (bug 1799580)
Backed out changeset 493c9ca00c91 (bug 1799343)
2022-11-09 07:15:51 -05:00
Emilio Cobos Álvarez
f496edbc02 Bug 1799580 - Remove display: -moz-popup. r=TYLin
We already rely on it applying only to XULPopupElement's. Make it
explicit and remove the CSS value.

Differential Revision: https://phabricator.services.mozilla.com/D161552
2022-11-09 09:17:22 +00:00
William Durand
093aba99c8 Bug 1799497 - Only register 'add-ons-button' widget when the unified extensions pref is disabled. r=Gijs,rpl
Differential Revision: https://phabricator.services.mozilla.com/D161569
2022-11-08 19:54:47 +00:00
Mike Conley
c712b0d4e1 Bug 1798814 - Prevent non-extension buttons from entering the AREA_ADDONS area. r=cmkm
Differential Revision: https://phabricator.services.mozilla.com/D161096
2022-11-08 14:51:41 +00:00
Mike Conley
e04f7d728c Bug 1797836 - Part 3: Add a new AREA_ADDONS for the Unified Extensions panel. r=Gijs
This area doesn't have any special rules applied yet, nor can it have items moved to
it except programmatically. All of that will come later, including tests.

Differential Revision: https://phabricator.services.mozilla.com/D161079
2022-11-08 14:51:40 +00:00
Mike Conley
c759904dae Bug 1797836 - Part 2: Update CUI to have a general TYPE_PANEL instead of TYPE_MENU_PANEL. r=desktop-theme-reviewers,dao,sclements
Long ago, the menu panel in was a customizable area that users could drag things into.

That changed back around 2017 in bug 1354117 when the Photon redesign was built. The
menu panel become a static menu, but we also made it possible to permanently move things
to the overflow panel of the nav-bar.

It looks like we never updated the area type constant from referring to the old menu panel
though, so it's "TYPE_MENU_PANEL", and registering a node for it happens with
registerMenuPanel. This patch changes to constant to TYPE_PANEL and updates the registration
method to registerPanelNode.

I a check around the codebase as well as GitHub looking to see if there were any
system add-ons or experimental WebExtensions that rely on TYPE_MENU_PANEL / registerMenuPanel,
but I couldn't find any.

Differential Revision: https://phabricator.services.mozilla.com/D161078
2022-11-08 14:51:40 +00:00
Shane Caraveo
e6535d678c Bug 1784946 support views in custom CUI widgets and remove button-and-view widget type r=desktop-theme-reviewers,mconley,dao
Depends on D160802

Differential Revision: https://phabricator.services.mozilla.com/D154471
2022-11-03 09:30:21 +00:00
Mike Conley
ce84c284ed Bug 1797838 - Add a webExtension property to CustomizableUI widgets for browserAction buttons. r=dao,willdurand
This property, along with the CustomizableUI.isWebExtensionWidget, will make it possible
to distinguish WebExtension-provided widgets without sniffing CSS classes, which is what
we currently do.

In the event that the widget has been destroyed or hasn't yet been created, this will
fallback to looking for the `-browser-action` suffix on the ID. This is mainly for use during
migrations which happen early during CustomizableUI startup, when it's unlikely that the
extensions have finished initializing themselves and creating their widgets yet.

Differential Revision: https://phabricator.services.mozilla.com/D160802
2022-11-02 16:52:59 +00:00
Mike Conley
bd0a2d6a38 Bug 1797155 - Part 2: Make it possible to redirect browser action widgets to the Unified Extension panel on overflow. r=sclements,willdurand
When Unified Extensions is enabled, we want to make it so that any WebExtension browser_actions
overflow into the Unified Extensions panel instead of the default overflow panel.

Depends on D160292

Differential Revision: https://phabricator.services.mozilla.com/D160293
2022-11-01 21:50:56 +00:00