This is a follow up to the gadget regression in T253912 to prevent similar regressions happening again.
The addPortletLink method in core makes the assumption that skins use a class "emptyPortlet" class for hidden classes. This is currently utilised only by Timeless and Vector. It shouldn't assume this and it shouldn't assume that it's allowed to turn on hidden portlets - that decision should rest with the skins themselves.
Acceptance criteria
- Core methods are added for showing and hiding a portal
- emptyPortlet class is no longer shipped by Vector
- vector uses the new mw.util portlet methods to hide/show portals
Proposed solution
Methods will be added for hiding and showing the portal and the associated class and styles will live in core.