Index: adblockplus/issue-2510.patch |
=================================================================== |
new file mode 100644 |
--- /dev/null |
+++ b/adblockplus/issue-2510.patch |
@@ -0,0 +1,154 @@ |
+# HG changeset patch |
+# User Felix Dahlke <felix@adblockplus.org> |
+# Date 1431547667 -7200 |
+# Wed May 13 22:07:47 2015 +0200 |
+# Node ID 7e0cd0610aecdfe47450a26ae6e13c81fcb60d81 |
+# Parent ae1c968784024553c3a2eaf4c446757798be7e13 |
+Issue 2510 - Support Adblock Browser |
+ |
+diff -r ae1c96878402 -r 7e0cd0610aec chrome.manifest |
+--- a/chrome.manifest Tue May 12 23:01:08 2015 +0200 |
++++ b/chrome.manifest Wed May 13 22:07:47 2015 +0200 |
+@@ -3,4 +3,4 @@ |
+ locale adblockplus {{LOCALE}} chrome/locale/{{LOCALE}}/ |
+ |
+ # fennec settings |
+-override chrome://adblockplus/content/ui/settings.xul chrome://adblockplus/content/ui/fennecSettings.xul application={a23983c0-fd0e-11dc-95ff-0800200c9a66} application={aa3c5121-dab2-40e2-81ca-7ea25febc110} |
++override chrome://adblockplus/content/ui/settings.xul chrome://adblockplus/content/ui/fennecSettings.xul application={a23983c0-fd0e-11dc-95ff-0800200c9a66} application={aa3c5121-dab2-40e2-81ca-7ea25febc110} application={55aba3ac-94d3-41a8-9e25-5c21fe874539} |
+diff -r ae1c96878402 -r 7e0cd0610aec dependencies |
+--- a/dependencies Tue May 12 23:01:08 2015 +0200 |
++++ b/dependencies Wed May 13 22:07:47 2015 +0200 |
+@@ -1,4 +1,4 @@ |
+ _root = hg:https://hg.adblockplus.org/ git:https://github.com/adblockplus/ |
+ _self = buildtools/ensure_dependencies.py |
+-buildtools = buildtools hg:97e2e12af6e8 git:ef69bbc |
++buildtools = buildtools hg:f9f01a4c16af git: |
+ adblockplusui = adblockplusui hg:75a50600e10a git:7ebacdc |
+diff -r ae1c96878402 -r 7e0cd0610aec ensure_dependencies.py |
+--- a/ensure_dependencies.py Tue May 12 23:01:08 2015 +0200 |
++++ b/ensure_dependencies.py Wed May 13 22:07:47 2015 +0200 |
+@@ -34,6 +34,10 @@ |
+ buildtools = buildtools hg:016d16f7137b git:f3f8692f82e5 |
+ """ |
+ |
++SKIP_DEPENDENCY_UPDATES = os.environ.get( |
++ "SKIP_DEPENDENCY_UPDATES", "" |
++).lower() not in ("", "0", "false") |
++ |
+ class Mercurial(): |
+ def istype(self, repodir): |
+ return os.path.exists(os.path.join(repodir, ".hg")) |
+@@ -97,7 +101,20 @@ |
+ return subprocess.check_output(command, cwd=repo).strip() |
+ |
+ def pull(self, repo): |
++ # Fetch tracked branches, new tags and the list of available remote branches |
+ subprocess.check_call(["git", "fetch", "--quiet", "--all", "--tags"], cwd=repo) |
++ # Next we need to ensure all remote branches are tracked |
++ newly_tracked = False |
++ remotes = subprocess.check_output(["git", "branch", "--remotes"], cwd=repo) |
++ for match in re.finditer(r"^\s*(origin/(\S+))$", remotes, re.M): |
++ remote, local = match.groups() |
++ with open(os.devnull, "wb") as devnull: |
++ if subprocess.call(["git", "branch", "--track", local, remote], |
++ cwd=repo, stdout=devnull, stderr=devnull) == 0: |
++ newly_tracked = True |
++ # Finally fetch any newly tracked remote branches |
++ if newly_tracked: |
++ subprocess.check_call(["git", "fetch", "--quiet", "origin"], cwd=repo) |
+ |
+ def update(self, repo, rev): |
+ subprocess.check_call(["git", "checkout", "--quiet", rev], cwd=repo) |
+@@ -167,7 +184,7 @@ |
+ |
+ def safe_join(path, subpath): |
+ # This has been inspired by Flask's safe_join() function |
+- forbidden = set([os.sep, os.altsep]) - set([posixpath.sep, None]) |
++ forbidden = {os.sep, os.altsep} - {posixpath.sep, None} |
+ if any(sep in subpath for sep in forbidden): |
+ raise Exception("Illegal directory separator in dependency path %s" % subpath) |
+ |
+@@ -188,6 +205,11 @@ |
+ if os.path.exists(target): |
+ return |
+ |
++ if SKIP_DEPENDENCY_UPDATES: |
++ logging.warning("SKIP_DEPENDENCY_UPDATES environment variable set, " |
++ "%s not cloned", target) |
++ return |
++ |
+ parenttype = get_repo_type(parentrepo) |
+ type = None |
+ for key in roots: |
+@@ -227,15 +249,21 @@ |
+ return |
+ |
+ resolved_revision = repo_types[type].get_revision_id(target, revision) |
+- if not resolved_revision: |
+- logging.info("Revision %s is unknown, downloading remote changes" % revision) |
+- repo_types[type].pull(target) |
+- resolved_revision = repo_types[type].get_revision_id(target, revision) |
++ current_revision = repo_types[type].get_revision_id(target) |
++ |
++ if resolved_revision != current_revision: |
++ if SKIP_DEPENDENCY_UPDATES: |
++ logging.warning("SKIP_DEPENDENCY_UPDATES environment variable set, " |
++ "%s not checked out to %s", target, revision) |
++ return |
++ |
+ if not resolved_revision: |
+- raise Exception("Failed to resolve revision %s" % revision) |
++ logging.info("Revision %s is unknown, downloading remote changes" % revision) |
++ repo_types[type].pull(target) |
++ resolved_revision = repo_types[type].get_revision_id(target, revision) |
++ if not resolved_revision: |
++ raise Exception("Failed to resolve revision %s" % revision) |
+ |
+- current_revision = repo_types[type].get_revision_id(target) |
+- if resolved_revision != current_revision: |
+ logging.info("Updating repository %s to revision %s" % (target, resolved_revision)) |
+ repo_types[type].update(target, resolved_revision) |
+ |
+@@ -247,6 +275,7 @@ |
+ return |
+ if level >= 10: |
+ logging.warning("Too much subrepository nesting, ignoring %s" % repo) |
++ return |
+ |
+ if overrideroots is not None: |
+ config["_root"] = overrideroots |
+diff -r ae1c96878402 -r 7e0cd0610aec lib/appSupport.js |
+--- a/lib/appSupport.js Tue May 12 23:01:08 2015 +0200 |
++++ b/lib/appSupport.js Wed May 13 22:07:47 2015 +0200 |
+@@ -690,6 +690,7 @@ |
+ } |
+ |
+ case "fennec2": |
++ case "adblockbrowser": |
+ { |
+ exports.isKnownWindow = (window) => window.document.documentElement.id == "main-window"; |
+ |
+diff -r ae1c96878402 -r 7e0cd0610aec lib/objectTabs.js |
+--- a/lib/objectTabs.js Tue May 12 23:01:08 2015 +0200 |
++++ b/lib/objectTabs.js Wed May 13 22:07:47 2015 +0200 |
+@@ -178,7 +178,8 @@ |
+ { |
+ // Object tabs aren't usable in Fennec |
+ let {application} = require("info"); |
+- if (application == "fennec" || application == "fennec2") |
++ if (application == "fennec" || application == "fennec2" || |
++ application == "adblockbrowser") |
+ return; |
+ |
+ let {Prefs} = require("prefs"); |
+diff -r ae1c96878402 -r 7e0cd0610aec metadata.gecko |
+--- a/metadata.gecko Tue May 12 23:01:08 2015 +0200 |
++++ b/metadata.gecko Wed May 13 22:07:47 2015 +0200 |
+@@ -34,6 +34,7 @@ |
+ thunderbird=29.0/39.0 |
+ seamonkey=2.26/2.36 |
+ toolkit=29.0/39.0 |
++adblockbrowser=1.0/1.0 |
+ |
+ [mapping] |
+ chrome/content/ui/firstRun.html = adblockplusui/firstRun.html |