| Index: base/android/java/src/org/chromium/base/ApiCompatibilityUtils.java
|
| diff --git a/base/android/java/src/org/chromium/base/ApiCompatibilityUtils.java b/base/android/java/src/org/chromium/base/ApiCompatibilityUtils.java
|
| index 4a2161644b19d8987443c6a1ede3542e7d51000a..b4b1c02364cf86e494bc702290d2f78fac0debdd 100644
|
| --- a/base/android/java/src/org/chromium/base/ApiCompatibilityUtils.java
|
| +++ b/base/android/java/src/org/chromium/base/ApiCompatibilityUtils.java
|
| @@ -415,7 +415,13 @@
|
| */
|
| public static void setStatusBarColor(Window window, int statusBarColor) {
|
| if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
|
| - window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
|
| + // If both system bars are black, we can remove these from our layout,
|
| + // removing or shrinking the SurfaceFlinger overlay required for our views.
|
| + if (statusBarColor == Color.BLACK && window.getNavigationBarColor() == Color.BLACK) {
|
| + window.clearFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
|
| + } else {
|
| + window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
|
| + }
|
| window.setStatusBarColor(statusBarColor);
|
| }
|
| }
|
|
|