Chromium Code Reviews| 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; |
| + } |
| } |