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

Unified Diff: android_webview/native/aw_web_contents_delegate.cc

Issue 2059533002: Change WebContentsDelegate::RunFileChooser to be frame based. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixes based on reviews. Created 4 years, 6 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
« no previous file with comments | « android_webview/native/aw_web_contents_delegate.h ('k') | apps/custom_launcher_page_contents.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: android_webview/native/aw_web_contents_delegate.cc
diff --git a/android_webview/native/aw_web_contents_delegate.cc b/android_webview/native/aw_web_contents_delegate.cc
index 8026a6fcb087467fa9572ea0525f7fefd8187e84..c825f63b22e85ebfce19bf6a0aa0766bcc7531e4 100644
--- a/android_webview/native/aw_web_contents_delegate.cc
+++ b/android_webview/native/aw_web_contents_delegate.cc
@@ -20,6 +20,7 @@
#include "base/strings/string_util.h"
#include "base/strings/utf_string_conversions.h"
#include "base/threading/thread_task_runner_handle.h"
+#include "content/public/browser/render_frame_host.h"
#include "content/public/browser/render_process_host.h"
#include "content/public/browser/render_view_host.h"
#include "content/public/browser/render_widget_host.h"
@@ -91,8 +92,9 @@ void AwWebContentsDelegate::CanDownload(
callback.Run(false);
}
-void AwWebContentsDelegate::RunFileChooser(WebContents* web_contents,
- const FileChooserParams& params) {
+void AwWebContentsDelegate::RunFileChooser(
+ content::RenderFrameHost* render_frame_host,
+ const FileChooserParams& params) {
JNIEnv* env = AttachCurrentThread();
ScopedJavaLocalRef<jobject> java_delegate = GetJavaDelegate(env);
if (!java_delegate.obj())
@@ -106,24 +108,24 @@ void AwWebContentsDelegate::RunFileChooser(WebContents* web_contents,
mode_flags |= kFileChooserModeOpenMultiple | kFileChooserModeOpenFolder;
} else if (params.mode == FileChooserParams::Save) {
// Save not supported, so cancel it.
- web_contents->GetRenderViewHost()->FilesSelectedInChooser(
- std::vector<content::FileChooserFileInfo>(),
- params.mode);
+ render_frame_host->FilesSelectedInChooser(
+ std::vector<content::FileChooserFileInfo>(), params.mode);
return;
} else {
DCHECK_EQ(FileChooserParams::Open, params.mode);
}
- Java_AwWebContentsDelegate_runFileChooser(env,
- java_delegate.obj(),
- web_contents->GetRenderProcessHost()->GetID(),
- web_contents->GetRenderViewHost()->GetRoutingID(),
- mode_flags,
- ConvertUTF16ToJavaString(env,
- base::JoinString(params.accept_types, base::ASCIIToUTF16(","))).obj(),
- params.title.empty() ? NULL :
- ConvertUTF16ToJavaString(env, params.title).obj(),
- params.default_file_name.empty() ? NULL :
- ConvertUTF8ToJavaString(env, params.default_file_name.value()).obj(),
+ Java_AwWebContentsDelegate_runFileChooser(
+ env, java_delegate.obj(), render_frame_host->GetProcess()->GetID(),
+ render_frame_host->GetRoutingID(), mode_flags,
+ ConvertUTF16ToJavaString(
+ env, base::JoinString(params.accept_types, base::ASCIIToUTF16(",")))
+ .obj(),
+ params.title.empty() ? NULL
+ : ConvertUTF16ToJavaString(env, params.title).obj(),
+ params.default_file_name.empty()
+ ? NULL
+ : ConvertUTF8ToJavaString(env, params.default_file_name.value())
+ .obj(),
params.capture);
}
@@ -271,9 +273,9 @@ static void FilesSelectedInChooser(
jint mode_flags,
const JavaParamRef<jobjectArray>& file_paths,
const JavaParamRef<jobjectArray>& display_names) {
- content::RenderViewHost* rvh = content::RenderViewHost::FromID(process_id,
- render_id);
- if (!rvh)
+ content::RenderFrameHost* rfh =
+ content::RenderFrameHost::FromID(process_id, render_id);
+ if (!rfh)
return;
std::vector<std::string> file_path_str;
@@ -310,7 +312,7 @@ static void FilesSelectedInChooser(
}
DVLOG(0) << "File Chooser result: mode = " << mode
<< ", file paths = " << base::JoinString(file_path_str, ":");
- rvh->FilesSelectedInChooser(files, mode);
+ rfh->FilesSelectedInChooser(files, mode);
}
bool RegisterAwWebContentsDelegate(JNIEnv* env) {
« no previous file with comments | « android_webview/native/aw_web_contents_delegate.h ('k') | apps/custom_launcher_page_contents.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698