[tbb-dev] Using topic branches for Tor Browser patches

Nicolas Vigier boklm at mars-attacks.org
Mon Jun 8 17:41:02 UTC 2015


On Mon, 01 Jun 2015, Nicolas Vigier wrote:

> On Tue, 26 May 2015, Nicolas Vigier wrote:
> 
> >    
> > As an exemple, I have converted a few patches from tor-browser-31.7.0esr-4.5-1
> > to this new naming in this git repository:
> > https://github.com/boklm/gecko-dev/branches/all
> > 
> > With all topic branches merged to this tor-browser-31.7.0esr-4.5-1
> > branch:
> > https://github.com/boklm/gecko-dev/commits/tor-browser-31.7.0esr-4.5-1
> 
> I have converted more patches from tor-browser-31.7.0esr-4.5-1 and
> submitted some of them to Mozilla Try.
> 
> I'm planning to do the same on Arthur's esr38 branch this week.

I have now done it on the tb_GECKO380esr_2015050513_RELBRANCH+1 branch:
https://github.com/arthuredelstein/tor-browser/commits/tb_GECKO380esr_2015050513_RELBRANCH+1

and created the following branches with the following commits:

  38.0.1esr/10280-Don-t-load-any-plugins-into-the-address-space:
    0b1216846a0d fixup! Bug 10280: Don't load any plugins into the address space.
    23d18f171cb8 Bug 10280: Don't load any plugins into the address space.

  38.0.1esr/12430-Disable-external-jar-via-preference:
    bc28357ed82a fixup! Bug 12430: Disable external jar: via preference
    0242a7b7f6de Bug 12430: Disable external jar: via preference

  38.0.1esr/12620-TorBrowser-regression-tests-folder:
    52459e0c7dd3 Bug #12620: TorBrowser regression tests folder

  38.0.1esr/12827-Create-preference-to-disable-SVG:
    b067c1a830f7 Bug 12827: Create preference to disable SVG.

  38.0.1esr/12974-Disable-NTLM-and-Negotiate-HTTP-Auth:
    157cbbf23d7a Bug #12974: Disable NTLM and Negotiate HTTP Auth

  38.0.1esr/13016-Hide-CSS-moz-osx-font-smoothing-values:
    adbf4def3ecb Bug 13016: Hide CSS -moz-osx-font-smoothing values.

  38.0.1esr/13028-Prevent-potential-proxy-bypass-cases:
    43b227d1585a Bug 13028: Prevent potential proxy bypass cases.

  38.0.1esr/13548-Create-preference-to-disable-MathML:
    c10a82be15ca Bug 13548: Create preference to disable MathML.

  38.0.1esr/14631-Improve-profile-access-error-messages:
    a3319e71bdcf Bug 14631: Improve profile access error msgs (strings).
    59099865d876 Bug 14631: Improve profile access error messages.

  38.0.1esr/14716-HTTP-Basic-Authentication-prompt-only-displayed-once:
    2e2ac5a62a8f Bug 14716: HTTP Basic Authentication prompt only displayed once

  38.0.1esr/1517-Reduce-precision-of-time-for-Javascript:
    0d565f4ed2a0 Bug 1517: Reduce precision of time for Javascript.

  38.0.1esr/2874-Block-Components.interfaces-from-content:
    75e3f67964df Regression tests for #2874: Block Components.interfaces from content
    6d4165108321 Bug #2874: Block Components.interfaces from content
    d919ec4dedbe Enable tbb-tests/mochitest.ini
    52459e0c7dd3 Bug #12620: TorBrowser regression tests folder

  38.0.1esr/2875-Limit-device-and-system-specific-CSS-Media-Queries:
    0721c0ce16d6 Regression tests for #2875: Limit device and system specific CSS Media Queries.
    09149b1417db Bug #2875: Limit device and system specific CSS Media Queries.
    d919ec4dedbe Enable tbb-tests/mochitest.ini
    52459e0c7dd3 Bug #12620: TorBrowser regression tests folder

  38.0.1esr/2949-Make-Intermediate-Cert-Store-memory-only:
    87a593265524 Bug #2949: Make Intermediate Cert Store memory-only.

  38.0.1esr/2950-Make-Permissions-Manager-memory-only:
    fd15a9ebb804 Regression tests for Bug #2950: Make Permissions Manager memory-only
    79ef2a1f2bde Bug #2950: Make Permissions Manager memory-only
    6d16271a374e Enable tbb-tests/browser.ini
    52459e0c7dd3 Bug #12620: TorBrowser regression tests folder

  38.0.1esr/3455-Set-SOCKS-username-for-a-request-based-on-first-party-domain:
    5745c7c53605 Bug #3455.2. Allow RFC1929 authentication (username/password) to SOCKS servers.

  38.0.1esr/3547-Block-all-plugins-except-flash:
    6ef6bada6715 Disable all tests using plugins
    c1499cd7dc35 Bug #3547: Block all plugins except flash.

  38.0.1esr/3875-Use-Optimistic-Data-SOCKS-variant:
    2558a0ac8c7d Bug #3875: Use Optimistic Data SOCKS variant.

  38.0.1esr/4755-Return-client-window-coordinates-for-mouse-event-screenX-Y:
    bebd5ea65b12 Regression tests for #4755: Return client window coordinates for mouse event screenX/Y (for dragend, 0,0 is returned).
    931ba1ed3956 Bug #4755: Return client window coordinates for mouse event screenX/Y (for dragend, 0,0 is returned).
    d919ec4dedbe Enable tbb-tests/mochitest.ini
    52459e0c7dd3 Bug #12620: TorBrowser regression tests folder

  38.0.1esr/5282-Randomize-HTTP-request-order-and-pipeline-depth:
    5389acd1b51e Bug #5282: Randomize HTTP request order and pipeline depth.

  38.0.1esr/5715-Make-nsICacheService.EvictEntries-synchronous:
    606e927e605e Bug #5715: Make nsICacheService.EvictEntries synchronous

  38.0.1esr/5741-Prevent-WebSocket-DNS-leak:
    8f185132f0a1 Bug #5741: Prevent WebSocket DNS leak.

  38.0.1esr/5856-Do-not-expose-physical-screen-info-via-window-window.screen:
    a555a43c9424 Bug 13025: Lie about screen orientation.
    3048f766632b Regression tests for #5856: Do not expose physical screen info via window & window.screen.
    5fbc32940b32 fixup! Bug #5856: Do not expose physical screen info via window & window.screen.
    292b0cd6d6e5 Bug #5856: Do not expose physical screen info via window & window.screen.
    d919ec4dedbe Enable tbb-tests/mochitest.ini
    52459e0c7dd3 Bug #12620: TorBrowser regression tests folder

  38.0.1esr/5926-Allow-JS-locale-to-be-set-to-English-C:
    19de5993d61c Bug #5926: Allow JS locale to be set to English/C.

  38.0.1esr/6786-Do-not-expose-system-colors-to-CSS-or-canvas:
    8b332644d39a Bug #6786: Do not expose system colors to CSS or canvas.

  38.0.1esr/8312-Remove-This-plugin-is-disabled-barrier:
    2b6ec1798cfb Bug #8312: Remove "This plugin is disabled" barrier.

  38.0.1esr/Omnibox-Add-DDG-Startpage-Disconnect-Youtube-Twitter-remove-Amazon-eBay-bing:
    589453c1168b Disable amazon, bing and eBay tests
    3a65c7f4c89f Regression tests for "Omnibox: Add DDG, Startpage, Disconnect, Youtube, Twitter; remove Amazon, eBay, bing"
    da5257daac12 Omnibox: Add DDG, Startpage, Disconnect, Youtube, Twitter; remove Amazon, eBay, bing
    6d16271a374e Enable tbb-tests/browser.ini
    52459e0c7dd3 Bug #12620: TorBrowser regression tests folder

  38.0.1esr/TB2-Provide-an-observer-event-to-close-persistent-connections:
    7dfb40ddc2a3 TB2: Provide an observer event to close persistent connections

  38.0.1esr/enable-browser.ini:
    6d16271a374e Enable tbb-tests/browser.ini
    52459e0c7dd3 Bug #12620: TorBrowser regression tests folder

  38.0.1esr/enable-mochitest.ini:
    d919ec4dedbe Enable tbb-tests/mochitest.ini
    52459e0c7dd3 Bug #12620: TorBrowser regression tests folder

  38.0.1esr/isolation:
    afa4c0776abe Bug 13439: No canvas prompt for content-callers.
    935edc4208d6 Bug 13021: Prompt before allowing Canvas isPointIn*() calls.
    5c38cf9e2658 Bug #6253: Add canvas image extraction prompt.
    e424bc280f64 Bug 13900: Remove 3rd party HTTP auth tokens.
    4f1f4b8aed26 Bug #15502, Part 2: Regression tests for blob URL isolation
    d383dc1d54f1 Bug #15502. Isolate blob URLs to first party; no blobURLs in Web Workers
    25ea17272c4a fixup! Bug 13670.2: Isolate OCSP requests by first party domain
    1f36ee3d68ce Bug 13670.2: Isolate OCSP requests by first party domain
    935c0e104682 Bug #13749.1: regression tests for first party isolation of localStorage
    f4b3b48f1901 Bug #13749.2: Regression tests for first-party isolation of cache
    6a99e486c6ac Bug #6564: Isolate DOM storage to first party URI.
    fed97227fac5 Bug #6539: Isolate the Image Cache per url bar domain.
    f730e6fb0dbf Bug 13742: Isolate cache to URL bar domain.
    553369720c84 Bug #10819: Add a pref, "privacy.thirdparty.isolate", to allow the activation or deactivation of isolating DOM storage and image caching by first party URI.
    ff065c6cb9f6 Bug #5742: API allows you to get the url bar URI for a channel or nsIDocument.
    5745c7c53605 Bug #3455.2. Allow RFC1929 authentication (username/password) to SOCKS servers.

  38.0.1esr/mingw-fixes:
    6e79690f57c9 bug 1183967 - fixup correct case of mfidl.h
    c50ea010124e Bug 1133689 - Make D3DVsyncDisplay destructor private. r=jmuizelaar
    ef7e793ce20f Don't package things we don't build
    3926dd0ec2d4 Revert "Bug #9837: Disable uninstall helper.exe on Win32."
    820ef3240e22 Bug 10761: Fix shutdown crashes on Windows
    d71e5816ac35 Bug #9837: Disable uninstall helper.exe on Win32.

  38.0.1esr/tor-browser:
    5dfc5572b841 fixup! Bug #4234: Use the Firefox Update Process for Tor Browser.
    b04b073928a9 Bug 15990: Don't build the sandbox with mingw-w64
    337988e0b015 fixup! Bug 13379: Sign our MAR files.
    92e8836ea70f Bug 13379: Sign our MAR files.
    a852c1cb11eb Bug 1158866 - Enable MAR verification on linux via NSS. r=rstrong
    d035c2a4df4d Bug 973933 - Fix libmar warnings. r=rstrong. a=Callek
    b375c914bc87 Bug 973933 - Fix Nightly builds failing on updater-xpcshell. r=rstrong
    c1e862aaf42f Bug 973933 - Temporarily disable Linux for MAR verification. r=rstrong
    0add69611998 Bug 973933 - Fix mochitest chrome updater tests. r=rstrong
    782c6bc4a12e Bug 973933 - New updater-xpcshell binary for updater tests. r=rstrong
    7bd5f9eacbb2 Bug 991993: Disable NSS for updater on OSX and enable native APIs. r=smichaud,rstrong
    6527a586134f Bug 903126 - Replace DER file with XPCShell cert. r=rstrong
    54ebcc221c29 Bug 903126 - Don't use an xpcshell cert for verification. r=rstrong
    916b54d6705f Bug 903135 - Multi platform MAR verification updater support. r=rstrong
    2f555e8d2646 Bug 903135 - Multi platform MAR verification build config. r=rstrong
    0d571efe83af Bug 903135 - Updates to libmar needed to support B2G MAR signature verification. r=bbondy
    1dd437e5d4eb Bug #4234: Use the Firefox Update Process for Tor Browser.
    03c134e29ab8 Bug #11641: change TBB directory structure to be more like Firefox's
    25bb8cb4b36f Bug #9173: Change the default Firefox profile directory to be TBB-relative.
    f0203a88e464 Bug 15773: Enable ICU on OS X
    c277a05ad0d7 Disable ICU when cross-compiling; clean-up.
    179586beb27c Bug 10715: Enable Webgl for mingw-w64 again.
    18cef4694ee0 Changes needed to build Mac in 64bit
    de30c48826d4 Bug #9829.1: new .mozconfig file for the new cross-compiler and ESR24
    adcdc12c89d9 TB3: Tor Browser's official .mozconfigs.
    43384d5e0115 Bug 14392: Make about:tor behave like other initial pages.
    87bf1ad80a45 Bug #2176: Rebrand Firefox to TorBrowser
    7527a925e85e Regression tests for TB4: Tor Browser's Firefox preference overrides.
    d67fe8a3163d TB4: Tor Browser's Firefox preference overrides.
    6d16271a374e Enable tbb-tests/browser.ini
    52459e0c7dd3 Bug #12620: TorBrowser regression tests folder


When the patches are independent, they have their own branch, which
allows to test them independently. In other cases the patches depend on
previous patches, or would create too much conflicts when merging if
they had their own branches, so they are grouped in a single branch.
This is the case for the 38.0.1esr/isolation branch (patches modifying
or using ThirdPartyUtil.h) and 38.0.1esr/tor-browser (preference updates,
branding, mozconfig files and updater changes).

I merged all the branches in tor-browser-38.0.1esr-5.0-test1 using
"tbgit merge --no-edit --yes". There are merge conflicts in files
tbb-tests/mochitest.ini and tbb-tests/browser.ini, but easy to fix.

I submitted all branches to Mozilla Try. The 'try-results' command can
now fetch results from the treeherder json api to list test results for
all branches.

The following branches pass all tests:

  $ tbgit try-results --success
  38.0.1esr/12430-Disable-external-jar-via-preference:
    https://treeherder.mozilla.org/#/jobs?repo=try&revision=b86d3d01aa3a

  38.0.1esr/12974-Disable-NTLM-and-Negotiate-HTTP-Auth:
    https://treeherder.mozilla.org/#/jobs?repo=try&revision=c3d2260dc155

  38.0.1esr/13016-Hide-CSS-moz-osx-font-smoothing-values:
    https://treeherder.mozilla.org/#/jobs?repo=try&revision=95f57aceb6df

  38.0.1esr/13028-Prevent-potential-proxy-bypass-cases:
    https://treeherder.mozilla.org/#/jobs?repo=try&revision=d0ce854391df

  38.0.1esr/13548-Create-preference-to-disable-MathML:
    https://treeherder.mozilla.org/#/jobs?repo=try&revision=eb475633db5a

  38.0.1esr/14716-HTTP-Basic-Authentication-prompt-only-displayed-once:
    https://treeherder.mozilla.org/#/jobs?repo=try&revision=be3b2033b48d

  38.0.1esr/2874-Block-Components.interfaces-from-content:
    https://treeherder.mozilla.org/#/jobs?repo=try&revision=18cfee0eae19

  38.0.1esr/2949-Make-Intermediate-Cert-Store-memory-only:
    https://treeherder.mozilla.org/#/jobs?repo=try&revision=df6ac5175337

  38.0.1esr/2950-Make-Permissions-Manager-memory-only:
    https://treeherder.mozilla.org/#/jobs?repo=try&revision=0fcd667c0570

  38.0.1esr/3455-Set-SOCKS-username-for-a-request-based-on-first-party-domain:
    https://treeherder.mozilla.org/#/jobs?repo=try&revision=357527d012dd

  38.0.1esr/5715-Make-nsICacheService.EvictEntries-synchronous:
    https://treeherder.mozilla.org/#/jobs?repo=try&revision=7833307877c4

  38.0.1esr/5741-Prevent-WebSocket-DNS-leak:
    https://treeherder.mozilla.org/#/jobs?repo=try&revision=5ccf1cfd893b

  38.0.1esr/5926-Allow-JS-locale-to-be-set-to-English-C:
    https://treeherder.mozilla.org/#/jobs?repo=try&revision=e37629b4db27


The following branches fail some tests:

  $ tbgit try-results --failed
  38.0.1esr/10280-Don-t-load-any-plugins-into-the-address-space:
    https://treeherder.mozilla.org/#/jobs?repo=try&revision=868bae219dce
    testfailed: M(bc1), M(bc3)

  38.0.1esr/12827-Create-preference-to-disable-SVG:
    https://treeherder.mozilla.org/#/jobs?repo=try&revision=aadc97ed95d4
    busted: M(1), M(3), R(C), R(R2), R(R3), R(R4), X
    testfailed: M(2), M(4), M(5), M(bc1), M(bc3), R(R1)

  38.0.1esr/14631-Improve-profile-access-error-messages:
    https://treeherder.mozilla.org/#/jobs?repo=try&revision=ae955d72e419
    busted: M(bc1)

  38.0.1esr/1517-Reduce-precision-of-time-for-Javascript:
    https://treeherder.mozilla.org/#/jobs?repo=try&revision=3ee094aa6f9e
    busted: X
    testfailed: M(1), M(2), M(3), M(4)

  38.0.1esr/2875-Limit-device-and-system-specific-CSS-Media-Queries:
    https://treeherder.mozilla.org/#/jobs?repo=try&revision=fac4b042d797
    testfailed: M(4), M(5), M(bc2)

  38.0.1esr/3547-Block-all-plugins-except-flash:
    https://treeherder.mozilla.org/#/jobs?repo=try&revision=a93ef672df24
    running: Jit1, Jit2, M(3), M(bc1), M(bc3), R(J), S, X
    testfailed: M(2)

  38.0.1esr/3875-Use-Optimistic-Data-SOCKS-variant:
    https://treeherder.mozilla.org/#/jobs?repo=try&revision=7e9b19851a91
    busted: X

  38.0.1esr/4755-Return-client-window-coordinates-for-mouse-event-screenX-Y:
    https://treeherder.mozilla.org/#/jobs?repo=try&revision=b6663db2aa8e
    testfailed: M(2), M(5)

  38.0.1esr/5282-Randomize-HTTP-request-order-and-pipeline-depth:
    https://treeherder.mozilla.org/#/jobs?repo=try&revision=09293594a389
    busted: B

  38.0.1esr/5856-Do-not-expose-physical-screen-info-via-window-window.screen:
    https://treeherder.mozilla.org/#/jobs?repo=try&revision=61782741cc52
    busted: M(3), M(bc1)
    testfailed: M(1), M(2), M(4), M(5), Mn

  38.0.1esr/6786-Do-not-expose-system-colors-to-CSS-or-canvas:
    https://treeherder.mozilla.org/#/jobs?repo=try&revision=da8003f44cfe
    testfailed: R(R1), R(R3)

  38.0.1esr/8312-Remove-This-plugin-is-disabled-barrier:
    https://treeherder.mozilla.org/#/jobs?repo=try&revision=ad001850edf4
    busted: R(R4)
    testfailed: M(bc1), M(bc3)

  38.0.1esr/Omnibox-Add-DDG-Startpage-Disconnect-Youtube-Twitter-remove-Amazon-eBay-bing:
    https://treeherder.mozilla.org/#/jobs?repo=try&revision=ca8200026d6d
    busted: X
    testfailed: M(bc3)

  38.0.1esr/TB2-Provide-an-observer-event-to-close-persistent-connections:
    https://treeherder.mozilla.org/#/jobs?repo=try&revision=039caec70800
    busted: R(J)

  38.0.1esr/isolation:
    https://treeherder.mozilla.org/#/jobs?repo=try&revision=b5b5088b96a5
    busted: B

  38.0.1esr/tor-browser:
    https://treeherder.mozilla.org/#/jobs?repo=try&revision=5dc6b19b1cc9
    busted: M(bc1), R(R1), R(R2), R(R3), R(R4), X
    testfailed: M(1), M(2), M(3), M(4), M(5), M(bc2), M(bc3), Mn, R(C), R(J)


I started adding patches in some branches to disable tests that are
expected to fail:
https://github.com/boklm/gecko-dev/commit/589453c1168b4259f367280081f9cf8f7775e0e4
https://github.com/boklm/gecko-dev/commit/6ef6bada67150263c4b8731b8af4741dd313319a

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.torproject.org/pipermail/tbb-dev/attachments/20150608/3c3906d0/attachment.sig>


More information about the tbb-dev mailing list