| Index: chrome/browser/profiles/host_zoom_map_browsertest.cc
|
| diff --git a/chrome/browser/profiles/host_zoom_map_browsertest.cc b/chrome/browser/profiles/host_zoom_map_browsertest.cc
|
| index c4f5730d211b808742e8998a85e12f5a1d2cc0c9..84973b8521653025b0bce590230539812ece898a 100644
|
| --- a/chrome/browser/profiles/host_zoom_map_browsertest.cc
|
| +++ b/chrome/browser/profiles/host_zoom_map_browsertest.cc
|
| @@ -9,6 +9,7 @@
|
| #include <vector>
|
|
|
| #include "base/bind.h"
|
| +#include "base/command_line.h"
|
| #include "base/files/file_path.h"
|
| #include "base/files/file_util.h"
|
| #include "base/memory/ref_counted.h"
|
| @@ -30,6 +31,7 @@
|
| #include "chrome/test/base/testing_profile.h"
|
| #include "chrome/test/base/ui_test_utils.h"
|
| #include "components/signin/core/common/profile_management_switches.h"
|
| +#include "components/signin/core/common/signin_switches.h"
|
| #include "components/ui/zoom/page_zoom.h"
|
| #include "components/ui/zoom/zoom_event_manager.h"
|
| #include "content/public/test/test_utils.h"
|
| @@ -238,8 +240,40 @@ IN_PROC_BROWSER_TEST_F(HostZoomMapBrowserTest, ZoomEventsWorkForOffTheRecord) {
|
| test_scheme, test_host));
|
| }
|
|
|
| +IN_PROC_BROWSER_TEST_F(
|
| + HostZoomMapBrowserTest,
|
| + WebviewBasedSigninUsesDefaultStoragePartitionForEmbedder) {
|
| + GURL test_url = ConstructTestServerURL(chrome::kChromeUIChromeSigninURL);
|
| + std::string test_host(test_url.host());
|
| + std::string test_scheme(test_url.scheme());
|
| + ui_test_utils::NavigateToURL(browser(), test_url);
|
| +
|
| + content::WebContents* web_contents =
|
| + browser()->tab_strip_model()->GetActiveWebContents();
|
| +
|
| + HostZoomMap* host_zoom_map = HostZoomMap::GetForWebContents(web_contents);
|
| +
|
| + // For the webview based sign-in code, the sign in page uses the default host
|
| + // zoom map.
|
| + HostZoomMap* default_profile_host_zoom_map =
|
| + HostZoomMap::GetDefaultForBrowserContext(browser()->profile());
|
| + // Since ChromeOS still uses IFrame-based signin, we should expect the
|
| + // storage partition to be different if Webview signin is not enabled.
|
| + if (switches::IsEnableWebviewBasedSignin())
|
| + EXPECT_EQ(host_zoom_map, default_profile_host_zoom_map);
|
| + else
|
| + EXPECT_NE(host_zoom_map, default_profile_host_zoom_map);
|
| +}
|
| +
|
| +class HostZoomMapIframeSigninBrowserTest : public HostZoomMapBrowserTest {
|
| + public:
|
| + void SetUpCommandLine(base::CommandLine* command_line) override {
|
| + command_line->AppendSwitch(switches::kEnableIframeBasedSignin);
|
| + }
|
| +};
|
| +
|
| // Regression test for crbug.com/435017.
|
| -IN_PROC_BROWSER_TEST_F(HostZoomMapBrowserTest,
|
| +IN_PROC_BROWSER_TEST_F(HostZoomMapIframeSigninBrowserTest,
|
| EventsForNonDefaultStoragePartition) {
|
| ZoomLevelChangeObserver observer(browser()->profile());
|
| // TODO(wjmaclean): Make this test more general by implementing a way to
|
| @@ -255,17 +289,14 @@ IN_PROC_BROWSER_TEST_F(HostZoomMapBrowserTest,
|
| content::WebContents* web_contents =
|
| browser()->tab_strip_model()->GetActiveWebContents();
|
|
|
| - // Verify that our loaded page is using a HostZoomMap different from the
|
| - // one for the default StoragePartition.
|
| + // We are forcing non-webview based signin, so we expect the signin page to
|
| + // be in a different storage partition, and hence a different HostZoomMap.
|
| HostZoomMap* host_zoom_map = HostZoomMap::GetForWebContents(web_contents);
|
|
|
| - // For the webview based sign-in code, the sign in page uses the default host
|
| - // zoom map.
|
| - if (!switches::IsEnableWebviewBasedSignin()) {
|
| - HostZoomMap* default_profile_host_zoom_map =
|
| - HostZoomMap::GetDefaultForBrowserContext(browser()->profile());
|
| - EXPECT_NE(host_zoom_map, default_profile_host_zoom_map);
|
| - }
|
| + EXPECT_FALSE(switches::IsEnableWebviewBasedSignin());
|
| + HostZoomMap* default_profile_host_zoom_map =
|
| + HostZoomMap::GetDefaultForBrowserContext(browser()->profile());
|
| + EXPECT_NE(host_zoom_map, default_profile_host_zoom_map);
|
|
|
| double new_zoom_level =
|
| host_zoom_map->GetZoomLevelForHostAndScheme(test_scheme, test_host) + 0.5;
|
|
|