| Index: chrome/browser/ui/zoom/zoom_controller_browsertest.cc
|
| diff --git a/chrome/browser/ui/zoom/zoom_controller_browsertest.cc b/chrome/browser/ui/zoom/zoom_controller_browsertest.cc
|
| index 378739ded0521611e497585fce043baaab1f2a21..a16336c125e40764868b95e18c7e609680992261 100644
|
| --- a/chrome/browser/ui/zoom/zoom_controller_browsertest.cc
|
| +++ b/chrome/browser/ui/zoom/zoom_controller_browsertest.cc
|
| @@ -8,6 +8,7 @@
|
| #include "base/process/kill.h"
|
| #include "chrome/browser/profiles/profile.h"
|
| #include "chrome/browser/ui/browser.h"
|
| +#include "chrome/browser/ui/browser_commands.h"
|
| #include "chrome/browser/ui/tabs/tab_strip_model.h"
|
| #include "chrome/browser/ui/webui/signin/login_ui_test_utils.h"
|
| #include "chrome/browser/ui/zoom/chrome_zoom_level_prefs.h"
|
| @@ -168,6 +169,57 @@ IN_PROC_BROWSER_TEST_F(ZoomControllerBrowserTest, ErrorPagesCanZoom) {
|
| EXPECT_FLOAT_EQ(new_zoom_level, zoom_controller->GetZoomLevel());
|
| }
|
|
|
| +IN_PROC_BROWSER_TEST_F(ZoomControllerBrowserTest,
|
| + ErrorPagesCanZoomAfterTabRestore) {
|
| + // This url is meant to cause a network error page to be loaded.
|
| + // Tests can't reach the network, so this test should continue
|
| + // to work even if the domain listed is someday registered.
|
| + GURL url("http://kjfhkjsdf.com");
|
| +
|
| + TabStripModel* tab_strip = browser()->tab_strip_model();
|
| + ASSERT_TRUE(tab_strip);
|
| +
|
| + ui_test_utils::NavigateToURLWithDisposition(
|
| + browser(), url, NEW_FOREGROUND_TAB,
|
| + ui_test_utils::BROWSER_TEST_WAIT_FOR_NAVIGATION);
|
| + {
|
| + content::WebContents* web_contents = tab_strip->GetActiveWebContents();
|
| +
|
| + EXPECT_EQ(
|
| + content::PAGE_TYPE_ERROR,
|
| + web_contents->GetController().GetLastCommittedEntry()->GetPageType());
|
| +
|
| + content::WebContentsDestroyedWatcher destroyed_watcher(web_contents);
|
| + tab_strip->CloseWebContentsAt(tab_strip->active_index(),
|
| + TabStripModel::CLOSE_CREATE_HISTORICAL_TAB);
|
| + destroyed_watcher.Wait();
|
| + }
|
| + EXPECT_EQ(1, tab_strip->count());
|
| +
|
| + content::WebContentsAddedObserver new_web_contents_observer;
|
| + chrome::RestoreTab(browser());
|
| + content::WebContents* web_contents =
|
| + new_web_contents_observer.GetWebContents();
|
| + content::WaitForLoadStop(web_contents);
|
| +
|
| + EXPECT_EQ(2, tab_strip->count());
|
| +
|
| + EXPECT_EQ(
|
| + content::PAGE_TYPE_ERROR,
|
| + web_contents->GetController().GetLastCommittedEntry()->GetPageType());
|
| +
|
| + ZoomController* zoom_controller =
|
| + ZoomController::FromWebContents(web_contents);
|
| +
|
| + double old_zoom_level = zoom_controller->GetZoomLevel();
|
| + double new_zoom_level = old_zoom_level + 0.5;
|
| +
|
| + // The following attempt to change the zoom level for an error page should
|
| + // fail.
|
| + zoom_controller->SetZoomLevel(new_zoom_level);
|
| + EXPECT_FLOAT_EQ(new_zoom_level, zoom_controller->GetZoomLevel());
|
| +}
|
| +
|
| IN_PROC_BROWSER_TEST_F(ZoomControllerBrowserTest, Observe) {
|
| content::WebContents* web_contents =
|
| browser()->tab_strip_model()->GetActiveWebContents();
|
|
|