Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(100)

Unified Diff: chrome/browser/ui/zoom/zoom_controller_browsertest.cc

Issue 917043004: Mark error pages as such on Ctrl-Shift-T reload. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add test. Created 5 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | content/browser/frame_host/navigation_controller_impl.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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..45a70e25e540b3144dce53d22788a8660e361bc3 100644
--- a/chrome/browser/ui/zoom/zoom_controller_browsertest.cc
+++ b/chrome/browser/ui/zoom/zoom_controller_browsertest.cc
@@ -6,8 +6,10 @@
#include "base/prefs/pref_service.h"
#include "base/process/kill.h"
+#include "chrome/browser/chrome_notification_types.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"
@@ -17,6 +19,8 @@
#include "components/signin/core/common/profile_management_switches.h"
#include "content/public/browser/host_zoom_map.h"
#include "content/public/browser/navigation_entry.h"
+#include "content/public/browser/notification_service.h"
+#include "content/public/browser/notification_types.h"
#include "content/public/browser/render_process_host.h"
#include "content/public/browser/render_view_host.h"
#include "content/public/browser/web_contents.h"
@@ -168,6 +172,61 @@ IN_PROC_BROWSER_TEST_F(ZoomControllerBrowserTest, ErrorPagesCanZoom) {
EXPECT_FLOAT_EQ(new_zoom_level, zoom_controller->GetZoomLevel());
}
+IN_PROC_BROWSER_TEST_F(ZoomControllerBrowserTest,
+ ErrorPagesCanZoomAfterTabRestore) {
+ GURL url("http://kjfhkjsdf.com");
Charlie Reis 2015/02/13 21:38:37 Let's add a comment saying this is meant to cause
wjmaclean 2015/02/17 20:39:14 Done.
+
+ 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::WindowedNotificationObserver tab_added_observer(
Charlie Reis 2015/02/13 21:38:36 Can we use content::WebContentsAddedObserver plus
wjmaclean 2015/02/17 20:39:14 Done.
+ chrome::NOTIFICATION_TAB_PARENTED,
+ content::NotificationService::AllSources());
+ content::WindowedNotificationObserver tab_loaded_observer(
+ content::NOTIFICATION_LOAD_STOP,
+ content::NotificationService::AllSources());
+
+ chrome::RestoreTab(browser());
+
+ tab_added_observer.Wait();
+ tab_loaded_observer.Wait();
+ EXPECT_EQ(2, tab_strip->count());
+
+ content::WebContents* web_contents = tab_strip->GetActiveWebContents();
+
+ 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();
« no previous file with comments | « no previous file | content/browser/frame_host/navigation_controller_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698