This helper is already being used in the script preloader, and encapsulates
all of the memory mapping and RAII logic used to do the same in the component
loader. Reusing it there allows us to remove a lot of redundant code.
This is applied on top of the patches for bug 989373 in order to avoid
conflicts.
MozReview-Commit-ID: AJ26qV4JLci
--HG--
extra : rebase_source : 88a338ef9a88ff0b775f3f31600f32892b932940
extra : amend_source : 8312eef5078b2782c872ae964c23c2adb54f5ef7
This replaces the JS policy service stubs with a pure C++ version which
directly makes policy decisions based on active WebExtensionPolicy objects.
This is the first step in a larger refactoring, which will remove the
ExtensionManagement module entirely, and replace the current add-on policy
service with direct, non-virtual access to native WebExtensionPolicy objects.
It will also be followed by related changes to migrate the content script and
extension page matching to native code, based on the existing MatchPattern and
WebExtensionPolicy bindings.
MozReview-Commit-ID: 2MpbmXZGiPZ
--HG--
extra : rebase_source : 8b268618164b45605143e858665e592de829a6fa
There are three flags in ProfileEntry::Flags, which suggests there are 2**3 = 8
combinations. But there are only actually 4 valid combinations.
This patch converts the three flags to a single "kind" enum, which makes things
clearer. Note also that the patch moves the condition at the start of
AddPseudoEntry() to its callsite, for consistency with the earlier JS_OSR entry
kind check.
--HG--
extra : rebase_source : 0950769ee1530291860ef3be47d240df5939e871
This patch enables linux64-ccov to run JSVM code coverage collection at the same time GCOV code coverage is being collected. It uploads the code coverage that was created in a file called 'code-coverage-jsvm.zip'.
MozReview-Commit-ID: 4x5GrjRJRo4
--HG--
extra : rebase_source : 461eb6a0d6bf9f16a83899a1147c0f9cf2c02823
We shouldn't be using types with constructors and/or destructors as static
variables because the time of construction/destruction is hard to determine,
which leads to bugs. Instead, we should manage these things manually from
JS_Init and JS_Shutdown.
In most cases no expando object has ever been attached, we don't need to do a
lot of things and realize it in the last minute.
MozReview-Commit-ID: 5u9ivZQj5L8
--HG--
extra : rebase_source : 71405f978a7c832a6694206bf0410debe596967c
js/src/builtin/Intl.js will spew three C4819 warnings every time non-Western
developers build the tree locally on Windows because of non-ASCII characters
in the file. Usually we have compilers use UTF-8 to prevent this, but it did
not work for Intl.js because embedjs.py did not pass around $CPPFLAGS.
--enable-warnings-as-errors did not catch this because embedjs.py did not
pass around warnings-as-errors flags either.
This patch will fix both issues.
MozReview-Commit-ID: 5D1TCGnIX1T
--HG--
extra : rebase_source : 9f353d46d0a5320f9a0b9be2aea11fb66d6a88b4