Commit 0952aea9 authored by Giovanni Ortuño Urquidi's avatar Giovanni Ortuño Urquidi Committed by Commit Bot

desktop-pwas: Enable overscroll for app windows

Overscrolling for app windows was disabled in [1] because it was making
the Files video player slow. (old overscroll code used to take a
screenshot after each navigation and the video player was navigating
every 5 seconds). The code was later optimized to reduce the number of
screenshots taken, and eventually the code to take screenshots was
removed[2].

There is no reason why the feature has to remain disabled now that we
don't take screenshots.

[1] https://codereview.chromium.org/12082083
[2] https://chromium.googlesource.com/chromium/src/+/6e6c40b4697e889533a480fa04ffb2eb96dcda1d

Bug: 747587
Change-Id: I24b499b7f4c2f412d5efa2f687c9d96dd4cdd5f9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1659650
Commit-Queue: Giovanni Ortuño Urquidi <ortuno@chromium.org>
Reviewed-by: default avatarMichael Wasserman <msw@chromium.org>
Cr-Commit-Position: refs/heads/master@{#669923}
parent 3a73cee4
......@@ -1096,7 +1096,7 @@ void Browser::SetTopControlsGestureScrollInProgress(bool in_progress) {
bool Browser::CanOverscrollContent() const {
#if defined(USE_AURA)
return !is_app() && is_type_tabbed() &&
return !is_devtools() &&
base::FeatureList::IsEnabled(features::kOverscrollHistoryNavigation);
#else
return false;
......
......@@ -1225,6 +1225,25 @@ IN_PROC_BROWSER_TEST_F(BrowserTest, AppIdSwitch) {
EXPECT_EQ(expected_tabs, browser()->tab_strip_model()->count());
}
IN_PROC_BROWSER_TEST_F(BrowserTest, OverscrollEnabledInRegularWindows) {
ASSERT_TRUE(browser()->is_type_tabbed());
EXPECT_TRUE(browser()->CanOverscrollContent());
}
IN_PROC_BROWSER_TEST_F(BrowserTest, OverscrollEnabledInPopups) {
Browser* popup_browser = new Browser(
Browser::CreateParams(Browser::TYPE_POPUP, browser()->profile(), true));
ASSERT_TRUE(popup_browser->is_type_popup());
EXPECT_TRUE(popup_browser->CanOverscrollContent());
}
IN_PROC_BROWSER_TEST_F(BrowserTest, OverscrollDisabledInDevToolsWindows) {
DevToolsWindowTesting::OpenDevToolsWindowSync(browser(), false);
Browser* dev_tools_browser = chrome::FindLastActive();
ASSERT_EQ(dev_tools_browser->app_name(), DevToolsWindow::kDevToolsApp);
EXPECT_FALSE(dev_tools_browser->CanOverscrollContent());
}
// Open an app window and the dev tools window and ensure that the location
// bar settings are correct.
IN_PROC_BROWSER_TEST_F(BrowserTest, ShouldShowLocationBar) {
......
......@@ -1459,6 +1459,12 @@ IN_PROC_BROWSER_TEST_P(HostedAppPWAOnlyTest, InstallToShelfContainsAppName) {
base::UTF8ToUTF16("Install Manifest test app\xE2\x80\xA6"));
}
IN_PROC_BROWSER_TEST_P(HostedAppPWAOnlyTest, OverscrollEnabled) {
ASSERT_TRUE(https_server()->Start());
InstallSecurePWA();
EXPECT_TRUE(app_browser_->CanOverscrollContent());
}
// Tests that mixed content is not loaded inside PWA windows.
IN_PROC_BROWSER_TEST_P(HostedAppPWAOnlyTest, MixedContentInPWA) {
ASSERT_TRUE(https_server()->Start());
......
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