Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2057)

Unified Diff: android_webview/browser/renderer_host/aw_resource_dispatcher_host_delegate.cc

Issue 2814593002: WebView: add {set,get}SafeBrowsingEnabled per WebView (Closed)
Patch Set: Add comment about getSafeBrowsingEnabled() Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: android_webview/browser/renderer_host/aw_resource_dispatcher_host_delegate.cc
diff --git a/android_webview/browser/renderer_host/aw_resource_dispatcher_host_delegate.cc b/android_webview/browser/renderer_host/aw_resource_dispatcher_host_delegate.cc
index 4fbac3522c2a4df86c526b8f62de0120da812191..56398e388f5fdf08935851abb679db0b0227890f 100644
--- a/android_webview/browser/renderer_host/aw_resource_dispatcher_host_delegate.cc
+++ b/android_webview/browser/renderer_host/aw_resource_dispatcher_host_delegate.cc
@@ -129,6 +129,7 @@ class IoThreadClientThrottle : public content::ResourceThrottle {
int new_render_frame_id);
bool MaybeBlockRequest();
bool ShouldBlockRequest();
+ bool GetSafeBrowsingEnabled();
int render_process_id() const { return render_process_id_; }
int render_frame_id() const { return render_frame_id_; }
@@ -216,6 +217,13 @@ bool IoThreadClientThrottle::MaybeBlockRequest() {
return false;
}
+bool IoThreadClientThrottle::GetSafeBrowsingEnabled() {
+ std::unique_ptr<AwContentsIoThreadClient> io_client = GetIoThreadClient();
+ if (!io_client)
+ return false;
+ return io_client->GetSafeBrowsingEnabled();
+}
+
bool IoThreadClientThrottle::ShouldBlockRequest() {
std::unique_ptr<AwContentsIoThreadClient> io_client = GetIoThreadClient();
if (!io_client)
@@ -283,7 +291,12 @@ void AwResourceDispatcherHostDelegate::RequestBeginning(
const content::ResourceRequestInfo* request_info =
content::ResourceRequestInfo::ForRequest(request);
- if (AwSafeBrowsingConfigHelper::GetSafeBrowsingEnabled()) {
+ std::unique_ptr<IoThreadClientThrottle> ioThreadThrottle =
+ base::MakeUnique<IoThreadClientThrottle>(request_info->GetChildID(),
+ request_info->GetRenderFrameID(),
+ request);
+
+ if (ioThreadThrottle->GetSafeBrowsingEnabled()) {
content::ResourceThrottle* throttle =
AwSafeBrowsingResourceThrottle::MaybeCreate(
request, resource_type,
@@ -302,8 +315,7 @@ void AwResourceDispatcherHostDelegate::RequestBeginning(
// is called whether or not requests are blocked via BlockRequestForRoute()
// however io_client may or may not be ready at the time depending on whether
// webcontents is created.
- throttles->push_back(base::MakeUnique<IoThreadClientThrottle>(
- request_info->GetChildID(), request_info->GetRenderFrameID(), request));
+ throttles->push_back(std::move(ioThreadThrottle));
bool is_main_frame = resource_type == content::RESOURCE_TYPE_MAIN_FRAME;
if (!is_main_frame)

Powered by Google App Engine
This is Rietveld 408576698