Index: chrome/android/java/src/org/chromium/chrome/browser/fullscreen/FullscreenHtmlApiHandler.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/FullscreenHtmlApiHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/FullscreenHtmlApiHandler.java |
index 344496951d0dcf50dcb8e0061ec91f1b6e71a7ca..2c666c7e2c2c23adaa19c03e49756ad4b206a463 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/FullscreenHtmlApiHandler.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/fullscreen/FullscreenHtmlApiHandler.java |
@@ -251,6 +251,7 @@ public class FullscreenHtmlApiHandler { |
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2) { |
systemUiVisibility &= ~SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN; |
systemUiVisibility &= ~SYSTEM_UI_FLAG_FULLSCREEN; |
+ systemUiVisibility &= ~getExtraFullscreenUIFlags(); |
} else { |
mWindow.addFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN); |
mWindow.clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); |
@@ -294,6 +295,7 @@ public class FullscreenHtmlApiHandler { |
} else { |
systemUiVisibility |= SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN; |
} |
+ systemUiVisibility |= getExtraFullscreenUIFlags(); |
} else { |
mWindow.addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); |
mWindow.clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN); |
@@ -416,4 +418,18 @@ public class FullscreenHtmlApiHandler { |
mHandler.sendEmptyMessageDelayed( |
MSG_ID_SET_FULLSCREEN_SYSTEM_UI_FLAGS, ANDROID_CONTROLS_SHOW_DURATION_MS); |
} |
+ |
+ /* |
+ * Helper method to return extra fullscreen UI flags for Kitkat devices. |
Ted C
2015/03/30 22:58:30
for KitKat [and above] devices.
|
+ * @return fullscreen flags to be applied to system UI visibility. |
+ */ |
+ private int getExtraFullscreenUIFlags() { |
+ int flags = 0; |
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { |
+ flags |= View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION; |
+ flags |= View.SYSTEM_UI_FLAG_HIDE_NAVIGATION; |
+ flags |= View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY; |
+ } |
+ return flags; |
+ } |
} |