gecko-dev/dom
Tim Huang a0b6e42c61 Bug 1330890 - Part 1: Spoofing the time zone as UTC when fingerprinting resistance is enabled (adopt from Tor #16622). r=arthuredelstein,Ehsan
This patch adds a new service for fingerprinting resistance, which is called
nsRFPService. This service will be put in /toolkit/components/resistfingerprinting.
This service is responsible for observing the change of pref 'privacy.resistfingerprinting'
and doing underlying jobs. And it also in charge of caching pref setting of
'privacy.resistfingerprinting' and changing environment value 'TZ'.

This service will be initialized within nsContentUtils::Init(). During initialization,
it will store the original TZ value and set the value according to 'privacy.resistfingerprinting'.
It also changes environment value 'TZ' and calls nsJSUtils::ResetTimeZone() in
response to the change of the pref.

This service is only a nsIObserver for now. In the future, however, it will be
responsible for more fingerprinting resistance jobs, like changing prefs after
'privacy.resistfingerprinting' is changed.

The environment variable 'TZ' will be set to 'UTC' when 'privacy.resistFingerprinting'
is true. By doing so, Firefox will use UTC as its local time zone instead of the
default local time zone. This prevents a browser be fingerprinted through the local time zone.
After the 'privacy.resistFingerprinting' is turned off, the service will restore
'TZ' back to the original TZ setting, the user's setting or the default system timezone.

MozReview-Commit-ID: 8V47ZATgrKE

--HG--
extra : rebase_source : a35d35e8f8bbf5f5015271d3df3c32420702506c
2017-05-02 15:21:04 +08:00
..
animation Bug 1293495 - Wrote a test for mutation observer when iterationComposite is changed. r=boris 2017-05-04 20:27:02 -04:00
asmjscache
audiochannel Bug 1339537 - Part 6: Pass std::function values tree by const reference instead of by value, r=ehsan 2017-04-27 12:44:57 -04:00
base Bug 1330890 - Part 1: Spoofing the time zone as UTC when fingerprinting resistance is enabled (adopt from Tor #16622). r=arthuredelstein,Ehsan 2017-05-02 15:21:04 +08:00
battery
bindings Bug 1358596. Restore check for sanity of slot indices on DOM objects that got lost. r=qdot 2017-05-02 01:55:47 -04:00
broadcastchannel
browser-element Bug 1358876 - Autophone - disable additional perma orange tests on Android 5.1, r=jmaher 2017-05-03 04:13:03 -07:00
cache
canvas merge mozilla-inbound to mozilla-central a=merge 2017-05-05 15:17:26 +02:00
commandhandler
console Bug 1361511 - change ownership assertion mechanism for various DOM classes; r=baku 2017-05-03 11:48:54 -04:00
crypto
encoding Bug 1351548 - Remove reftest-stylo.lists. r=bholley 2017-04-28 11:15:58 +08:00
events Bug 1361301: Add nsContentUtils::GetCommonFlattenedTreeAncestor. r=smaug 2017-05-03 12:58:34 +02:00
fetch
file Backed out 2 changesets (bug 1360992, bug 1361654) for a 70% failure rate in test_fileReader.html on ASan e10s a=merge 2017-05-05 12:35:57 -07:00
filehandle
filesystem Bug 1360903 - Add missing include for FileSystemDirectoryEntry. r=smaug 2017-05-06 09:22:48 +09:00
flyweb
gamepad Bug 1362284 - Assign the background thread before flushing pending events at GamepadEventChannelParent; r=Lenzak 2017-05-05 01:21:39 +08:00
geolocation
grid
html Bug 1345767 - Part 7: Factor HasBadInput() out of HTMLInputElement. r=smaug 2017-05-04 15:43:21 +08:00
imptests Bug 1317383 - Part 5: Update expected results for wpt typedarray and wasm tests. r=bbouvier 2017-05-02 14:21:04 -07:00
indexedDB Bug 1339826 - Part 3: Add a self reference in Maintenance::Finish() to prevent self destruction while the method is still being executed; r=btseng 2017-04-28 17:43:03 +02:00
interfaces Bug 1361974 - Add nsIDOMWindowUtils API to check usage of a given storage r=mayhemer 2017-05-04 14:29:36 +02:00
ipc Bug 1360471 (part 4) - Use a bitfield to represent profiler features. r=mstange. 2017-05-01 14:23:34 +10:00
json
jsurl
locales Backed out changeset c733f9dbec85 (bug 1361000) for -werror bustage 2017-05-01 23:02:40 -07:00
manifest
mathml
media Bug 1320994 - Improve SourceListener logging. r=jib 2017-03-29 12:07:45 +02:00
messagechannel
network
notification
offline
performance Bug 1123754 (part 1) - Rename ProfilerMarkers.{h,cpp} as ProfilerMarkerPayload.{h,cpp}. r=mstange. 2017-04-27 07:36:19 +10:00
permission
plugins Backed out changeset d6516a10c808 (bug 1322650) 2017-05-05 18:53:40 +02:00
power
presentation Bug 1359935 - Don't call sendAsyncMessage in mockedSessionTransport.close() after tearDown. r=kershaw 2017-04-28 14:13:35 -07:00
promise Bug 1358879 - Optimize handling of internally-created Promise objects. r=bz 2017-05-03 12:46:00 +02:00
push
quota Merge inbound to m-c a=merge 2017-05-03 13:40:24 -07:00
res
secureelement
security Bug 1345615: Disable websocket tests on android. r=test-fix 2017-04-27 17:28:13 +02:00
smil Bug 1357979 - Add dom.animations-api.core.enabled preference to test of smil with transition in order to enable beta/release test. r=birtles 2017-05-01 22:54:11 +09:00
storage Bug 1361974 - Add nsIDOMWindowUtils API to check usage of a given storage r=mayhemer 2017-05-04 14:29:36 +02:00
svg Bug 1360241: Devirtualize nsIFrame::GetType. r=heycam 2017-04-30 17:30:08 +02:00
system Bug 1361087 - Loading osfile_shared_allthreads.jsm should not initialize the system-info service (as it does main thread IO on Windows), r=Yoric. 2017-05-03 10:45:15 +02:00
tests Bug 1361974 - Add nsIDOMWindowUtils API to check usage of a given storage r=mayhemer 2017-05-04 14:29:36 +02:00
time
u2f
url Backed out changeset a180e3f4de16 (bug 1358114) 2017-04-24 15:43:05 +02:00
vr Bug 1351547 - Part 1: Add WebVR Canvas2D mochitest for detecting crash; r=kip 2017-04-26 07:00:04 +02:00
webauthn
webbrowserpersist
webidl merge mozilla-inbound to mozilla-central a=merge 2017-05-05 15:17:26 +02:00
workers Backed out 4 changesets (bug 1360807) for a 30% failure rate in test_ipcBlob_fileReaderSync.html on ASan e10s a=merge 2017-05-05 12:34:57 -07:00
worklet
xbl Bug 1359384: Check for display: contents on nsXBLResourceLoader::NotifyBoundElements. r=bz 2017-04-27 23:35:32 +02:00
xhr
xml
xslt
xul Bug 1354564, add a queue-up mechanism to command dispatchers that lets updates be queued up so that duplicates can be removed. Use this for tab switching to reduce the number of extraneous command updates that occur, r=mconley 2017-05-01 10:42:33 -04:00
jar.mn
moz.build