From 409b9af3980e136226e78511222885767d0b7253 Mon Sep 17 00:00:00 2001 From: Joe Bowser Date: Wed, 6 Mar 2013 14:56:27 -0800 Subject: [PATCH] CB-2099: Android Whitelisting now blocks images and JS with an empty response --- .../org/apache/cordova/CordovaWebViewClient.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/framework/src/org/apache/cordova/CordovaWebViewClient.java b/framework/src/org/apache/cordova/CordovaWebViewClient.java index 85f481d6..b1aa0f0a 100755 --- a/framework/src/org/apache/cordova/CordovaWebViewClient.java +++ b/framework/src/org/apache/cordova/CordovaWebViewClient.java @@ -18,6 +18,7 @@ */ package org.apache.cordova; +import java.io.ByteArrayInputStream; import java.util.Hashtable; import org.apache.cordova.api.CordovaInterface; @@ -220,11 +221,24 @@ public class CordovaWebViewClient extends WebViewClient { */ @Override public WebResourceResponse shouldInterceptRequest(WebView view, String url) { + //If something isn't whitelisted, just send a blank response + if(!Config.isUrlWhiteListed(url)) + { + return getWhitelistResponse(); + } if (this.appView.pluginManager != null) { return this.appView.pluginManager.shouldInterceptRequest(url); } return null; } + + private WebResourceResponse getWhitelistResponse() + { + WebResourceResponse emptyResponse; + String empty = ""; + ByteArrayInputStream data = new ByteArrayInputStream(empty.getBytes()); + return new WebResourceResponse("text/plain", "UTF-8", data); + } /** * On received http auth request.