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

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

Issue 2437423002: Move NewLoginRequest plumbing to AwContentsClientBridge (Closed)
Patch Set: Created 4 years, 2 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 ca2acb0e25bfdae754f87ead5104afd6dabba417..0945728d77403f1d5257c21ed2d9ebf5c237f5cf 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
@@ -66,15 +66,26 @@ void DownloadStartingOnUIThread(
const std::string& content_disposition,
const std::string& mime_type,
int64_t content_length) {
- WebContents* web_contents = web_contents_getter.Run();
AwContentsClientBridgeBase* client =
- AwContentsClientBridgeBase::FromWebContents(web_contents);
+ AwContentsClientBridgeBase::FromWebContentsGetter(web_contents_getter);
if (!client)
return;
client->NewDownload(url, user_agent, content_disposition, mime_type,
content_length);
}
+void NewLoginRequestOnUIThread(
+ const content::ResourceRequestInfo::WebContentsGetter& web_contents_getter,
+ const std::string& realm,
+ const std::string& account,
+ const std::string& args) {
+ AwContentsClientBridgeBase* client =
+ AwContentsClientBridgeBase::FromWebContentsGetter(web_contents_getter);
+ if (!client)
+ return;
+ client->NewLoginRequest(realm, account, args);
+}
+
} // namespace
namespace android_webview {
@@ -359,13 +370,11 @@ void AwResourceDispatcherHostDelegate::OnResponseStarted(
// Check for x-auto-login header.
HeaderData header_data;
if (ParserHeaderInResponse(request, ALLOW_ANY_REALM, &header_data)) {
- std::unique_ptr<AwContentsIoThreadClient> io_client =
- AwContentsIoThreadClient::FromID(request_info->GetChildID(),
- request_info->GetRenderFrameID());
- if (io_client) {
- io_client->NewLoginRequest(header_data.realm, header_data.account,
- header_data.args);
- }
+ BrowserThread::PostTask(
+ BrowserThread::UI, FROM_HERE,
+ base::Bind(&NewLoginRequestOnUIThread,
+ request_info->GetWebContentsGetterForRequest(),
+ header_data.realm, header_data.account, header_data.args));
}
}
}

Powered by Google App Engine
This is Rietveld 408576698