| Index: mobile/android/chrome/content/browser.js |
| =================================================================== |
| --- a/mobile/android/chrome/content/browser.js |
| +++ b/mobile/android/chrome/content/browser.js |
| @@ -363,6 +363,7 @@ |
| Services.obs.addObserver(this, "Webapps:Load", false); |
| Services.obs.addObserver(this, "Webapps:AutoUninstall", false); |
| Services.obs.addObserver(this, "sessionstore-state-purge-complete", false); |
| + Services.obs.addObserver(this, "BlockAds:Change", false); |
| function showFullScreenWarning() { |
| NativeWindow.toast.show(Strings.browser.GetStringFromName("alertFullScreenToast"), "short"); |
| @@ -1762,6 +1763,14 @@ |
| Services.strings.flushBundles(); |
| break; |
| + case "BlockAds:Change": |
| + let {blockAds, url} = JSON.parse(aData); |
| + let ioService = Cc["@mozilla.org/network/io-service;1"] |
| + .getService(Ci.nsIIOService); |
| + url = ioService.newURI(url, null, null).QueryInterface(Ci.nsIURL); |
| + AdblockPlusApi.whitelistSite(url, !blockAds); |
| + browser.webNavigation.reload(Ci.nsIWebNavigation.LOAD_FLAGS_NONE); |
| + |
| default: |
| dump('BrowserApp.observe: unexpected topic "' + aTopic + '"\n'); |
| break; |
| @@ -1925,6 +1934,11 @@ |
| _menuId: 1, |
| toolsMenuID: -1, |
| add: function() { |
| + // Adblock Browser doesn't support add-ons, so the only menu item that |
| + // could be added is the one for whitelisting the current domain added by |
| + // ABP - Adblock Browser has its own item for that. |
| + return; |
| + |
| let options; |
| if (arguments.length == 1) { |
| options = arguments[0]; |
| @@ -4216,6 +4230,13 @@ |
| } |
| } |
| + let canBlockAds = !AdblockPlusApi.isLocal(fixedURI); |
| + sendMessageToJava({ |
| + type: "BlockAds:Update", |
| + canBlockAds: canBlockAds, |
| + blockAds: canBlockAds && !AdblockPlusApi.isPageWhitelisted(fixedURI) |
| + }); |
| + |
| let contentType = contentWin.document.contentType; |
| // If fixedURI matches browser.lastURI, we assume this isn't a real location |