Commit 8a279cfb authored by Sinan Sahin's avatar Sinan Sahin Committed by Commit Bot

[Android] Disable all IPH when screenshot mode is enabled.

In its current form, the screenshot mode only disables modal dialogs.

We observed that in-product help bubbles are sometimes visible in the
screenshots.

This CL adds to the screenshot mode by disabling all IPH.

Bug: 964012
Change-Id: I778708ad3d5f6d59c65c9da3097ca7f020e2b151
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1630226
Commit-Queue: Sinan Sahin <sinansahin@google.com>
Reviewed-by: default avatarBecky Zhou <huayinz@chromium.org>
Reviewed-by: default avatarTheresa <twellington@chromium.org>
Reviewed-by: default avatarTommy Nyquist <nyquist@chromium.org>
Cr-Commit-Position: refs/heads/master@{#664961}
parent e252934f
...@@ -139,6 +139,7 @@ if (is_android) { ...@@ -139,6 +139,7 @@ if (is_android) {
"//base:base_java", "//base:base_java",
"//components/feature_engagement/public:public_java", "//components/feature_engagement/public:public_java",
"//third_party/android_deps:com_android_support_support_annotations_java", "//third_party/android_deps:com_android_support_support_annotations_java",
"//ui/android:ui_java",
] ]
} }
......
...@@ -8,11 +8,13 @@ import android.support.annotation.CheckResult; ...@@ -8,11 +8,13 @@ import android.support.annotation.CheckResult;
import android.support.annotation.Nullable; import android.support.annotation.Nullable;
import org.chromium.base.Callback; import org.chromium.base.Callback;
import org.chromium.base.CommandLine;
import org.chromium.base.annotations.CalledByNative; import org.chromium.base.annotations.CalledByNative;
import org.chromium.base.annotations.JCaller; import org.chromium.base.annotations.JCaller;
import org.chromium.base.annotations.JNINamespace; import org.chromium.base.annotations.JNINamespace;
import org.chromium.components.feature_engagement.Tracker; import org.chromium.components.feature_engagement.Tracker;
import org.chromium.components.feature_engagement.TriggerState; import org.chromium.components.feature_engagement.TriggerState;
import org.chromium.ui.UiSwitches;
/** /**
* Java side of the JNI bridge between TrackerImpl in Java * Java side of the JNI bridge between TrackerImpl in Java
...@@ -74,6 +76,11 @@ public class TrackerImpl implements Tracker { ...@@ -74,6 +76,11 @@ public class TrackerImpl implements Tracker {
@Override @Override
public boolean shouldTriggerHelpUI(String feature) { public boolean shouldTriggerHelpUI(String feature) {
// Disable all IPH if the UI is in screenshot mode. For context, see crbug.com/964012.
if (CommandLine.getInstance().hasSwitch(UiSwitches.ENABLE_SCREENSHOT_UI_MODE)) {
return false;
}
assert mNativePtr != 0; assert mNativePtr != 0;
return nativeShouldTriggerHelpUI(mNativePtr, feature); return nativeShouldTriggerHelpUI(mNativePtr, feature);
} }
......
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