Index: android_webview/renderer/aw_render_view_ext.cc |
diff --git a/android_webview/renderer/aw_render_view_ext.cc b/android_webview/renderer/aw_render_view_ext.cc |
index ae0035dbe8c28010e170799ddae4f2b440739b38..7f0825cc1688b8fdbd85945e767e74454af4ae1a 100644 |
--- a/android_webview/renderer/aw_render_view_ext.cc |
+++ b/android_webview/renderer/aw_render_view_ext.cc |
@@ -5,17 +5,20 @@ |
#include "android_webview/renderer/aw_render_view_ext.h" |
#include "android_webview/common/render_view_messages.h" |
+#include "content/public/common/url_constants.h" |
#include "content/public/renderer/render_view.h" |
+#include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebURL.h" |
+#include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebVector.h" |
#include "third_party/WebKit/Source/WebKit/chromium/public/WebDocument.h" |
#include "third_party/WebKit/Source/WebKit/chromium/public/WebElement.h" |
#include "third_party/WebKit/Source/WebKit/chromium/public/WebFrame.h" |
#include "third_party/WebKit/Source/WebKit/chromium/public/WebView.h" |
-#include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebVector.h" |
namespace android_webview { |
AwRenderViewExt::AwRenderViewExt(content::RenderView* render_view) |
: content::RenderViewObserver(render_view) { |
+ render_view->GetWebView()->setPermissionClient(this); |
} |
AwRenderViewExt::~AwRenderViewExt() {} |
@@ -48,4 +51,19 @@ void AwRenderViewExt::OnDocumentHasImagesRequest(int id) { |
hasImages)); |
} |
+bool AwRenderViewExt::allowImage(WebKit::WebFrame* frame, |
+ bool enabled_per_settings, |
+ const WebKit::WebURL& image_url) { |
+ // Implementing setBlockNetworkImages, so allow local scheme images to be |
+ // loaded. |
+ if (enabled_per_settings) |
+ return true; |
+ |
+ // For compatibility, only blacklist network schemes instead of whitelisting. |
+ const GURL url(image_url); |
+ return !(url.SchemeIs(chrome::kHttpScheme) || |
+ url.SchemeIs(chrome::kHttpsScheme) || |
+ url.SchemeIs(chrome::kFtpScheme)); |
+} |
+ |
} // namespace android_webview |