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

Unified Diff: device/power_save_blocker/power_save_blocker_android.cc

Issue 2371723002: Power Save Blocker: Eliminate passing ViewAndroid as WeakPtr (Closed)
Patch Set: Rebase Created 4 years, 3 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 | « device/power_save_blocker/power_save_blocker.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: device/power_save_blocker/power_save_blocker_android.cc
diff --git a/device/power_save_blocker/power_save_blocker_android.cc b/device/power_save_blocker/power_save_blocker_android.cc
index 226c57f0635946abb0999fd8a409fa61c4090bc2..4d6e3c574bee1d4cbbb043eae95e97b24924c5b2 100644
--- a/device/power_save_blocker/power_save_blocker_android.cc
+++ b/device/power_save_blocker/power_save_blocker_android.cc
@@ -20,19 +20,16 @@ using base::android::ScopedJavaLocalRef;
class PowerSaveBlocker::Delegate
: public base::RefCountedThreadSafe<PowerSaveBlocker::Delegate> {
public:
- Delegate(base::WeakPtr<ui::ViewAndroid> view_android,
- scoped_refptr<base::SequencedTaskRunner> ui_task_runner);
+ Delegate(scoped_refptr<base::SequencedTaskRunner> ui_task_runner);
// Does the actual work to apply or remove the desired power save block.
- void ApplyBlock();
+ void ApplyBlock(ui::ViewAndroid* view_android);
void RemoveBlock();
private:
friend class base::RefCountedThreadSafe<Delegate>;
~Delegate();
- base::WeakPtr<ui::ViewAndroid> view_android_;
-
base::android::ScopedJavaGlobalRef<jobject> java_power_save_blocker_;
ui::ViewAndroid::ScopedAnchorView anchor_view_;
@@ -43,27 +40,24 @@ class PowerSaveBlocker::Delegate
};
PowerSaveBlocker::Delegate::Delegate(
- base::WeakPtr<ui::ViewAndroid> view_android,
scoped_refptr<base::SequencedTaskRunner> ui_task_runner)
- : view_android_(view_android), ui_task_runner_(ui_task_runner) {
+ : ui_task_runner_(ui_task_runner) {
JNIEnv* env = AttachCurrentThread();
java_power_save_blocker_.Reset(Java_PowerSaveBlocker_create(env));
}
PowerSaveBlocker::Delegate::~Delegate() {}
-void PowerSaveBlocker::Delegate::ApplyBlock() {
+void PowerSaveBlocker::Delegate::ApplyBlock(ui::ViewAndroid* view_android) {
DCHECK(ui_task_runner_->RunsTasksOnCurrentThread());
-
- if (!view_android_)
- return;
+ DCHECK(view_android);
JNIEnv* env = AttachCurrentThread();
- anchor_view_ = view_android_->AcquireAnchorView();
+ anchor_view_ = view_android->AcquireAnchorView();
const ScopedJavaLocalRef<jobject> popup_view = anchor_view_.view();
if (popup_view.is_null())
return;
- view_android_->SetAnchorRect(popup_view, gfx::RectF());
+ view_android->SetAnchorRect(popup_view, gfx::RectF());
ScopedJavaLocalRef<jobject> obj(java_power_save_blocker_);
Java_PowerSaveBlocker_applyBlock(env, obj, popup_view);
}
@@ -93,14 +87,12 @@ PowerSaveBlocker::~PowerSaveBlocker() {
}
}
-void PowerSaveBlocker::InitDisplaySleepBlocker(
- const base::WeakPtr<ui::ViewAndroid>& view_android) {
+void PowerSaveBlocker::InitDisplaySleepBlocker(ui::ViewAndroid* view_android) {
DCHECK(ui_task_runner_->RunsTasksOnCurrentThread());
- if (!view_android)
- return;
+ DCHECK(view_android);
- delegate_ = new Delegate(view_android, ui_task_runner_);
- delegate_->ApplyBlock();
+ delegate_ = new Delegate(ui_task_runner_);
+ delegate_->ApplyBlock(view_android);
}
} // namespace device
« no previous file with comments | « device/power_save_blocker/power_save_blocker.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698