gecko-dev/dom/webbrowserpersist
Valentin Gosu d97def2f41 Bug 1722925 - Remove NS_MutatorMethod in favor of templated nsIURIMutator::Apply r=necko-reviewers,kershaw
This basically reverts the changes in 5caa81103c00 (bug 1435671). In that bug
we switched from having a templated method to using a templated function
that returned a lambda because the templated method caused a binary size
regression on windows (MSVC). Since Firefox 67 we no longer support MSVC.
Using a lambda also required capturing the arguments by value, so it was
slightly inefficient.

This patch removes NS_MutatorMethod and makes the Apply method a template.
This improves perfomance as we can just pass the arguments to the called
function, without worrying about needing to copy them.
Since MSVC is not supported anymore, and clang and gcc didn't report a
binary size regression, this is a much better solution.

Differential Revision: https://phabricator.services.mozilla.com/D122081
2021-08-12 07:40:58 +00:00
..
moz.build
nsIWebBrowserPersist.idl
nsIWebBrowserPersistDocument.idl
nsWebBrowserPersist.cpp Bug 1722925 - Remove NS_MutatorMethod in favor of templated nsIURIMutator::Apply r=necko-reviewers,kershaw 2021-08-12 07:40:58 +00:00
nsWebBrowserPersist.h
PWebBrowserPersistDocument.ipdl
PWebBrowserPersistResources.ipdl
PWebBrowserPersistSerialize.ipdl
WebBrowserPersistDocumentChild.cpp
WebBrowserPersistDocumentChild.h
WebBrowserPersistDocumentParent.cpp
WebBrowserPersistDocumentParent.h
WebBrowserPersistLocalDocument.cpp Bug 1715134 - Make form control type an enum class. r=masayuki 2021-06-08 09:43:59 +00:00
WebBrowserPersistLocalDocument.h
WebBrowserPersistRemoteDocument.cpp
WebBrowserPersistRemoteDocument.h
WebBrowserPersistResourcesChild.cpp
WebBrowserPersistResourcesChild.h
WebBrowserPersistResourcesParent.cpp
WebBrowserPersistResourcesParent.h
WebBrowserPersistSerializeChild.cpp
WebBrowserPersistSerializeChild.h
WebBrowserPersistSerializeParent.cpp
WebBrowserPersistSerializeParent.h