| Index: device/power_save_blocker/BUILD.gn
 | 
| diff --git a/device/power_save_blocker/BUILD.gn b/device/power_save_blocker/BUILD.gn
 | 
| new file mode 100644
 | 
| index 0000000000000000000000000000000000000000..ab77ac23b2c8c72d106c73f3412d79dee92246d6
 | 
| --- /dev/null
 | 
| +++ b/device/power_save_blocker/BUILD.gn
 | 
| @@ -0,0 +1,89 @@
 | 
| +# Copyright 2016 The Chromium Authors. All rights reserved.
 | 
| +# Use of this source code is governed by a BSD-style license that can be
 | 
| +# found in the LICENSE file.
 | 
| +
 | 
| +import("//build/config/features.gni")
 | 
| +import("//build/config/ui.gni")
 | 
| +
 | 
| +if (is_android) {
 | 
| +  import("//build/config/android/rules.gni")
 | 
| +}
 | 
| +
 | 
| +component("power_save_blocker") {
 | 
| +  sources = [
 | 
| +    "power_save_blocker.h",
 | 
| +    "power_save_blocker_android.cc",
 | 
| +    "power_save_blocker_android.h",
 | 
| +    "power_save_blocker_chromeos.cc",
 | 
| +    "power_save_blocker_impl.cc",
 | 
| +    "power_save_blocker_impl.h",
 | 
| +    "power_save_blocker_mac.cc",
 | 
| +    "power_save_blocker_ozone.cc",
 | 
| +    "power_save_blocker_win.cc",
 | 
| +    "power_save_blocker_x11.cc",
 | 
| +  ]
 | 
| +
 | 
| +  defines = [ "DEVICE_POWER_SAVE_BLOCKER_IMPLEMENTATION" ]
 | 
| +
 | 
| +  deps = [
 | 
| +    "//base",
 | 
| +  ]
 | 
| +
 | 
| +  if (use_dbus) {
 | 
| +    deps += [ "//dbus" ]
 | 
| +  }
 | 
| +
 | 
| +  if (use_x11) {
 | 
| +    configs += [ "//build/config/linux:x11" ]
 | 
| +    if (!is_chromeos) {
 | 
| +      configs += [ "//build/config/linux:xscrnsaver" ]
 | 
| +    }
 | 
| +    deps += [ "//ui/gfx/x" ]
 | 
| +  }
 | 
| +
 | 
| +  # Dealing with power_save_blocker_{x11,ozone}.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.
 | 
| +  if (is_chromeos || !use_ozone) {
 | 
| +    sources -= [ "power_save_blocker_ozone.cc" ]
 | 
| +  }
 | 
| +  if (is_chromeos || !use_x11) {
 | 
| +    sources -= [ "power_save_blocker_x11.cc" ]
 | 
| +  }
 | 
| +
 | 
| +  if (is_android) {
 | 
| +    sources += [
 | 
| +      "power_save_blocker_jni_registrar.cc",
 | 
| +      "power_save_blocker_jni_registrar.h",
 | 
| +    ]
 | 
| +
 | 
| +    deps += [
 | 
| +      ":jni_headers",
 | 
| +      "//ui/android",
 | 
| +    ]
 | 
| +  }
 | 
| +
 | 
| +  if (is_chromeos) {
 | 
| +    deps += [
 | 
| +      "//chromeos",
 | 
| +      "//chromeos:power_manager_proto",
 | 
| +    ]
 | 
| +  }
 | 
| +}
 | 
| +
 | 
| +if (is_android) {
 | 
| +  java_sources_needing_jni = [ "android/java/src/org/chromium/device/power_save_blocker/PowerSaveBlocker.java" ]
 | 
| +
 | 
| +  generate_jni("jni_headers") {
 | 
| +    sources = java_sources_needing_jni
 | 
| +    jni_package = "device"
 | 
| +  }
 | 
| +
 | 
| +  android_library("java") {
 | 
| +    java_files = java_sources_needing_jni
 | 
| +    deps = [
 | 
| +      "//base:base_java",
 | 
| +      "//ui/android:ui_java",
 | 
| +    ]
 | 
| +  }
 | 
| +}
 | 
| 
 |