diff --git a/app/src/common/shared/org/mozilla/vrbrowser/browser/SettingsStore.java b/app/src/common/shared/org/mozilla/vrbrowser/browser/SettingsStore.java index 6bb75a338..9a0b62600 100644 --- a/app/src/common/shared/org/mozilla/vrbrowser/browser/SettingsStore.java +++ b/app/src/common/shared/org/mozilla/vrbrowser/browser/SettingsStore.java @@ -49,7 +49,7 @@ SettingsStore getInstance(final @NonNull Context aContext) { public final static boolean REMOTE_DEBUGGING_DEFAULT = false; public final static boolean CONSOLE_LOGS_DEFAULT = false; public final static boolean ENV_OVERRIDE_DEFAULT = false; - public final static boolean MULTIPROCESS_DEFAULT = false; + public final static boolean MULTIPROCESS_DEFAULT = true; public final static boolean UI_HARDWARE_ACCELERATION_DEFAULT = true; public final static boolean PERFORMANCE_MONITOR_DEFAULT = true; public final static boolean DRM_PLAYBACK_DEFAULT = false; @@ -277,8 +277,13 @@ public int getUaMode() { } public void setUaMode(int mode) { + int checkedMode = mode; + if ((mode != GeckoSessionSettings.USER_AGENT_MODE_VR) && (mode != GeckoSessionSettings.USER_AGENT_MODE_MOBILE)) { + Log.e(LOGTAG, "User agent mode: " + mode + " is not supported."); + checkedMode = UA_MODE_DEFAULT; + } SharedPreferences.Editor editor = mPrefs.edit(); - editor.putInt(mContext.getString(R.string.settings_key_user_agent_version), mode); + editor.putInt(mContext.getString(R.string.settings_key_user_agent_version), checkedMode); editor.commit(); } diff --git a/app/src/common/shared/org/mozilla/vrbrowser/browser/engine/Session.java b/app/src/common/shared/org/mozilla/vrbrowser/browser/engine/Session.java index 59b6acc1e..d7a71c331 100644 --- a/app/src/common/shared/org/mozilla/vrbrowser/browser/engine/Session.java +++ b/app/src/common/shared/org/mozilla/vrbrowser/browser/engine/Session.java @@ -817,7 +817,8 @@ public void setUaMode(int mode) { mState.mSettings.setViewportMode(GeckoSessionSettings.VIEWPORT_MODE_MOBILE); } mState.mSession.getSettings().setViewportMode(mState.mSettings.getViewportMode()); - mState.mSession.loadUri(overrideUri != null ? overrideUri : mState.mUri, GeckoSession.LOAD_FLAGS_BYPASS_CACHE | GeckoSession.LOAD_FLAGS_REPLACE_HISTORY); + // FIXME The GeckoSession.LOAD_FLAGS_REPLACE_HISTORY flag fails due to https://bugzilla.mozilla.org/show_bug.cgi?id=1618664 + mState.mSession.loadUri(overrideUri != null ? overrideUri : mState.mUri, GeckoSession.LOAD_FLAGS_BYPASS_CACHE); // | GeckoSession.LOAD_FLAGS_REPLACE_HISTORY); } diff --git a/app/src/common/shared/org/mozilla/vrbrowser/browser/engine/SessionSettings.java b/app/src/common/shared/org/mozilla/vrbrowser/browser/engine/SessionSettings.java index 7aae77b9b..2100edf5e 100644 --- a/app/src/common/shared/org/mozilla/vrbrowser/browser/engine/SessionSettings.java +++ b/app/src/common/shared/org/mozilla/vrbrowser/browser/engine/SessionSettings.java @@ -90,7 +90,7 @@ public Builder withPrivateBrowsing(boolean enabled) { return this; } - public Builder withTrackingProteccion(boolean isTrackingProtectionEnabled){ + public Builder withTrackingProtection(boolean isTrackingProtectionEnabled){ this.isTrackingProtectionEnabled = isTrackingProtectionEnabled; return this; } @@ -127,7 +127,7 @@ public Builder withDefaultSettings(Context context) { return new SessionSettings.Builder() .withPrivateBrowsing(false) - .withTrackingProteccion(SettingsStore.getInstance(context).isTrackingProtectionEnabled()) + .withTrackingProtection(SettingsStore.getInstance(context).isTrackingProtectionEnabled()) .withSuspendMediaWhenInactive(true) .withUserAgent(ua) .withViewport(viewport) diff --git a/app/src/common/shared/org/mozilla/vrbrowser/ui/widgets/NavigationBarWidget.java b/app/src/common/shared/org/mozilla/vrbrowser/ui/widgets/NavigationBarWidget.java index 7881d2e66..922fa85e9 100644 --- a/app/src/common/shared/org/mozilla/vrbrowser/ui/widgets/NavigationBarWidget.java +++ b/app/src/common/shared/org/mozilla/vrbrowser/ui/widgets/NavigationBarWidget.java @@ -1005,8 +1005,9 @@ public void onResize() { public void onSwitchMode() { int uaMode = mAttachedWindow.getSession().getUaMode(); if (uaMode == GeckoSessionSettings.USER_AGENT_MODE_DESKTOP) { - mHamburgerMenu.setUAMode(GeckoSessionSettings.USER_AGENT_MODE_MOBILE); - mAttachedWindow.getSession().setUaMode(GeckoSessionSettings.USER_AGENT_MODE_MOBILE); + final int defaultUaMode = SettingsStore.getInstance(mAppContext).getUaMode(); + mHamburgerMenu.setUAMode(defaultUaMode); + mAttachedWindow.getSession().setUaMode(defaultUaMode); } else { mHamburgerMenu.setUAMode(GeckoSessionSettings.USER_AGENT_MODE_DESKTOP); diff --git a/app/src/common/shared/org/mozilla/vrbrowser/ui/widgets/settings/DisplayOptionsView.java b/app/src/common/shared/org/mozilla/vrbrowser/ui/widgets/settings/DisplayOptionsView.java index 82b88ba47..1610571dd 100644 --- a/app/src/common/shared/org/mozilla/vrbrowser/ui/widgets/settings/DisplayOptionsView.java +++ b/app/src/common/shared/org/mozilla/vrbrowser/ui/widgets/settings/DisplayOptionsView.java @@ -254,7 +254,7 @@ private void setUaMode(int checkId, boolean doApply) { mBinding.uaRadio.setChecked(checkId, doApply); mBinding.uaRadio.setOnCheckedChangeListener(mUaModeListener); - SettingsStore.getInstance(getContext()).setUaMode(checkId); + SettingsStore.getInstance(getContext()).setUaMode((Integer)mBinding.uaRadio.getValueForId(checkId)); } private void setMSAAMode(int checkedId, boolean doApply) { diff --git a/app/src/main/res/layout/options_display.xml b/app/src/main/res/layout/options_display.xml index 10b19991b..6e22d4be6 100644 --- a/app/src/main/res/layout/options_display.xml +++ b/app/src/main/res/layout/options_display.xml @@ -58,7 +58,7 @@ android:layout_height="wrap_content" app:description="@string/developer_options_msaa" app:options="@array/developer_options_msaa" - app:values="@array/developer_options_ua_mode_values" /> + app:values="@array/developer_options_msaa_mode_values" /> settings_remote_debugging settings_console_logs settings_environment_override - settings_environment_multiprocess_e10s_v2 + settings_environment_multiprocess_e10s_v3 settings_performance_monitor settings_environment_servo settings_key_drm_playback settings_tracking_protection settings_key_speech_data_collection settings_key_speech_data_collection_accept - settings_user_agent_version + settings_user_agent_version_v2 settings_touch_mode settings_display_density settings_display_dpi> diff --git a/app/src/main/res/values/options_values.xml b/app/src/main/res/values/options_values.xml index 0ab3c7aff..e4a2f5978 100644 --- a/app/src/main/res/values/options_values.xml +++ b/app/src/main/res/values/options_values.xml @@ -52,13 +52,11 @@ @string/developer_options_ua_mobile - @string/developer_options_ua_desktop @string/developer_options_ua_vr 0 - 1 2 @@ -69,6 +67,12 @@ @string/developer_options_msaa_4 + + 0 + 1 + 2 + + @string/developer_options_foveated_disabled