Commit Graph

40 Commits

Author SHA1 Message Date
Paolo Amadini
289bde6908 Bug 1523907 - Fix building the new "about:config" page on release channels. r=mak
Differential Revision: https://phabricator.services.mozilla.com/D18082

--HG--
extra : rebase_source : 7094aa1a5dbfc33d7b77a387f12eb14cff66d9e9
2019-02-02 17:49:41 +00:00
Lars T Hansen
d66fb136aa Bug 1508561 - Disentangle support for reftypes and gc. r=jseward
This does the following:

- It introduces a controlling ifdef ENABLE_WASM_REFTYPES that enables
  exactly those features that are in the reftypes proposal, excluding
  those in the gc proposal.  Any remaining features (namely, ref.eq,
  (ref T) types, struct types) are still under ENABLE_WASM_GC control.
  ENABLE_WASM_GC requires ENABLE_WASM_REFTYPES and this is checked.

- It introduces a new TestingFunctions predicate, wasmReftypesEnabled,
  that distinguishes reftype-proposal support from gc-proposal
  support.  We keep wasmGcEnabled to test for gc-proposal support.

- It segregates test cases so that gc-proposal relevant tests are in
  their own files, and tests relevant to the reftypes-proposal are now
  guarded by wasmReftypesEnabled.

- It renames the predicate HasGcSupport() as HasReftypesSupport(),
  since that is what the predicate tests for.

- It has a drive-by fix for the DEBUG-only function wasm::Classify()
  to properly put ref.null and ref.is_null under ifdef control.

Reftypes will soon be enabled unconditionally in Nightly (once we can
trace pointers from Ion frames) while gc-types will remain conditional
until Ion supports all the new instructions for struct types.  Therefore:

- The command line switch and about:config option are still called
  --wasm-gc and j.o.wasm_gc, respectively, which is fine since they will
  fairly soon control only gc-proposal features.

- Internal names still use "Gc" rather than "Reftypes", eg,
  HasGcTypes, wasmGc_, and so on.  This is most appropriate since it
  reduces the scope of the patch and these names will pertain mainly
  to the gc feature in the future.

--HG--
extra : rebase_source : 51cf3bfe67da594e89195472e4ce1ccfa36c146d
2018-12-18 17:26:32 +01:00
Ehsan Akhgari
4ad659ac56 Bug 1493682 - Part 1: Introduce two new prefs for controlling whether the content blocking allow list would be honoured r=baku
Differential Revision: https://phabricator.services.mozilla.com/D6747

--HG--
extra : moz-landing-system : lando
2018-09-25 05:40:12 +00:00
Ehsan Akhgari
7228a06636 Bug 1491061 - Part 4: Synchronize the default values of the essential prefs that content blocking depends on for all platforms; r=baku
Differential Revision: https://phabricator.services.mozilla.com/D6357
2018-09-20 13:43:05 -04:00
Jorg K
cd598f0aaa Bug 1484809 - Put class nsRelativeFilePref into its own include file. r=njn
--HG--
extra : rebase_source : c775cdde24c8aa7134a7dd121abaf9233c8e2729
2018-08-21 00:28:00 +03:00
Kris Maglione
82bc4d713f Bug 1471025: Part 2 - Add a helper class creating and accessing shared preference map snapshots. r=njn,erahm
This is based on the SharedStringMap that's currently used for shared memory
string bundles.

When the parent process is ready to launch its first content process, it
creates a snapshot of the current state of the preference database, maps that
as read-only, and shares it with each content process. Look-ups in the
snapshotted map are done entirely using data in the shared memory region. It
doesn't require any additional per-process state data.

MozReview-Commit-ID: BdTUhak7dmS

--HG--
extra : intermediate-source : 434106f1b75e3ba900912f261bd22a1b7f5c931d
extra : absorb_source : 647ad37590448ad3c1eb8eb512bf671f262fa96e
extra : source : 68bb03c63b3cee1d47cbddfd3abf919f5783c04b
extra : histedit_source : 2228a9f8395929f5072a3c5ebda6ae3221e4a62d
2018-07-01 18:28:31 -07:00
Brindusan Cristian
fe91a8922e Backed out 13 changesets (bug 1471025) for reftest failures on variation-format-hint-1a.html; bc failures performance/browser_preferences_usage.js; wpt failures on format-specifiers-variations.html. CLOSED TREE
Backed out changeset 6b672d70f335 (bug 1471025)
Backed out changeset 200bec7e766a (bug 1471025)
Backed out changeset 6c72dc1bff88 (bug 1471025)
Backed out changeset 7f4cc96fae12 (bug 1471025)
Backed out changeset b4f9178f132d (bug 1471025)
Backed out changeset 8eff817d2f7e (bug 1471025)
Backed out changeset f9362cf1add4 (bug 1471025)
Backed out changeset ce379eaab179 (bug 1471025)
Backed out changeset 7c03b7dd00e9 (bug 1471025)
Backed out changeset ff41551f5ff1 (bug 1471025)
Backed out changeset 46a6f9d0773b (bug 1471025)
Backed out changeset 434106f1b75e (bug 1471025)
Backed out changeset c490838c8329 (bug 1471025)
2018-07-14 01:16:06 +03:00
Kris Maglione
7f2567e3d9 Bug 1471025: Part 2 - Add a helper class creating and accessing shared preference map snapshots. r=njn,erahm
This is based on the SharedStringMap that's currently used for shared memory
string bundles.

When the parent process is ready to launch its first content process, it
creates a snapshot of the current state of the preference database, maps that
as read-only, and shares it with each content process. Look-ups in the
snapshotted map are done entirely using data in the shared memory region. It
doesn't require any additional per-process state data.

MozReview-Commit-ID: BdTUhak7dmS

--HG--
extra : source : 68bb03c63b3cee1d47cbddfd3abf919f5783c04b
2018-07-01 18:28:31 -07:00
Brindusan Cristian
a68383b333 Backed out 12 changesets (bug 1471025) for build bustages on dom/ipc/ContentProcess.cpp. CLOSED TREE
Backed out changeset 398ccedc20dc (bug 1471025)
Backed out changeset 599895de063e (bug 1471025)
Backed out changeset dc7ec17179d1 (bug 1471025)
Backed out changeset 5051f15fc200 (bug 1471025)
Backed out changeset faef4df47b20 (bug 1471025)
Backed out changeset d344247b8706 (bug 1471025)
Backed out changeset 83d98ea5ebac (bug 1471025)
Backed out changeset 38f690f30e78 (bug 1471025)
Backed out changeset 4b7a8a35ed95 (bug 1471025)
Backed out changeset e3bbc87b71af (bug 1471025)
Backed out changeset 68bb03c63b3c (bug 1471025)
Backed out changeset 4a8fbb472c91 (bug 1471025)
2018-07-13 22:11:24 +03:00
Kris Maglione
68c9610957 Bug 1471025: Part 2 - Add a helper class creating and accessing shared preference map snapshots. r=njn,erahm
This is based on the SharedStringMap that's currently used for shared memory
string bundles.

When the parent process is ready to launch its first content process, it
creates a snapshot of the current state of the preference database, maps that
as read-only, and shares it with each content process. Look-ups in the
snapshotted map are done entirely using data in the shared memory region. It
doesn't require any additional per-process state data.

MozReview-Commit-ID: BdTUhak7dmS

--HG--
extra : rebase_source : e7cb96dd52380f2ed2fbd79b4e157e4efab65cb0
extra : absorb_source : ed95ed85388875353458eb65e41727e606ebf097
2018-07-01 18:28:31 -07:00
Benjamin Bouvier
2d70c0b1e0 Bug 1445272: Add a pref to enable wasm gc in the browser/shell; r=luke
And a builtin function to test if wasm gc is enabled or not, to make testing
easier.

--HG--
extra : rebase_source : 0e608756d0c5f0231ba31af482c5e343a7119465
2018-03-21 14:32:47 +01:00
Nicholas Nethercote
136f284c7d Bug 1436655 - Introduce a mechanism for VarCache prefs to be defined entirely in the binary. r=glandium
Currently VarCache prefs are setup in two parts:

- The vanilla pref part, installed via a data file such as all.js, or via an
  API call.

- The VarCache variable part, setup by an Add*VarCache() call.

Both parts are needed for the pref to actually operate as a proper VarCache
pref. (There are various prefs for which we do one but not the other unless a
certain condition is met.)

This patch introduces a new way of doing things. There is a new file,
modules/libpref/init/StaticPrefList.h, which defines prefs like this:

> VARCACHE_PREF(
>   "layout.accessiblecaret.width",
>   layout_accessiblecaret_width,
>   float, 34.0
> )

This replaces both the existing parts.

The preprocessor is used to generate multiple things from this single
definition:

- A global variable (the VarCache itself).

- A getter for that global variable.

- A call to an init function that unconditionally installs the pref in the
  prefs hash table at startup.

C++ files can include the new StaticPrefs.h file to access the getter.

Rust code cannot use the getter, but can access the global variable directly
via structs.rs. This is similar to how things currently work for Rust code.

Non-VarCache prefs can also be declared in StaticPrefList.h, using PREF instead
of the VARCACHE_PREF.

The new approach has the following advantages.

+ It eliminates the duplication (in all.js and the Add*VarCache() call) of the
  pref name and default value, preventing potential mismatches. (This is a real
  problem in practice!)

+ There is now a single initialization point for these VarCache prefs.
  + This avoids need to find a place to insert the Add*VarCache() calls, which
    are currently spread all over the place.
  + It also eliminates the common pattern whereby these calls are wrapped in a
    execute-once block protected by a static boolean (see bug 1346224).
  + It's no longer possible to have a VarCache pref for which only one of the
    pieces has been setup.

+ It encapsulates the VarCache global variable, so there is no need to declare
  it separately.

+ VarCache reads are done via a getter (e.g. StaticPrefs::foo_bar_baz())
  instead of a raw global variable read.
  + This makes it clearer that you're reading a pref value, and easier to
    search for uses.
  + This prevents accidental writes to the global variable.
  + This prevents accidental mistyping of the pref name.
  + This provides a single chokepoint in the code for such accesses, which make
    adding checking and instrumentation feasible.

+ It subsumes MediaPrefs, and will allow that class to be removed. (gfxPrefs is
  a harder lift, unfortunately.)

+ Once all VarCache prefs are migrated to the new approach, the VarCache
  mechanism will be better encapsulated, with fewer details publicly visible.

+ (Future work) This will allow the pref names to be stored statically, saving
  memory in every process.

The main downside of the new approach is that all of these prefs are in a
single header that is included in quite a few places, so any changes to this
header will cause a fair amount of recompilation.

Another minor downside is that all VarCache prefs are defined and visible from
start-up. For test-only prefs like network.predictor.doing-tests, having them
show in about:config isn't particularly useful.

The patch also moves three network VarCache prefs to the new mechanism as a
basic demonstration. (And note the inconsistencies in the multiple initial
values that were provided for
network.auth.subresource-img-cross-origin-http-auth-allow!) There will be
numerous follow-up bugs to convert the remaining VarCache prefs.

MozReview-Commit-ID: 9ABNpOR16uW
* * *
[mq]: fixup

MozReview-Commit-ID: 6ToT9dQjIAq
2018-03-26 09:39:40 +11:00
Nicholas Nethercote
dfbbf14c3f Bug 1407112 (part 4) - Merge prefapi.{cpp,h} and prefapi_private_data.h into Preferences.cpp. r=glandium.
This required moving WatchinPrefRAII and WATCHING_PREF_RAII

MozReview-Commit-ID: Kkefg2ouazK

--HG--
extra : rebase_source : 428b418bb68ca244d1ca66b9d5688fcc5f12aa08
2017-10-11 21:02:03 +11:00
Nicholas Nethercote
ed6468003d Bug 1407112 (part 3) - Merge prefread.{cpp,h} into Preferences.cpp. r=glandium.
Note: the #include of prefread.h from prefapi.cpp was unnecessary.

MozReview-Commit-ID: E0JefORRtgs

--HG--
extra : rebase_source : 0c3d564f9e66f02f7c1387adeb3399755438ded7
2017-10-11 20:31:35 +11:00
Nicholas Nethercote
01fc945b6d Bug 1407112 (part 2) - Merge nsPrefBranch.{cpp,h} into Preferences.cpp. r=glandium.
MozReview-Commit-ID: 3ugPL8ba6te

--HG--
extra : rebase_source : 87cee037df94afb4074823ad4f6a99b93fd92bd2
2017-10-11 20:31:32 +11:00
Nicholas Nethercote
702fbdf7c6 Bug 1407112 (part 1) - Merge nsPrefsFactory.cpp into Preferences.cpp. r=glandium.
MozReview-Commit-ID: V1tONOw0wT

--HG--
extra : rebase_source : fb379c0856d77f4e1778bf00d4a44e6f30a573b2
2017-10-11 19:03:23 +11:00
Masatoshi Kimura
b186427ed3 Bug 1374847 - Remove nsIPrefBranch2 and nsIPrefBranchInternal. r=njn
MozReview-Commit-ID: 2LFhKNVspko

--HG--
extra : rebase_source : 1acfd1427a2d81294d6cbc6358b1d1070b4c2c12
2017-08-04 17:12:58 +09:00
Masatoshi Kimura
c23a3b0c04 Bug 1353936 - Test to ensure var caches are updated before any other ExactMatch callbacks. r=froydnj
MozReview-Commit-ID: KWNxdpFwsjq

--HG--
extra : rebase_source : f64f97af0d5fd0eddb974b186a7a5adfd468645f
extra : source : c8d89377e1842d584889c926e8dfa47d2bd6b12d
2017-04-08 23:45:10 +09:00
Eric Rahm
0b32fdd753 Bug 1351804 - Switch libpref over to ArenaAllocator. r=froydnj
MozReview-Commit-ID: 4GovbBFUBb9
2017-03-30 16:48:32 -07:00
Kartikaya Gupta
301e315b2f Bug 1342450 - Extract a MOZ_ENABLE_WEBRENDER from MOZ_BUILD_WEBRENDER so that we build but disable by default. r=rhunt,froydnj,ted
This adds back a MOZ_ENABLE_WEBRENDER define, which only controls whether or
not WebRender is enabled at runtime. The default behaviour is changed so that:
- if the user specifies --disable-webrender in the mozconfig, WebRender is
  neither built nor enabled
- if the user specifies --enable-webrender in the mozconfig, WebRender is
  built and enabled
- if the user specifies --enable-webrender=build in the mozconfig, WebRender is
  built but not enabled, except on Android where it is neither built nor enabled
- if the user doesn't specify any of the above, the default behaviour is:
  - on nightly/local builds, the same as --enable-webrender=build
  - on other channels (e.g. aurora), the same as --disable-webrender

The net effect is that local/Nightly-automation builds will have WebRender
built-in but not enabled where possible (i.e. not Android). However the user
can override this behaviour via mozconfig options to either not build WebRender
at all, or to enable it in addition to building it.

MozReview-Commit-ID: IM7DdSHkIB
2017-03-22 17:38:09 -04:00
Joel Maher
ad033bbef8 Bug 1345618 - add BUG_COMPONENT to modules/* files. r=jfkthame,mcmanus,rstrong
MozReview-Commit-ID: G3hG5C4P5jS
2017-03-09 05:33:31 -05:00
Tom Tromey
5538d692d3 Bug 1286877 - do not set c-basic-offset for python-mode; r=gps
This removes the unnecessary setting of c-basic-offset from all
python-mode files.

This was automatically generated using

    perl -pi -e 's/; *c-basic-offset: *[0-9]+//'

... on the affected files.

The bulk of these files are moz.build files but there a few others as
well.

MozReview-Commit-ID: 2pPf3DEiZqx

--HG--
extra : rebase_source : 0a7dcac80b924174a2c429b093791148ea6ac204
2016-07-14 10:16:42 -06:00
Chris Peterson
8a9e2d2bd4 Bug 1272513 - Part 2: Remove redundant -Wshadow CXXFLAGS from moz.build files. r=glandium 2016-05-14 00:54:55 -07:00
Mike Hommey
3a7b31cfb5 Bug 1228444 - Rename DIST_FILES to FINAL_TARGET_PP_FILES. r=gps
This makes it clearer that really it's the same thing as FINAL_TARGET,
with preprocessing.
We still keep DIST_FILES in backend.mk because it's shorter and doesn't
really matter.
2015-12-01 08:25:22 +09:00
Mike Hommey
ccf2ec68da Bug 1219126 - Move greprefs.js definition in moz.build. r=mshal 2015-10-31 07:32:48 +09:00
Wes Kocher
46439f8894 Backed out changeset 57137bb5c665 (bug 1219126)
--HG--
extra : commitid : 2AioSh3eozm
2015-10-30 10:11:42 -07:00
Mike Hommey
b6620df9b1 Bug 1219126 - Move greprefs.js definition in moz.build. r=mshal 2015-10-30 08:19:04 +09:00
Chris Peterson
71920a9550 Bug 1207030 - Enable -Wshadow flag in more directories that have no -Wshadow warnings. r=glandium 2015-09-22 21:39:03 -07:00
Nicholas Nethercote
f44287005f Bug 1198334 (part 1) - Replace the opt-in FAIL_ON_WARNINGS with the opt-out ALLOW_COMPILER_WARNINGS. r=glandium.
The patch removes 455 occurrences of FAIL_ON_WARNINGS from moz.build files, and
adds 78 instances of ALLOW_COMPILER_WARNINGS. About half of those 78 are in
code we control and which should be removable with a little effort.

--HG--
extra : rebase_source : 82e3387abfbd5f1471e953961d301d3d97ed2973
2015-08-27 20:44:53 -07:00
David Major
ebde6b9f4f Bug 1157835: Remove the MSVC_ENABLE_PGO flag from the build system. r=glandium
--HG--
extra : rebase_source : 0c47c99bb8b92f8361a51fd81b20a2cc8647a986
2015-04-27 19:59:27 -04:00
Birunthan Mohanathas
409e4e98fe Bug 1070709 - Collapse test-only moz.build files under modules/ into ancestor moz.build files. r=mshal 2015-02-10 18:47:27 +02:00
Chris Peterson
22d0c4b343 Bug 1107814 - Part 1: Mark more directories as FAIL_ON_WARNINGS for all compilers. r=gps 2014-12-04 16:24:03 -08:00
Birunthan Mohanathas
0f53566ffe Bug 1047877 - Flatten modules/libpref/{public,src}/ directories. r=bsmedberg
--HG--
rename : modules/libpref/src/Makefile.in => modules/libpref/Makefile.in
rename : modules/libpref/src/Preferences.cpp => modules/libpref/Preferences.cpp
rename : modules/libpref/public/Preferences.h => modules/libpref/Preferences.h
rename : modules/libpref/src/init/all.js => modules/libpref/init/all.js
rename : modules/libpref/public/nsIPrefBranch.idl => modules/libpref/nsIPrefBranch.idl
rename : modules/libpref/public/nsIPrefBranch2.idl => modules/libpref/nsIPrefBranch2.idl
rename : modules/libpref/public/nsIPrefBranchInternal.idl => modules/libpref/nsIPrefBranchInternal.idl
rename : modules/libpref/public/nsIPrefLocalizedString.idl => modules/libpref/nsIPrefLocalizedString.idl
rename : modules/libpref/public/nsIPrefService.idl => modules/libpref/nsIPrefService.idl
rename : modules/libpref/public/nsIRelativeFilePref.idl => modules/libpref/nsIRelativeFilePref.idl
rename : modules/libpref/src/nsPrefBranch.cpp => modules/libpref/nsPrefBranch.cpp
rename : modules/libpref/src/nsPrefBranch.h => modules/libpref/nsPrefBranch.h
rename : modules/libpref/src/nsPrefsFactory.cpp => modules/libpref/nsPrefsFactory.cpp
rename : modules/libpref/src/prefapi.cpp => modules/libpref/prefapi.cpp
rename : modules/libpref/src/prefapi.h => modules/libpref/prefapi.h
rename : modules/libpref/src/prefapi_private_data.h => modules/libpref/prefapi_private_data.h
rename : modules/libpref/src/prefread.cpp => modules/libpref/prefread.cpp
rename : modules/libpref/src/prefread.h => modules/libpref/prefread.h
2014-08-07 21:52:04 -07:00
Mike Hommey
5f6ba110e6 Bug 1043802 - Remove TOOLS_DIRS and TEST_TOOLS_DIRS. r=gps 2014-07-29 08:55:55 +09:00
Mike Hommey
e80e877ab7 Bug 939044 - Remove most definitions of MODULE. r=mshal 2013-11-19 11:47:39 +09:00
Kyle Machulis
72a717a860 Bug 855465 - Add emacs python mode comments to moz.build files; r=gps 2013-04-01 11:36:59 -07:00
Kyle Machulis
43628a7867 Backout for changeset 03452b187c14 (Bug 855465) due to bustage on a CLOSED TREE; r=qdot 2013-03-29 15:12:58 -07:00
Kyle Machulis
334c0800cf Bug 855465 - Add emacs python mode comments to moz.build files; r=gps
--HG--
extra : rebase_source : 004a756492323e1a049586e85b3be5037159df20
2013-03-29 13:56:18 -07:00
Mike Shal
7ecea60097 Bug 844654 - Part 2: Move MODULE to moz.build; rs=gps 2013-03-19 11:47:00 -07:00
Gregory Szorc
3416b992a8 Bug 784841 - Part 18y: Convert /modules; r=glandium 2013-02-25 12:47:23 -08:00