Also adds missing includes in some files, these were previously only transivitely
included through mozilla/TypeTraits.h.
Differential Revision: https://phabricator.services.mozilla.com/D68561
--HG--
extra : moz-landing-system : lando
To correctly implement this, it must be known on instantiation whether E is
copy-constructible, which is not the case if only a forward declaration is
available. This can be resolved either by making sure a full definition of E is
available, which is preferable. But in cases where this is not (easily) possible,
the information can be explicitly provided by the MOZ_DECLARE_COPY_CONSTRUCTIBLE
and MOZ_DECLARE_NON_COPY_CONSTRUCTIBLE macros. In particular, declarations for
IPDL-declared types are added to nsTArray.h itself, like it was already done
for MOZ_DECLARE_RELOCATE_USING_MOVE_CONSTRUCTOR.
Differential Revision: https://phabricator.services.mozilla.com/D66244
--HG--
extra : moz-landing-system : lando
Specifically, this renames
* nsTArray_CopyChooser to nsTArray_RelocationStrategy
* the Copy template argument of nsTArray_base to RelocationStrategy
* nsTArray_CopyWithConstructors to nsTArray_RelocateUsingMoveConstructor
* nsTArray_CopyWithMemutils to nsTArray_RelocateUsingMemutils
* DECLARE_USE_COPY_CONSTRUCTORS to MOZ_DECLARE_RELOCATE_USING_MOVE_CONSTRUCTOR
Differential Revision: https://phabricator.services.mozilla.com/D66243
--HG--
extra : moz-landing-system : lando
All initialization related operations, the clear all operation and reset
operations now fail if storage is not initialized. All other operations make
sure storage is initialized by setting the mNeedsStorageInit flag.
DirectoryWork() for these operations now assert that storage is initialized.
Differential Revision: https://phabricator.services.mozilla.com/D65938
--HG--
extra : moz-landing-system : lando
The aResetAll param has been removed from resetStoragesForPrincipal since
there's no use case for it right now (if there's a use case for it in future, it
should be handled by a separate method like resetOriginsByPrefix).
Differential Revision: https://phabricator.services.mozilla.com/D66951
--HG--
extra : moz-landing-system : lando
ResetOriginOp has been separated from ClearOriginOp for better readibility of
code.
Differential Revision: https://phabricator.services.mozilla.com/D66949
--HG--
extra : moz-landing-system : lando
This patch moves client type checks to the parameter validation phase. The checks are now done using new Client::IsValidType method.
Differential Revision: https://phabricator.services.mozilla.com/D66948
--HG--
extra : moz-landing-system : lando
This patch makes use of the IsValidPersistenceType function it adds at places where individual checks were done before. It also moves some checks to the parameter validation phase.
Differential Revision: https://phabricator.services.mozilla.com/D66947
--HG--
extra : moz-landing-system : lando
These methods never return false, so they can be safely converted to return void.
Differential Revision: https://phabricator.services.mozilla.com/D64987
--HG--
extra : moz-landing-system : lando
This removes the need for explicit #ifdef NS_BUILD_REFCNT_LOGGING without
introducing user-defined destructors when it is not defined.
Also, some uses of virtual for declaring destructors are replaced by the
appropriate override declaration through these changes.
Differential Revision: https://phabricator.services.mozilla.com/D62604
--HG--
extra : moz-landing-system : lando
This removes the need for explicit #ifdef NS_BUILD_REFCNT_LOGGING without
introducing user-defined destructors when it is not defined.
Also, some uses of virtual for declaring destructors are replaced by the
appropriate override declaration through these changes.
Differential Revision: https://phabricator.services.mozilla.com/D62604
--HG--
extra : moz-landing-system : lando
This is a preparation for "afterInitTemporaryStorage" key which requires initialized storage.
Differential Revision: https://phabricator.services.mozilla.com/D62055
--HG--
extra : moz-landing-system : lando
The new verifyStorage() function takes current storage structure on disk and compares it with the expected structure. The expected structure is defined in JSON and consists of a per test package definition and a shared package definition. The shared package definition contains unknown files and directories which need to be ignored in all upgrade methods.
The new infrastructure for checking storage structure will be used later in other tests to verify handling of unknown or obsolete stuff for example during temporary storage initialization.
Differential Revision: https://phabricator.services.mozilla.com/D61450
--HG--
extra : moz-landing-system : lando
CLOSED TREE
Backed out changeset cb706e608d58 (bug 1608759)
Backed out changeset f2a08319ac10 (bug 1608759)
--HG--
extra : amend_source : 251fcc6d6304fe6a4ed240f6d1d409fc168f1c31