| 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
|
|
|