Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(640)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrShellImpl.java

Issue 2768583002: Make VR screen tap tests more stable (Closed)
Patch Set: Move VR test library behind flag Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrShellImpl.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrShellImpl.java b/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrShellImpl.java
index 6112be34e224d80e8ea6d69d70165874a9ea9491..777990dbddc45e396757af2cf842843b94fa8125 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrShellImpl.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrShellImpl.java
@@ -23,6 +23,7 @@ import com.google.vr.ndk.base.GvrLayout;
import org.chromium.base.CommandLine;
import org.chromium.base.Log;
import org.chromium.base.ThreadUtils;
+import org.chromium.base.VisibleForTesting;
import org.chromium.base.annotations.CalledByNative;
import org.chromium.base.annotations.JNINamespace;
import org.chromium.chrome.browser.ChromeActivity;
@@ -118,6 +119,8 @@ public class VrShellImpl
private MotionEventSynthesizer mMotionEventSynthesizer;
+ private OnDispatchTouchEventCallback mOnDispatchTouchEventForTesting;
+
public VrShellImpl(
ChromeActivity activity, VrShellDelegate delegate, TabModelSelector tabModelSelector) {
super(activity);
@@ -443,11 +446,18 @@ public class VrShellImpl
// Normally, touch event is dispatched to presentation view only if the phone is paired with
// a Cardboard viewer. This is annoying when we just want to quickly verify a Cardboard
// behavior. This allows us to trigger cardboard trigger event without pair to a Cardboard.
+ boolean cardboardTriggered = false;
if (CommandLine.getInstance().hasSwitch(ChromeSwitches.ENABLE_VR_SHELL_DEV)
&& event.getActionMasked() == MotionEvent.ACTION_DOWN) {
nativeOnTriggerEvent(mNativeVrShell);
+ cardboardTriggered = true;
+ }
+ boolean parentConsumed = super.dispatchTouchEvent(event);
+ if (mOnDispatchTouchEventForTesting != null) {
+ mOnDispatchTouchEventForTesting.onDispatchTouchEvent(
+ parentConsumed, cardboardTriggered);
}
- return super.dispatchTouchEvent(event);
+ return parentConsumed;
}
@Override
@@ -628,6 +638,16 @@ public class VrShellImpl
@Override
public void removeWindowAndroidChangedObserver(WindowAndroidChangedObserver observer) {}
+ /**
+ * Sets the runnable that will be run when VrShellImpl's dispatchTouchEvent
+ * is run and the parent consumed the event.
+ * @param runnable The Runnable that will be run
+ */
+ @VisibleForTesting
+ public void setOnDispatchTouchEventForTesting(OnDispatchTouchEventCallback callback) {
+ mOnDispatchTouchEventForTesting = callback;
+ }
+
private native long nativeInit(WebContents uiWebContents, long nativeContentWindowAndroid,
long nativeUiWindowAndroid, boolean forWebVR, VrShellDelegate delegate, long gvrApi,
boolean reprojectedRendering);
« no previous file with comments | « chrome/android/java/src/org/chromium/chrome/browser/vr_shell/VrShellDelegate.java ('k') | chrome/android/java_sources.gni » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698