Commit cd9dd718 authored by Makoto Shimazu's avatar Makoto Shimazu Committed by Commit Bot

Reland "Revert PowerSaveBlockerLinux [2/4]"

This reverts commit abf93b0b.

Reason for revert: a few WakeLockTest are failing probably due to this. Let me try to revert this to see how it'll go.
Sample failing build:
https://ci.chromium.org/p/chromium/builders/ci/Linux%20Tests%20%28dbg%29%281%29/85013

Original change's description:
> Revert "Revert  PowerSaveBlockerLinux [2/4]"
> 
> This reverts commit bbfce899.
> 
> Reason for revert: Issue should be fixed after https://chromium-review.googlesource.com/c/chromium/src/+/1937507/ lands
> 
> Original change's description:
> > Revert  PowerSaveBlockerLinux [2/4]
> > 
> > and the subsequent  PowerSaveBlockerLinux [3/4] and  PowerSaveBlockerLinux [4/4] patches
> > 
> > This reverts commit 2fdeba1b. ("Rewrite PowerSaveBlockerLinux [2/4]")
> > This reverts commit 38fdf074. ("Rewrite PowerSaveBlockerLinux [3/4]")
> > This reverts commit 3bc463b4. ("Rewrite PowerSaveBlockerLinux [4/4]")
> > 
> > The patch caused timeouts in WakeLockTest.ChangeType() and other tests in the services_unittests on
> > Linux Tests (dbg). More details in crbug/1027852.
> > 
> > TBR=thomasanderson@chromium.org
> > 
> > Bug: 1013812,1027852
> > Change-Id: I7688c72f9d9d6c12ff3731f3abde6a05508cfbeb
> > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1932357
> > Commit-Queue: Tim Schumann <tschumann@chromium.org>
> > Reviewed-by: Tim Schumann <tschumann@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#718447}
> 
> TBR=thomasanderson@chromium.org,tschumann@chromium.org
> 
> # Not skipping CQ checks because original CL landed > 1 day ago.
> 
> Bug: 1013812, 1027852
> Change-Id: I84a6681cc8ec347587d38f0f5f38ed628e624274
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1937509
> Reviewed-by: Thomas Anderson <thomasanderson@chromium.org>
> Reviewed-by: Tim Schumann <tschumann@chromium.org>
> Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#720760}

TBR=thomasanderson@chromium.org,tschumann@chromium.org

Change-Id: I317fd312d0c44b3e59bbada94df3200fa44ae3ac
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 1013812, 1027852
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1947513Reviewed-by: default avatarMakoto Shimazu <shimazu@chromium.org>
Commit-Queue: Makoto Shimazu <shimazu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#720843}
parent f3df187f
......@@ -22,6 +22,12 @@ source_set("power_save_blocker") {
sources = [
"power_save_blocker.h",
"power_save_blocker_android.cc",
"power_save_blocker_chromeos.cc",
"power_save_blocker_mac.cc",
"power_save_blocker_stub.cc",
"power_save_blocker_win.cc",
"power_save_blocker_x11.cc",
]
public_deps = [
......@@ -36,40 +42,48 @@ source_set("power_save_blocker") {
deps += [ "//dbus" ]
}
if (use_x11) {
configs += [ "//build/config/linux:x11" ]
if (!is_chromeos) {
configs += [ "//build/config/linux:xscrnsaver" ]
}
deps += [
"//ui/gfx",
"//ui/gfx/x",
]
}
# Dealing with power_save_blocker_{x11,stub}.cc is a little complicated
# given the interaction between os_chromeos and the feature flags for X11 and
# ozone, so do it all in one spot.
#
# stub implementation is only used at the moment non-chromeOS Ozone platforms
# such as Chromecast.
if (is_chromeos || !use_ozone) {
sources -= [ "power_save_blocker_stub.cc" ]
}
if (is_chromeos || !use_x11 || !use_dbus) {
sources -= [ "power_save_blocker_x11.cc" ]
}
if (is_android) {
sources += [ "power_save_blocker_android.cc" ]
deps += [ ":jni_headers" ]
public_deps += [ "//ui/android" ]
} else if (is_chromeos) {
sources += [ "power_save_blocker_chromeos.cc" ]
}
if (is_chromeos) {
deps += [
"//chromeos/dbus/power",
"//chromeos/dbus/power:power_manager_proto",
]
} else if (is_linux && use_dbus) {
sources += [ "power_save_blocker_linux.cc" ]
deps += [
"//dbus",
"//ui/gfx",
]
if (use_x11) {
configs += [
"//build/config/linux:x11",
"//build/config/linux:xscrnsaver",
]
deps += [ "//ui/gfx/x" ]
}
} else if (is_mac) {
sources += [ "power_save_blocker_mac.cc" ]
}
if (is_mac) {
libs = [
"CoreFoundation.framework",
"IOKit.framework",
]
} else if (is_win) {
sources += [ "power_save_blocker_win.cc" ]
} else {
# Fuchsia and non-DBus Linux.
sources += [ "power_save_blocker_stub.cc" ]
}
}
......
......@@ -61,6 +61,13 @@ class PowerSaveBlocker {
// };
scoped_refptr<Delegate> delegate_;
#if defined(USE_X11)
// Since display sleep prevention also implies system suspend prevention, for
// the Linux FreeDesktop API case, there needs to be a second delegate to
// block system suspend when screen saver / display sleep is blocked.
scoped_refptr<Delegate> freedesktop_suspend_delegate_;
#endif
scoped_refptr<base::SequencedTaskRunner> ui_task_runner_;
scoped_refptr<base::SequencedTaskRunner> blocking_task_runner_;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment