summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoraurimas@google.com <aurimas@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-28 20:22:19 +0000
committeraurimas@google.com <aurimas@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-28 20:22:19 +0000
commitdcab8fae1ee448b3ca7af36108764d2dfb69bc7d (patch)
tree014791111111591022ac24f9e836c16d65a4ccb9
parent021064552519d48509625312437760faf8880cce (diff)
downloadchromium_src-dcab8fae1ee448b3ca7af36108764d2dfb69bc7d.zip
chromium_src-dcab8fae1ee448b3ca7af36108764d2dfb69bc7d.tar.gz
chromium_src-dcab8fae1ee448b3ca7af36108764d2dfb69bc7d.tar.bz2
Merge 254883 "Fix use after release bug."
> Fix use after release bug. > > We were writing to is_running_ after SelectFileDialogImpl was released > by FileSelectHelper:~FileSelectHelper(). > > Start using listener_ as a check to see whether SelectFileDialog is running. > > BUG=342151 > NOTRY=true > > Review URL: https://codereview.chromium.org/184043028 TBR=aurimas@chromium.org Review URL: https://codereview.chromium.org/217413002 git-svn-id: svn://svn.chromium.org/chrome/branches/1847/src@260260 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--ui/shell_dialogs/select_file_dialog_android.cc9
-rw-r--r--ui/shell_dialogs/select_file_dialog_android.h3
2 files changed, 2 insertions, 10 deletions
diff --git a/ui/shell_dialogs/select_file_dialog_android.cc b/ui/shell_dialogs/select_file_dialog_android.cc
index 290d509..af15c97 100644
--- a/ui/shell_dialogs/select_file_dialog_android.cc
+++ b/ui/shell_dialogs/select_file_dialog_android.cc
@@ -40,8 +40,6 @@ void SelectFileDialogImpl::OnFileSelected(JNIEnv* env,
file_info.display_name = file_name;
listener_->FileSelectedWithExtraInfo(file_info, 0, NULL);
}
-
- is_running_ = false;
}
void SelectFileDialogImpl::OnFileNotSelected(
@@ -49,12 +47,10 @@ void SelectFileDialogImpl::OnFileNotSelected(
jobject java_object) {
if (listener_)
listener_->FileSelectionCanceled(NULL);
-
- is_running_ = false;
}
bool SelectFileDialogImpl::IsRunning(gfx::NativeWindow) const {
- return is_running_;
+ return listener_;
}
void SelectFileDialogImpl::ListenerDestroyed() {
@@ -89,7 +85,6 @@ void SelectFileDialogImpl::SelectFileImpl(
accept_types_java.obj(),
accept_types.second,
owning_window->GetJavaObject().obj());
- is_running_ = true;
}
bool SelectFileDialogImpl::RegisterSelectFileDialog(JNIEnv* env) {
@@ -101,7 +96,7 @@ SelectFileDialogImpl::~SelectFileDialogImpl() {
SelectFileDialogImpl::SelectFileDialogImpl(Listener* listener,
SelectFilePolicy* policy)
- : SelectFileDialog(listener, policy), is_running_(false) {
+ : SelectFileDialog(listener, policy) {
JNIEnv* env = base::android::AttachCurrentThread();
java_object_.Reset(
Java_SelectFileDialog_create(env, reinterpret_cast<intptr_t>(this)));
diff --git a/ui/shell_dialogs/select_file_dialog_android.h b/ui/shell_dialogs/select_file_dialog_android.h
index 2690308..1b09d1e 100644
--- a/ui/shell_dialogs/select_file_dialog_android.h
+++ b/ui/shell_dialogs/select_file_dialog_android.h
@@ -53,9 +53,6 @@ class SelectFileDialogImpl : public SelectFileDialog {
base::android::ScopedJavaGlobalRef<jobject> java_object_;
- // Stores the state whether select_file_dialog is running.
- bool is_running_;
-
DISALLOW_COPY_AND_ASSIGN(SelectFileDialogImpl);
};