Loading CHANGELOG.md +7 −0 Original line number Diff line number Diff line # 105.0.5195.41 * revert by-pass for clipboard permissions for NTP doodles (fixes https://bugs.chromium.org/p/chromium/issues/detail?id=1334203) * prevent history detection via favicon (fixes https://github.com/bromite/bromite/issues/2269) * fix the lack of protection in canvas.convertToBlob() * improve incognito mode detection countermeasures (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/1615) * fix toolbar gesture when using bottom navigation bar (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/2253) # 104.0.5112.91 * re-introduce modal flag to prompt when closing all tabs * sharing hub: always use visible URL (fixes https://github.com/bromite/bromite/issues/2204) Loading build/patches/Disable-fetching-of-all-field-trials.patch +39 −12 Original line number Diff line number Diff line Loading @@ -8,7 +8,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- android_webview/nonembedded/BUILD.gn | 2 -- .../services/VariationsSeedServer.java | 2 -- .../chrome_metrics_services_manager_client.cc | 2 ++ .../metrics/chrome_browser_sampling_trials.cc | 4 +++ components/ukm/ukm_recorder_impl.cc | 3 +++ .../firstrun/VariationsSeedBridge.java | 2 +- .../firstrun/VariationsSeedFetcher.java | 26 ++++--------------- Loading @@ -16,7 +16,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../variations/net/variations_http_headers.cc | 3 +++ .../service/variations_field_trial_creator.cc | 3 ++- .../variations/service/variations_service.cc | 15 +++-------- 10 files changed, 20 insertions(+), 40 deletions(-) .../renderer/core/loader/document_loader.cc | 7 ----- 11 files changed, 22 insertions(+), 47 deletions(-) diff --git a/android_webview/nonembedded/BUILD.gn b/android_webview/nonembedded/BUILD.gn --- a/android_webview/nonembedded/BUILD.gn Loading Loading @@ -49,18 +50,27 @@ diff --git a/android_webview/nonembedded/java/src/org/chromium/android_webview/s } }; diff --git a/chrome/browser/metrics/chrome_metrics_services_manager_client.cc b/chrome/browser/metrics/chrome_metrics_services_manager_client.cc --- a/chrome/browser/metrics/chrome_metrics_services_manager_client.cc +++ b/chrome/browser/metrics/chrome_metrics_services_manager_client.cc @@ -229,6 +229,8 @@ bool ChromeMetricsServicesManagerClient::GetSamplingRatePerMille(int* rate) { : metrics::internal::kMetricsReportingFeature; #else const base::Feature& feature = metrics::internal::kMetricsReportingFeature; diff --git a/chrome/browser/metrics/chrome_browser_sampling_trials.cc b/chrome/browser/metrics/chrome_browser_sampling_trials.cc --- a/chrome/browser/metrics/chrome_browser_sampling_trials.cc +++ b/chrome/browser/metrics/chrome_browser_sampling_trials.cc @@ -51,6 +51,8 @@ void CreateFallbackSamplingTrial(const std::string& trial_name, const std::string& feature_name, const int sampled_in_rate_per_mille, base::FeatureList* feature_list) { + if ((true)) + return; scoped_refptr<base::FieldTrial> trial( base::FieldTrialList::FactoryGetFieldTrial( trial_name, /*total_probability=*/1000, "Default", @@ -90,6 +92,8 @@ void CreateFallbackSamplingTrial(const std::string& trial_name, // field trial controlling the sampling feature. void CreateFallbackUkmSamplingTrial(bool is_stable_channel, base::FeatureList* feature_list) { + if ((true)) + return; #endif // BUILDFLAG(IS_ANDROID) std::string rate_str = variations::GetVariationParamValueByFeature( feature, metrics::internal::kRateParamName); static const char kSampledGroup_Stable[] = "Sampled_NoSeed_Stable"; static const char kSampledGroup_Other[] = "Sampled_NoSeed_Other"; const char* sampled_group = kSampledGroup_Other; diff --git a/components/ukm/ukm_recorder_impl.cc b/components/ukm/ukm_recorder_impl.cc --- a/components/ukm/ukm_recorder_impl.cc +++ b/components/ukm/ukm_recorder_impl.cc Loading Loading @@ -202,5 +212,22 @@ diff --git a/components/variations/service/variations_service.cc b/components/va return false; last_request_was_http_retry_ = is_http_retry; diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_party/blink/renderer/core/loader/document_loader.cc --- a/third_party/blink/renderer/core/loader/document_loader.cc +++ b/third_party/blink/renderer/core/loader/document_loader.cc @@ -172,13 +172,6 @@ Vector<OriginTrialFeature> CopyInitiatorOriginTrials( WebVector<int> CopyInitiatorOriginTrials( const Vector<OriginTrialFeature>& initiator_origin_trial_features) { WebVector<int> result; - for (auto feature : initiator_origin_trial_features) { - // Convert from OriginTrialFeature to int. These values are passed between - // blink navigations. OriginTrialFeature isn't visible outside of blink (and - // doesn't need to be) so the values are transferred outside of blink as - // ints and casted to OriginTrialFeature once being processed in blink. - result.emplace_back(static_cast<int>(feature)); - } return result; } -- 2.25.1 build/patches/Disable-third-party-origin-trials.patch +2 −2 Original line number Diff line number Diff line Loading @@ -173,7 +173,7 @@ diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_p return result; } @@ -185,18 +178,12 @@ WebVector<int> CopyInitiatorOriginTrials( @@ -178,18 +171,12 @@ WebVector<int> CopyInitiatorOriginTrials( Vector<String> CopyForceEnabledOriginTrials( const WebVector<WebString>& force_enabled_origin_trials) { Vector<String> result; Loading @@ -192,7 +192,7 @@ diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_p return result; } @@ -2564,10 +2551,6 @@ void DocumentLoader::CreateParserPostCommit() { @@ -2557,10 +2544,6 @@ void DocumentLoader::CreateParserPostCommit() { OriginTrialFeature::kTouchEventFeatureDetection); } Loading build/patches/Hardening-against-incognito-mode-detection.patch +8 −8 Original line number Diff line number Diff line Loading @@ -10,14 +10,14 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/storage/browser/quota/quota_settings.cc b/storage/browser/quota/quota_settings.cc --- a/storage/browser/quota/quota_settings.cc +++ b/storage/browser/quota/quota_settings.cc @@ -28,7 +28,7 @@ const int64_t kMBytes = 1024 * 1024; const int kRandomizedPercentage = 10; const double kDefaultPerHostRatio = 0.75; const double kIncognitoQuotaRatioLowerBound = 0.15; -const double kIncognitoQuotaRatioUpperBound = 0.2; +const double kIncognitoQuotaRatioUpperBound = 0.3; @@ -60,7 +60,7 @@ absl::optional<QuotaSettings> CalculateNominalDynamicSettings( base::ScopedBlockingCall scoped_blocking_call(FROM_HERE, base::BlockingType::MAY_BLOCK); // Skews |value| by +/- |percent|. int64_t RandomizeByPercent(int64_t value, int percent) { - if (is_incognito) { + if ((false) && is_incognito) { return CalculateIncognitoDynamicSettings( device_info_helper->AmountOfPhysicalMemory()); } -- 2.25.1 build/patches/Move-navigation-bar-to-bottom.patch +67 −1 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../chrome/browser/app/ChromeActivity.java | 13 +++++ .../browser/app/flags/ChromeCachedFlags.java | 1 + .../compositor/CompositorViewHolder.java | 6 +++ .../layouts/LayoutManagerChrome.java | 18 +++++-- .../layouts/LayoutManagerChromeTablet.java | 4 +- .../layouts/ToolbarSwipeLayout.java | 15 +++++- .../overlays/strip/StripLayoutHelper.java | 2 +- Loading Loading @@ -81,7 +82,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../accessibility/AccessibilitySettings.java | 16 ++++++ .../AccessibilitySettingsDelegate.java | 6 +++ .../render_widget_host_view_android.cc | 3 ++ 69 files changed, 738 insertions(+), 53 deletions(-) 70 files changed, 753 insertions(+), 56 deletions(-) diff --git a/cc/base/features.cc b/cc/base/features.cc --- a/cc/base/features.cc Loading Loading @@ -625,6 +626,71 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/Comp forwarder.setCurrentTouchEventOffsets(0, top); } }); diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChrome.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChrome.java --- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChrome.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChrome.java @@ -45,6 +45,8 @@ import org.chromium.components.browser_ui.widget.gesture.SwipeGestureListener.Sc import org.chromium.components.browser_ui.widget.gesture.SwipeGestureListener.SwipeHandler; import org.chromium.components.browser_ui.widget.scrim.ScrimCoordinator; import org.chromium.ui.resources.dynamics.DynamicResourceLoader; +import org.chromium.chrome.browser.flags.ChromeFeatureList; +import org.chromium.chrome.browser.flags.CachedFeatureFlags; import java.util.List; @@ -210,7 +212,10 @@ public class LayoutManagerChrome @Override public SwipeHandler createToolbarSwipeHandler(boolean supportSwipeDown) { - return new ToolbarSwipeHandler(supportSwipeDown); + boolean move_top_toolbar = + CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM); + return new ToolbarSwipeHandler(supportSwipeDown && !move_top_toolbar, + supportSwipeDown && move_top_toolbar); } @Override @@ -424,9 +429,11 @@ public class LayoutManagerChrome private static final float SWIPE_RANGE_DEG = 25; private final boolean mSupportSwipeDown; + private final boolean mSupportSwipeUp; - public ToolbarSwipeHandler(boolean supportSwipeDown) { + public ToolbarSwipeHandler(boolean supportSwipeDown, boolean supportSwipeUp) { mSupportSwipeDown = supportSwipeDown; + mSupportSwipeUp = supportSwipeUp; } @Override @@ -458,6 +465,9 @@ public class LayoutManagerChrome && mScrollDirection == ScrollDirection.DOWN) { RecordUserAction.record("MobileToolbarSwipeOpenStackView"); showLayout(LayoutType.TAB_SWITCHER, true); + } else if (mSupportSwipeUp && mOverviewLayout != null + && mScrollDirection == ScrollDirection.UP) { + showLayout(LayoutType.TAB_SWITCHER, true); } else if (mScrollDirection == ScrollDirection.LEFT || mScrollDirection == ScrollDirection.RIGHT) { startShowing(mToolbarSwipeLayout, true); @@ -504,6 +514,8 @@ public class LayoutManagerChrome direction = ScrollDirection.RIGHT; } else if (swipeAngle < 270 + SWIPE_RANGE_DEG && swipeAngle > 270 - SWIPE_RANGE_DEG) { direction = ScrollDirection.DOWN; + } else if (swipeAngle < 90 + SWIPE_RANGE_DEG && swipeAngle > 90 - SWIPE_RANGE_DEG) { + direction = ScrollDirection.UP; } return direction; @@ -518,7 +530,7 @@ public class LayoutManagerChrome return false; } - if (direction == ScrollDirection.DOWN) { + if (direction == ScrollDirection.DOWN || direction == ScrollDirection.UP) { boolean isAccessibility = ChromeAccessibilityUtil.get().isAccessibilityEnabled(); return mOverviewLayout != null && !isAccessibility; } diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChromeTablet.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChromeTablet.java --- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChromeTablet.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChromeTablet.java Loading Loading
CHANGELOG.md +7 −0 Original line number Diff line number Diff line # 105.0.5195.41 * revert by-pass for clipboard permissions for NTP doodles (fixes https://bugs.chromium.org/p/chromium/issues/detail?id=1334203) * prevent history detection via favicon (fixes https://github.com/bromite/bromite/issues/2269) * fix the lack of protection in canvas.convertToBlob() * improve incognito mode detection countermeasures (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/1615) * fix toolbar gesture when using bottom navigation bar (thanks to @uazo, fixes https://github.com/bromite/bromite/issues/2253) # 104.0.5112.91 * re-introduce modal flag to prompt when closing all tabs * sharing hub: always use visible URL (fixes https://github.com/bromite/bromite/issues/2204) Loading
build/patches/Disable-fetching-of-all-field-trials.patch +39 −12 Original line number Diff line number Diff line Loading @@ -8,7 +8,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html --- android_webview/nonembedded/BUILD.gn | 2 -- .../services/VariationsSeedServer.java | 2 -- .../chrome_metrics_services_manager_client.cc | 2 ++ .../metrics/chrome_browser_sampling_trials.cc | 4 +++ components/ukm/ukm_recorder_impl.cc | 3 +++ .../firstrun/VariationsSeedBridge.java | 2 +- .../firstrun/VariationsSeedFetcher.java | 26 ++++--------------- Loading @@ -16,7 +16,8 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../variations/net/variations_http_headers.cc | 3 +++ .../service/variations_field_trial_creator.cc | 3 ++- .../variations/service/variations_service.cc | 15 +++-------- 10 files changed, 20 insertions(+), 40 deletions(-) .../renderer/core/loader/document_loader.cc | 7 ----- 11 files changed, 22 insertions(+), 47 deletions(-) diff --git a/android_webview/nonembedded/BUILD.gn b/android_webview/nonembedded/BUILD.gn --- a/android_webview/nonembedded/BUILD.gn Loading Loading @@ -49,18 +50,27 @@ diff --git a/android_webview/nonembedded/java/src/org/chromium/android_webview/s } }; diff --git a/chrome/browser/metrics/chrome_metrics_services_manager_client.cc b/chrome/browser/metrics/chrome_metrics_services_manager_client.cc --- a/chrome/browser/metrics/chrome_metrics_services_manager_client.cc +++ b/chrome/browser/metrics/chrome_metrics_services_manager_client.cc @@ -229,6 +229,8 @@ bool ChromeMetricsServicesManagerClient::GetSamplingRatePerMille(int* rate) { : metrics::internal::kMetricsReportingFeature; #else const base::Feature& feature = metrics::internal::kMetricsReportingFeature; diff --git a/chrome/browser/metrics/chrome_browser_sampling_trials.cc b/chrome/browser/metrics/chrome_browser_sampling_trials.cc --- a/chrome/browser/metrics/chrome_browser_sampling_trials.cc +++ b/chrome/browser/metrics/chrome_browser_sampling_trials.cc @@ -51,6 +51,8 @@ void CreateFallbackSamplingTrial(const std::string& trial_name, const std::string& feature_name, const int sampled_in_rate_per_mille, base::FeatureList* feature_list) { + if ((true)) + return; scoped_refptr<base::FieldTrial> trial( base::FieldTrialList::FactoryGetFieldTrial( trial_name, /*total_probability=*/1000, "Default", @@ -90,6 +92,8 @@ void CreateFallbackSamplingTrial(const std::string& trial_name, // field trial controlling the sampling feature. void CreateFallbackUkmSamplingTrial(bool is_stable_channel, base::FeatureList* feature_list) { + if ((true)) + return; #endif // BUILDFLAG(IS_ANDROID) std::string rate_str = variations::GetVariationParamValueByFeature( feature, metrics::internal::kRateParamName); static const char kSampledGroup_Stable[] = "Sampled_NoSeed_Stable"; static const char kSampledGroup_Other[] = "Sampled_NoSeed_Other"; const char* sampled_group = kSampledGroup_Other; diff --git a/components/ukm/ukm_recorder_impl.cc b/components/ukm/ukm_recorder_impl.cc --- a/components/ukm/ukm_recorder_impl.cc +++ b/components/ukm/ukm_recorder_impl.cc Loading Loading @@ -202,5 +212,22 @@ diff --git a/components/variations/service/variations_service.cc b/components/va return false; last_request_was_http_retry_ = is_http_retry; diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_party/blink/renderer/core/loader/document_loader.cc --- a/third_party/blink/renderer/core/loader/document_loader.cc +++ b/third_party/blink/renderer/core/loader/document_loader.cc @@ -172,13 +172,6 @@ Vector<OriginTrialFeature> CopyInitiatorOriginTrials( WebVector<int> CopyInitiatorOriginTrials( const Vector<OriginTrialFeature>& initiator_origin_trial_features) { WebVector<int> result; - for (auto feature : initiator_origin_trial_features) { - // Convert from OriginTrialFeature to int. These values are passed between - // blink navigations. OriginTrialFeature isn't visible outside of blink (and - // doesn't need to be) so the values are transferred outside of blink as - // ints and casted to OriginTrialFeature once being processed in blink. - result.emplace_back(static_cast<int>(feature)); - } return result; } -- 2.25.1
build/patches/Disable-third-party-origin-trials.patch +2 −2 Original line number Diff line number Diff line Loading @@ -173,7 +173,7 @@ diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_p return result; } @@ -185,18 +178,12 @@ WebVector<int> CopyInitiatorOriginTrials( @@ -178,18 +171,12 @@ WebVector<int> CopyInitiatorOriginTrials( Vector<String> CopyForceEnabledOriginTrials( const WebVector<WebString>& force_enabled_origin_trials) { Vector<String> result; Loading @@ -192,7 +192,7 @@ diff --git a/third_party/blink/renderer/core/loader/document_loader.cc b/third_p return result; } @@ -2564,10 +2551,6 @@ void DocumentLoader::CreateParserPostCommit() { @@ -2557,10 +2544,6 @@ void DocumentLoader::CreateParserPostCommit() { OriginTrialFeature::kTouchEventFeatureDetection); } Loading
build/patches/Hardening-against-incognito-mode-detection.patch +8 −8 Original line number Diff line number Diff line Loading @@ -10,14 +10,14 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/storage/browser/quota/quota_settings.cc b/storage/browser/quota/quota_settings.cc --- a/storage/browser/quota/quota_settings.cc +++ b/storage/browser/quota/quota_settings.cc @@ -28,7 +28,7 @@ const int64_t kMBytes = 1024 * 1024; const int kRandomizedPercentage = 10; const double kDefaultPerHostRatio = 0.75; const double kIncognitoQuotaRatioLowerBound = 0.15; -const double kIncognitoQuotaRatioUpperBound = 0.2; +const double kIncognitoQuotaRatioUpperBound = 0.3; @@ -60,7 +60,7 @@ absl::optional<QuotaSettings> CalculateNominalDynamicSettings( base::ScopedBlockingCall scoped_blocking_call(FROM_HERE, base::BlockingType::MAY_BLOCK); // Skews |value| by +/- |percent|. int64_t RandomizeByPercent(int64_t value, int percent) { - if (is_incognito) { + if ((false) && is_incognito) { return CalculateIncognitoDynamicSettings( device_info_helper->AmountOfPhysicalMemory()); } -- 2.25.1
build/patches/Move-navigation-bar-to-bottom.patch +67 −1 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../chrome/browser/app/ChromeActivity.java | 13 +++++ .../browser/app/flags/ChromeCachedFlags.java | 1 + .../compositor/CompositorViewHolder.java | 6 +++ .../layouts/LayoutManagerChrome.java | 18 +++++-- .../layouts/LayoutManagerChromeTablet.java | 4 +- .../layouts/ToolbarSwipeLayout.java | 15 +++++- .../overlays/strip/StripLayoutHelper.java | 2 +- Loading Loading @@ -81,7 +82,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html .../accessibility/AccessibilitySettings.java | 16 ++++++ .../AccessibilitySettingsDelegate.java | 6 +++ .../render_widget_host_view_android.cc | 3 ++ 69 files changed, 738 insertions(+), 53 deletions(-) 70 files changed, 753 insertions(+), 56 deletions(-) diff --git a/cc/base/features.cc b/cc/base/features.cc --- a/cc/base/features.cc Loading Loading @@ -625,6 +626,71 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/Comp forwarder.setCurrentTouchEventOffsets(0, top); } }); diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChrome.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChrome.java --- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChrome.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChrome.java @@ -45,6 +45,8 @@ import org.chromium.components.browser_ui.widget.gesture.SwipeGestureListener.Sc import org.chromium.components.browser_ui.widget.gesture.SwipeGestureListener.SwipeHandler; import org.chromium.components.browser_ui.widget.scrim.ScrimCoordinator; import org.chromium.ui.resources.dynamics.DynamicResourceLoader; +import org.chromium.chrome.browser.flags.ChromeFeatureList; +import org.chromium.chrome.browser.flags.CachedFeatureFlags; import java.util.List; @@ -210,7 +212,10 @@ public class LayoutManagerChrome @Override public SwipeHandler createToolbarSwipeHandler(boolean supportSwipeDown) { - return new ToolbarSwipeHandler(supportSwipeDown); + boolean move_top_toolbar = + CachedFeatureFlags.isEnabled(ChromeFeatureList.MOVE_TOP_TOOLBAR_TO_BOTTOM); + return new ToolbarSwipeHandler(supportSwipeDown && !move_top_toolbar, + supportSwipeDown && move_top_toolbar); } @Override @@ -424,9 +429,11 @@ public class LayoutManagerChrome private static final float SWIPE_RANGE_DEG = 25; private final boolean mSupportSwipeDown; + private final boolean mSupportSwipeUp; - public ToolbarSwipeHandler(boolean supportSwipeDown) { + public ToolbarSwipeHandler(boolean supportSwipeDown, boolean supportSwipeUp) { mSupportSwipeDown = supportSwipeDown; + mSupportSwipeUp = supportSwipeUp; } @Override @@ -458,6 +465,9 @@ public class LayoutManagerChrome && mScrollDirection == ScrollDirection.DOWN) { RecordUserAction.record("MobileToolbarSwipeOpenStackView"); showLayout(LayoutType.TAB_SWITCHER, true); + } else if (mSupportSwipeUp && mOverviewLayout != null + && mScrollDirection == ScrollDirection.UP) { + showLayout(LayoutType.TAB_SWITCHER, true); } else if (mScrollDirection == ScrollDirection.LEFT || mScrollDirection == ScrollDirection.RIGHT) { startShowing(mToolbarSwipeLayout, true); @@ -504,6 +514,8 @@ public class LayoutManagerChrome direction = ScrollDirection.RIGHT; } else if (swipeAngle < 270 + SWIPE_RANGE_DEG && swipeAngle > 270 - SWIPE_RANGE_DEG) { direction = ScrollDirection.DOWN; + } else if (swipeAngle < 90 + SWIPE_RANGE_DEG && swipeAngle > 90 - SWIPE_RANGE_DEG) { + direction = ScrollDirection.UP; } return direction; @@ -518,7 +530,7 @@ public class LayoutManagerChrome return false; } - if (direction == ScrollDirection.DOWN) { + if (direction == ScrollDirection.DOWN || direction == ScrollDirection.UP) { boolean isAccessibility = ChromeAccessibilityUtil.get().isAccessibilityEnabled(); return mOverviewLayout != null && !isAccessibility; } diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChromeTablet.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChromeTablet.java --- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChromeTablet.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/layouts/LayoutManagerChromeTablet.java Loading