Commit 3bc463b4 authored by Tom Anderson's avatar Tom Anderson Committed by Commit Bot

Rewrite PowerSaveBlockerLinux [4/4]

* Build power_save_blocker_linux.cc for Linux/Ozone in addition to
  Linux/X11.
* Refactor complex behavior in BUILD.gn

BUG=1013812
TEST=Tested on GNOME and KDE environments
R=blundell

Change-Id: I87ae2cfedcc5d4d2d995f9a94a9f77354bb1c4ef
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1926855
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
Reviewed-by: default avatarColin Blundell <blundell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#718425}
parent 406b03df
...@@ -22,11 +22,6 @@ source_set("power_save_blocker") { ...@@ -22,11 +22,6 @@ source_set("power_save_blocker") {
sources = [ sources = [
"power_save_blocker.h", "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",
] ]
public_deps = [ public_deps = [
...@@ -41,48 +36,40 @@ source_set("power_save_blocker") { ...@@ -41,48 +36,40 @@ source_set("power_save_blocker") {
deps += [ "//dbus" ] 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_linux.cc" ]
}
if (is_android) { if (is_android) {
sources += [ "power_save_blocker_android.cc" ]
deps += [ ":jni_headers" ] deps += [ ":jni_headers" ]
public_deps += [ "//ui/android" ] public_deps += [ "//ui/android" ]
} } else if (is_chromeos) {
sources += [ "power_save_blocker_chromeos.cc" ]
if (is_chromeos) {
deps += [ deps += [
"//chromeos/dbus/power", "//chromeos/dbus/power",
"//chromeos/dbus/power:power_manager_proto", "//chromeos/dbus/power:power_manager_proto",
] ]
} } else if (is_linux && use_dbus) {
sources += [ "power_save_blocker_linux.cc" ]
if (is_mac) { 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" ]
libs = [ libs = [
"CoreFoundation.framework", "CoreFoundation.framework",
"IOKit.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" ]
} }
} }
......
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