| 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 |