Bug #5742: API allows you to get the url bar URI for a channel or nsIDocument.
Bug #4755: Return client window coordinates for mouse event screenX/Y (for dragend, 0,0 is returned).
Bug #8312: Remove "This plugin is disabled" barrier.

We do not want to encourage our users to enable plugins at this point.

The barrier also causes bad UX for HTML5 video fallback on YouTube.
Bug #3875: Use Optimistic Data SOCKS variant.

This patch alters Firefox's SOCKS handshake to preemptively send data before
it is actually connected. This allows us to save a round trip during
connection setup.

See:
https://gitweb.torproject.org/torspec.git/blob/HEAD:/proposals/181-optimistic-data-client.txt
Bug #8987: Disable 'Saved Application State' in MacOS via plist property

Prevents leaking our window titles to the disk outside of TBB.
Tor Browser's official .mozconfigs.
Tor Browser's Firefox preference overrides.

This hack directly includes our preference changes in omni.ja.
Add processID API to nsXULAppInfo.

This is needed to allow Tor Launcher to pass Firefox's PID as the owning
controller process, so Tor knows to exit when Firefox does.
Bug #3688: Build determinism fix: Disable library timestamping.

This timestamp prevents deterministic builds, and is set in a way that
libfaketime can't correct.
Bug #6253: Add canvas image extraction prompt.
Bug #5856: Do not expose physical screen info via window & window.screen.

Non-chrome callers get zero for x and y position and the window's
inner width and height for dimensions.
Bug #6786: Do not expose system colors to CSS or canvas.

This patch also contains a hack to use properly contrasting colors if the
desktop theme specifies white on black for text colors (see
https://trac.torproject.org/projects/tor/ticket/7920). These color choices are
also not exposed to content.
Bug #6539: Isolate the Image Cache per url bar domain.

The image cache maintains its own table outside of the main cache, and does
not obey cacheKeys by default.
Bug #6564: Isolate DOM storage to first party URI.

Also prevent DOM storage from ever writing to disk.
Bug #5282: Randomize HTTP request order and pipeline depth.

This is an experimental defense against Website Traffic Fingerprinting:
http://lorre.uni.lu/~andriy/papers/acmccs-wpes11-fingerprinting.pdf

See:
https://blog.torproject.org/blog/experimental-defense-website-traffic-fingerprinting

This patch is different from the approach described in that post, as well as
the 10.x ESR patch, as the pipelining code has changed significantly between
the time of writing of that post and Firefox 17.

The main control nob for this patch is now the about:config pref
"network.http.pipelining.max-optimistic-requests". The value of that pref
represents the minimum number of pipelined requests we will attempt to batch
together.

The total outstanding pipeline size is randomized between that value and
"network.http.pipelining.maxrequests" on a per-host basis.

Care must be taken when evaluating this defense, as pipeline behavior is
extremely sensitive to browser performance. In fact, a debug build alone is
enough to significantly impair request availability to the pipeline (due
slower document parsing and rendering). For this reason, we provide two
separate debug log defines. For most evaluation circumstances, you want to
define only WTF_TEST in an optimized build to only log request order,
combination behavior, and cases where the pipeline is forcibly disabled.

This patch may also have some minor impact on SPDY request order, but the SPDY
implementation has not been altered directly. It has several stream queues
that may also benefit from reordering and batching, as well as a more compact
request representation that will allow more requests to be packed inside Tor
cells. If you have interest in evaluating SPDY in a study of Website Traffic
Fingerprinting, please contact me.
Build determinism fixes

Enforce sorted ordering on build and link lists. Also omit hostname from
buildinfo.
Bug #9837: Disable uninstall helper.exe on Win32.

Fixes 'make package' breakage on Windows builds.
Bug #10139: Make --enable-strip work again

Patch from https://bugzilla.mozilla.org/show_bug.cgi?id=841373
new .mozconfig file for the new cross-compiler and ESR24
Bug #9829.1: Backport of bug 931053 to avoid building breakpad code in cross-compilation environments (which is currently broken)