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

Unified Diff: chrome/browser/ui/browser_navigator_browsertest.cc

Issue 643963004: Unescape BiDi control chars while parsing data urls (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix comment and rebase Created 6 years, 2 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 | net/base/data_url_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/browser_navigator_browsertest.cc
diff --git a/chrome/browser/ui/browser_navigator_browsertest.cc b/chrome/browser/ui/browser_navigator_browsertest.cc
index ac37ac9823637b1c72b0f36e4567d4e5adb9f034..12b537b92853ed80ad0aa600d9b84d43618bafd9 100644
--- a/chrome/browser/ui/browser_navigator_browsertest.cc
+++ b/chrome/browser/ui/browser_navigator_browsertest.cc
@@ -18,6 +18,8 @@
#include "chrome/browser/ui/browser_tabstrip.h"
#include "chrome/browser/ui/browser_window.h"
#include "chrome/browser/ui/chrome_pages.h"
+#include "chrome/browser/ui/location_bar/location_bar.h"
+#include "chrome/browser/ui/omnibox/omnibox_view.h"
#include "chrome/browser/ui/singleton_tabs.h"
#include "chrome/browser/ui/tabs/tab_strip_model.h"
#include "chrome/common/chrome_switches.h"
@@ -137,9 +139,9 @@ WebContents* BrowserNavigatorTest::CreateWebContents() {
void BrowserNavigatorTest::RunSuppressTest(WindowOpenDisposition disposition) {
GURL old_url = browser()->tab_strip_model()->GetActiveWebContents()->GetURL();
- chrome::NavigateParams p(MakeNavigateParams());
- p.disposition = disposition;
- chrome::Navigate(&p);
+ chrome::NavigateParams params(MakeNavigateParams());
+ params.disposition = disposition;
+ chrome::Navigate(&params);
// Nothing should have happened as a result of Navigate();
EXPECT_EQ(1, browser()->tab_strip_model()->count());
@@ -156,15 +158,15 @@ void BrowserNavigatorTest::RunUseNonIncognitoWindowTest(const GURL& url) {
EXPECT_EQ(1, incognito_browser->tab_strip_model()->count());
// Navigate to the page.
- chrome::NavigateParams p(MakeNavigateParams(incognito_browser));
- p.disposition = SINGLETON_TAB;
- p.url = url;
- p.window_action = chrome::NavigateParams::SHOW_WINDOW;
- chrome::Navigate(&p);
+ chrome::NavigateParams params(MakeNavigateParams(incognito_browser));
+ params.disposition = SINGLETON_TAB;
+ params.url = url;
+ params.window_action = chrome::NavigateParams::SHOW_WINDOW;
+ chrome::Navigate(&params);
// This page should be opened in browser() window.
- EXPECT_NE(incognito_browser, p.browser);
- EXPECT_EQ(browser(), p.browser);
+ EXPECT_NE(incognito_browser, params.browser);
+ EXPECT_EQ(browser(), params.browser);
EXPECT_EQ(2, browser()->tab_strip_model()->count());
EXPECT_EQ(url,
browser()->tab_strip_model()->GetActiveWebContents()->GetURL());
@@ -183,14 +185,14 @@ void BrowserNavigatorTest::RunDoNothingIfIncognitoIsForcedTest(
IncognitoModePrefs::FORCED);
// Navigate to the page.
- chrome::NavigateParams p(MakeNavigateParams(browser));
- p.disposition = OFF_THE_RECORD;
- p.url = url;
- p.window_action = chrome::NavigateParams::SHOW_WINDOW;
- chrome::Navigate(&p);
+ chrome::NavigateParams params(MakeNavigateParams(browser));
+ params.disposition = OFF_THE_RECORD;
+ params.url = url;
+ params.window_action = chrome::NavigateParams::SHOW_WINDOW;
+ chrome::Navigate(&params);
// The page should not be opened.
- EXPECT_EQ(browser, p.browser);
+ EXPECT_EQ(browser, params.browser);
EXPECT_EQ(1, browser->tab_strip_model()->count());
EXPECT_EQ(GURL(url::kAboutBlankURL),
browser->tab_strip_model()->GetActiveWebContents()->GetURL());
@@ -260,13 +262,13 @@ IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, Disposition_SingletonTabExisting) {
created_tab_contents_count_ = 0;
// Navigate to singleton_url1.
- chrome::NavigateParams p(MakeNavigateParams());
- p.disposition = SINGLETON_TAB;
- p.url = singleton_url1;
- chrome::Navigate(&p);
+ chrome::NavigateParams params(MakeNavigateParams());
+ params.disposition = SINGLETON_TAB;
+ params.url = singleton_url1;
+ chrome::Navigate(&params);
// The middle tab should now be selected.
- EXPECT_EQ(browser(), p.browser);
+ EXPECT_EQ(browser(), params.browser);
EXPECT_EQ(1, browser()->tab_strip_model()->active_index());
// No tab contents should have been created
@@ -289,37 +291,37 @@ IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest,
EXPECT_EQ(1, browser()->tab_strip_model()->active_index());
// Navigate to singleton_url2.
- chrome::NavigateParams p(MakeNavigateParams());
- p.disposition = SINGLETON_TAB;
- p.url = singleton_ref_url2;
- chrome::Navigate(&p);
+ chrome::NavigateParams params(MakeNavigateParams());
+ params.disposition = SINGLETON_TAB;
+ params.url = singleton_ref_url2;
+ chrome::Navigate(&params);
// We should now have 2 tabs, the 2nd one selected.
- EXPECT_EQ(browser(), p.browser);
+ EXPECT_EQ(browser(), params.browser);
EXPECT_EQ(2, browser()->tab_strip_model()->count());
EXPECT_EQ(1, browser()->tab_strip_model()->active_index());
// Navigate to singleton_url2, but with respect ref set.
- p = MakeNavigateParams();
- p.disposition = SINGLETON_TAB;
- p.url = singleton_ref_url2;
- p.ref_behavior = chrome::NavigateParams::RESPECT_REF;
- chrome::Navigate(&p);
+ params = MakeNavigateParams();
+ params.disposition = SINGLETON_TAB;
+ params.url = singleton_ref_url2;
+ params.ref_behavior = chrome::NavigateParams::RESPECT_REF;
+ chrome::Navigate(&params);
// We should now have 3 tabs, the 3th one selected.
- EXPECT_EQ(browser(), p.browser);
+ EXPECT_EQ(browser(), params.browser);
EXPECT_EQ(3, browser()->tab_strip_model()->count());
EXPECT_EQ(2, browser()->tab_strip_model()->active_index());
// Navigate to singleton_url3.
- p = MakeNavigateParams();
- p.disposition = SINGLETON_TAB;
- p.url = singleton_ref_url3;
- p.ref_behavior = chrome::NavigateParams::RESPECT_REF;
- chrome::Navigate(&p);
+ params = MakeNavigateParams();
+ params.disposition = SINGLETON_TAB;
+ params.url = singleton_ref_url3;
+ params.ref_behavior = chrome::NavigateParams::RESPECT_REF;
+ chrome::Navigate(&params);
// We should now have 4 tabs, the 4th one selected.
- EXPECT_EQ(browser(), p.browser);
+ EXPECT_EQ(browser(), params.browser);
EXPECT_EQ(4, browser()->tab_strip_model()->count());
EXPECT_EQ(3, browser()->tab_strip_model()->active_index());
}
@@ -333,13 +335,13 @@ IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest,
EXPECT_EQ(0, browser()->tab_strip_model()->active_index());
// Navigate to singleton_url1.
- chrome::NavigateParams p(MakeNavigateParams());
- p.disposition = SINGLETON_TAB;
- p.url = singleton_url1;
- chrome::Navigate(&p);
+ chrome::NavigateParams params(MakeNavigateParams());
+ params.disposition = SINGLETON_TAB;
+ params.url = singleton_url1;
+ chrome::Navigate(&params);
// We should now have 2 tabs, the 2nd one selected.
- EXPECT_EQ(browser(), p.browser);
+ EXPECT_EQ(browser(), params.browser);
EXPECT_EQ(2, browser()->tab_strip_model()->count());
EXPECT_EQ(1, browser()->tab_strip_model()->active_index());
}
@@ -350,13 +352,13 @@ IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest,
IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, Disposition_NewForegroundTab) {
WebContents* old_contents =
browser()->tab_strip_model()->GetActiveWebContents();
- chrome::NavigateParams p(MakeNavigateParams());
- p.disposition = NEW_FOREGROUND_TAB;
- chrome::Navigate(&p);
+ chrome::NavigateParams params(MakeNavigateParams());
+ params.disposition = NEW_FOREGROUND_TAB;
+ chrome::Navigate(&params);
EXPECT_NE(old_contents,
browser()->tab_strip_model()->GetActiveWebContents());
EXPECT_EQ(browser()->tab_strip_model()->GetActiveWebContents(),
- p.target_contents);
+ params.target_contents);
EXPECT_EQ(2, browser()->tab_strip_model()->count());
}
@@ -365,9 +367,9 @@ IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, Disposition_NewForegroundTab) {
IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, Disposition_NewBackgroundTab) {
WebContents* old_contents =
browser()->tab_strip_model()->GetActiveWebContents();
- chrome::NavigateParams p(MakeNavigateParams());
- p.disposition = NEW_BACKGROUND_TAB;
- chrome::Navigate(&p);
+ chrome::NavigateParams params(MakeNavigateParams());
+ params.disposition = NEW_BACKGROUND_TAB;
+ chrome::Navigate(&params);
WebContents* new_contents =
browser()->tab_strip_model()->GetActiveWebContents();
// The selected tab should have remained unchanged, since the new tab was
@@ -385,17 +387,17 @@ IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest,
// existing compatible window somewhere else that they can be opened within.
Browser* popup = CreateEmptyBrowserForType(Browser::TYPE_POPUP,
browser()->profile());
- chrome::NavigateParams p(MakeNavigateParams(popup));
- p.disposition = NEW_FOREGROUND_TAB;
- chrome::Navigate(&p);
+ chrome::NavigateParams params(MakeNavigateParams(popup));
+ params.disposition = NEW_FOREGROUND_TAB;
+ chrome::Navigate(&params);
// Navigate() should have opened the tab in a different browser since the
// one we supplied didn't support additional tabs.
- EXPECT_NE(popup, p.browser);
+ EXPECT_NE(popup, params.browser);
// Since browser() is an existing compatible tabbed browser, it should have
// opened the tab there.
- EXPECT_EQ(browser(), p.browser);
+ EXPECT_EQ(browser(), params.browser);
// We should be left with 2 windows, the popup with one tab and the browser()
// provided by the framework with two.
@@ -418,17 +420,17 @@ IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest,
Browser* popup = CreateEmptyBrowserForType(
Browser::TYPE_POPUP,
browser()->profile()->GetOffTheRecordProfile());
- chrome::NavigateParams p(MakeNavigateParams(popup));
- p.disposition = NEW_FOREGROUND_TAB;
- chrome::Navigate(&p);
+ chrome::NavigateParams params(MakeNavigateParams(popup));
+ params.disposition = NEW_FOREGROUND_TAB;
+ chrome::Navigate(&params);
// Navigate() should have opened the tab in a different browser since the
// one we supplied didn't support additional tabs.
- EXPECT_NE(popup, p.browser);
+ EXPECT_NE(popup, params.browser);
// This time, browser() is _not_ compatible with popup since it is not an
// incognito window.
- EXPECT_NE(browser(), p.browser);
+ EXPECT_NE(browser(), params.browser);
// We should have three windows, each with one tab:
// 1. the browser() provided by the framework (unchanged in this test)
@@ -437,82 +439,82 @@ IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest,
EXPECT_EQ(3u, chrome::GetTotalBrowserCount());
EXPECT_EQ(1, browser()->tab_strip_model()->count());
EXPECT_EQ(1, popup->tab_strip_model()->count());
- EXPECT_EQ(1, p.browser->tab_strip_model()->count());
- EXPECT_TRUE(p.browser->is_type_tabbed());
+ EXPECT_EQ(1, params.browser->tab_strip_model()->count());
+ EXPECT_TRUE(params.browser->is_type_tabbed());
}
// This test verifies that navigating with WindowOpenDisposition = NEW_POPUP
// from a normal Browser results in a new Browser with TYPE_POPUP.
IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, Disposition_NewPopup) {
- chrome::NavigateParams p(MakeNavigateParams());
- p.disposition = NEW_POPUP;
- p.window_bounds = gfx::Rect(0, 0, 200, 200);
+ chrome::NavigateParams params(MakeNavigateParams());
+ params.disposition = NEW_POPUP;
+ params.window_bounds = gfx::Rect(0, 0, 200, 200);
// Wait for new popup to to load and gain focus.
- ui_test_utils::NavigateToURL(&p);
+ ui_test_utils::NavigateToURL(&params);
// Navigate() should have opened a new, focused popup window.
- EXPECT_NE(browser(), p.browser);
+ EXPECT_NE(browser(), params.browser);
#if 0
// TODO(stevenjb): Enable this test. See: crbug.com/79493
- EXPECT_TRUE(p.browser->window()->IsActive());
+ EXPECT_TRUE(browser->window()->IsActive());
#endif
- EXPECT_TRUE(p.browser->is_type_popup());
- EXPECT_FALSE(p.browser->is_app());
+ EXPECT_TRUE(params.browser->is_type_popup());
+ EXPECT_FALSE(params.browser->is_app());
// We should have two windows, the browser() provided by the framework and the
// new popup window.
EXPECT_EQ(2u, chrome::GetTotalBrowserCount());
EXPECT_EQ(1, browser()->tab_strip_model()->count());
- EXPECT_EQ(1, p.browser->tab_strip_model()->count());
+ EXPECT_EQ(1, params.browser->tab_strip_model()->count());
}
// This test verifies that navigating with WindowOpenDisposition = NEW_POPUP
// from a normal Browser results in a new Browser with is_app() true.
IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, Disposition_NewPopup_ExtensionId) {
- chrome::NavigateParams p(MakeNavigateParams());
- p.disposition = NEW_POPUP;
- p.extension_app_id = "extensionappid";
- p.window_bounds = gfx::Rect(0, 0, 200, 200);
+ chrome::NavigateParams params(MakeNavigateParams());
+ params.disposition = NEW_POPUP;
+ params.extension_app_id = "extensionappid";
+ params.window_bounds = gfx::Rect(0, 0, 200, 200);
// Wait for new popup to to load and gain focus.
- ui_test_utils::NavigateToURL(&p);
+ ui_test_utils::NavigateToURL(&params);
// Navigate() should have opened a new, focused popup window.
- EXPECT_NE(browser(), p.browser);
- EXPECT_TRUE(p.browser->is_type_popup());
- EXPECT_TRUE(p.browser->is_app());
+ EXPECT_NE(browser(), params.browser);
+ EXPECT_TRUE(params.browser->is_type_popup());
+ EXPECT_TRUE(params.browser->is_app());
// We should have two windows, the browser() provided by the framework and the
// new popup window.
EXPECT_EQ(2u, chrome::GetTotalBrowserCount());
EXPECT_EQ(1, browser()->tab_strip_model()->count());
- EXPECT_EQ(1, p.browser->tab_strip_model()->count());
+ EXPECT_EQ(1, params.browser->tab_strip_model()->count());
}
// This test verifies that navigating with WindowOpenDisposition = NEW_POPUP
// from a normal popup results in a new Browser with TYPE_POPUP.
IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, Disposition_NewPopupFromPopup) {
// Open a popup.
- chrome::NavigateParams p1(MakeNavigateParams());
- p1.disposition = NEW_POPUP;
- p1.window_bounds = gfx::Rect(0, 0, 200, 200);
- chrome::Navigate(&p1);
+ chrome::NavigateParams params1(MakeNavigateParams());
+ params1.disposition = NEW_POPUP;
+ params1.window_bounds = gfx::Rect(0, 0, 200, 200);
+ chrome::Navigate(&params1);
// Open another popup.
- chrome::NavigateParams p2(MakeNavigateParams(p1.browser));
- p2.disposition = NEW_POPUP;
- p2.window_bounds = gfx::Rect(0, 0, 200, 200);
- chrome::Navigate(&p2);
+ chrome::NavigateParams params2(MakeNavigateParams(params1.browser));
+ params2.disposition = NEW_POPUP;
+ params2.window_bounds = gfx::Rect(0, 0, 200, 200);
+ chrome::Navigate(&params2);
// Navigate() should have opened a new normal popup window.
- EXPECT_NE(p1.browser, p2.browser);
- EXPECT_TRUE(p2.browser->is_type_popup());
- EXPECT_FALSE(p2.browser->is_app());
+ EXPECT_NE(params1.browser, params2.browser);
+ EXPECT_TRUE(params2.browser->is_type_popup());
+ EXPECT_FALSE(params2.browser->is_app());
// We should have three windows, the browser() provided by the framework,
// the first popup window, and the second popup window.
EXPECT_EQ(3u, chrome::GetTotalBrowserCount());
EXPECT_EQ(1, browser()->tab_strip_model()->count());
- EXPECT_EQ(1, p1.browser->tab_strip_model()->count());
- EXPECT_EQ(1, p2.browser->tab_strip_model()->count());
+ EXPECT_EQ(1, params1.browser->tab_strip_model()->count());
+ EXPECT_EQ(1, params2.browser->tab_strip_model()->count());
}
// This test verifies that navigating with WindowOpenDisposition = NEW_POPUP
@@ -520,23 +522,23 @@ IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, Disposition_NewPopupFromPopup) {
IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest,
Disposition_NewPopupFromAppWindow) {
Browser* app_browser = CreateEmptyBrowserForApp(browser()->profile());
- chrome::NavigateParams p(MakeNavigateParams(app_browser));
- p.disposition = NEW_POPUP;
- p.window_bounds = gfx::Rect(0, 0, 200, 200);
- chrome::Navigate(&p);
+ chrome::NavigateParams params(MakeNavigateParams(app_browser));
+ params.disposition = NEW_POPUP;
+ params.window_bounds = gfx::Rect(0, 0, 200, 200);
+ chrome::Navigate(&params);
// Navigate() should have opened a new popup app window.
- EXPECT_NE(app_browser, p.browser);
- EXPECT_NE(browser(), p.browser);
- EXPECT_TRUE(p.browser->is_type_popup());
- EXPECT_TRUE(p.browser->is_app());
+ EXPECT_NE(app_browser, params.browser);
+ EXPECT_NE(browser(), params.browser);
+ EXPECT_TRUE(params.browser->is_type_popup());
+ EXPECT_TRUE(params.browser->is_app());
// We should now have three windows, the app window, the app popup it created,
// and the original browser() provided by the framework.
EXPECT_EQ(3u, chrome::GetTotalBrowserCount());
EXPECT_EQ(1, browser()->tab_strip_model()->count());
EXPECT_EQ(1, app_browser->tab_strip_model()->count());
- EXPECT_EQ(1, p.browser->tab_strip_model()->count());
+ EXPECT_EQ(1, params.browser->tab_strip_model()->count());
}
// This test verifies that navigating with WindowOpenDisposition = NEW_POPUP
@@ -545,29 +547,29 @@ IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest,
Disposition_NewPopupFromAppPopup) {
Browser* app_browser = CreateEmptyBrowserForApp(browser()->profile());
// Open an app popup.
- chrome::NavigateParams p1(MakeNavigateParams(app_browser));
- p1.disposition = NEW_POPUP;
- p1.window_bounds = gfx::Rect(0, 0, 200, 200);
- chrome::Navigate(&p1);
+ chrome::NavigateParams params1(MakeNavigateParams(app_browser));
+ params1.disposition = NEW_POPUP;
+ params1.window_bounds = gfx::Rect(0, 0, 200, 200);
+ chrome::Navigate(&params1);
// Now open another app popup.
- chrome::NavigateParams p2(MakeNavigateParams(p1.browser));
- p2.disposition = NEW_POPUP;
- p2.window_bounds = gfx::Rect(0, 0, 200, 200);
- chrome::Navigate(&p2);
+ chrome::NavigateParams params2(MakeNavigateParams(params1.browser));
+ params2.disposition = NEW_POPUP;
+ params2.window_bounds = gfx::Rect(0, 0, 200, 200);
+ chrome::Navigate(&params2);
// Navigate() should have opened a new popup app window.
- EXPECT_NE(browser(), p1.browser);
- EXPECT_NE(p1.browser, p2.browser);
- EXPECT_TRUE(p2.browser->is_type_popup());
- EXPECT_TRUE(p2.browser->is_app());
+ EXPECT_NE(browser(), params1.browser);
+ EXPECT_NE(params1.browser, params2.browser);
+ EXPECT_TRUE(params2.browser->is_type_popup());
+ EXPECT_TRUE(params2.browser->is_app());
// We should now have four windows, the app window, the first app popup,
// the second app popup, and the original browser() provided by the framework.
EXPECT_EQ(4u, chrome::GetTotalBrowserCount());
EXPECT_EQ(1, browser()->tab_strip_model()->count());
EXPECT_EQ(1, app_browser->tab_strip_model()->count());
- EXPECT_EQ(1, p1.browser->tab_strip_model()->count());
- EXPECT_EQ(1, p2.browser->tab_strip_model()->count());
+ EXPECT_EQ(1, params1.browser->tab_strip_model()->count());
+ EXPECT_EQ(1, params2.browser->tab_strip_model()->count());
}
// This test verifies that navigating with WindowOpenDisposition = NEW_POPUP
@@ -580,16 +582,16 @@ IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest,
// This test verifies that navigating with window_action = SHOW_WINDOW_INACTIVE
// does not focus a new new popup window.
IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, Disposition_NewPopupUnfocused) {
- chrome::NavigateParams p(MakeNavigateParams());
- p.disposition = NEW_POPUP;
- p.window_bounds = gfx::Rect(0, 0, 200, 200);
- p.window_action = chrome::NavigateParams::SHOW_WINDOW_INACTIVE;
+ chrome::NavigateParams params(MakeNavigateParams());
+ params.disposition = NEW_POPUP;
+ params.window_bounds = gfx::Rect(0, 0, 200, 200);
+ params.window_action = chrome::NavigateParams::SHOW_WINDOW_INACTIVE;
// Wait for new popup to load (and gain focus if the test fails).
- ui_test_utils::NavigateToURL(&p);
+ ui_test_utils::NavigateToURL(&params);
// Navigate() should have opened a new, unfocused, popup window.
- EXPECT_NE(browser(), p.browser);
- EXPECT_EQ(Browser::TYPE_POPUP, p.browser->type());
+ EXPECT_NE(browser(), params.browser);
+ EXPECT_EQ(Browser::TYPE_POPUP, params.browser->type());
#if 0
// TODO(stevenjb): Enable this test. See: crbug.com/79493
EXPECT_FALSE(p.browser->window()->IsActive());
@@ -600,59 +602,59 @@ IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, Disposition_NewPopupUnfocused) {
// and trusted_source = true results in a new Browser where is_trusted_source()
// is true.
IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, Disposition_NewPopupTrusted) {
- chrome::NavigateParams p(MakeNavigateParams());
- p.disposition = NEW_POPUP;
- p.trusted_source = true;
- p.window_bounds = gfx::Rect(0, 0, 200, 200);
+ chrome::NavigateParams params(MakeNavigateParams());
+ params.disposition = NEW_POPUP;
+ params.trusted_source = true;
+ params.window_bounds = gfx::Rect(0, 0, 200, 200);
// Wait for new popup to to load and gain focus.
- ui_test_utils::NavigateToURL(&p);
+ ui_test_utils::NavigateToURL(&params);
// Navigate() should have opened a new popup window of TYPE_TRUSTED_POPUP.
- EXPECT_NE(browser(), p.browser);
- EXPECT_TRUE(p.browser->is_type_popup());
- EXPECT_TRUE(p.browser->is_trusted_source());
+ EXPECT_NE(browser(), params.browser);
+ EXPECT_TRUE(params.browser->is_type_popup());
+ EXPECT_TRUE(params.browser->is_trusted_source());
}
// This test verifies that navigating with WindowOpenDisposition = NEW_WINDOW
// always opens a new window.
IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, Disposition_NewWindow) {
- chrome::NavigateParams p(MakeNavigateParams());
- p.disposition = NEW_WINDOW;
- chrome::Navigate(&p);
+ chrome::NavigateParams params(MakeNavigateParams());
+ params.disposition = NEW_WINDOW;
+ chrome::Navigate(&params);
// Navigate() should have opened a new toplevel window.
- EXPECT_NE(browser(), p.browser);
- EXPECT_TRUE(p.browser->is_type_tabbed());
+ EXPECT_NE(browser(), params.browser);
+ EXPECT_TRUE(params.browser->is_type_tabbed());
// We should now have two windows, the browser() provided by the framework and
// the new normal window.
EXPECT_EQ(2u, chrome::GetTotalBrowserCount());
EXPECT_EQ(1, browser()->tab_strip_model()->count());
- EXPECT_EQ(1, p.browser->tab_strip_model()->count());
+ EXPECT_EQ(1, params.browser->tab_strip_model()->count());
}
// This test verifies that navigating with WindowOpenDisposition = INCOGNITO
// opens a new incognito window if no existing incognito window is present.
IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, Disposition_Incognito) {
- chrome::NavigateParams p(MakeNavigateParams());
- p.disposition = OFF_THE_RECORD;
- chrome::Navigate(&p);
+ chrome::NavigateParams params(MakeNavigateParams());
+ params.disposition = OFF_THE_RECORD;
+ chrome::Navigate(&params);
// Navigate() should have opened a new toplevel incognito window.
- EXPECT_NE(browser(), p.browser);
+ EXPECT_NE(browser(), params.browser);
EXPECT_EQ(browser()->profile()->GetOffTheRecordProfile(),
- p.browser->profile());
+ params.browser->profile());
// |source_contents| should be set to NULL because the profile for the new
// page is different from the originating page.
- EXPECT_EQ(NULL, p.source_contents);
+ EXPECT_EQ(NULL, params.source_contents);
// We should now have two windows, the browser() provided by the framework and
// the new incognito window.
EXPECT_EQ(2u, chrome::GetTotalBrowserCount());
EXPECT_EQ(1, browser()->tab_strip_model()->count());
- EXPECT_EQ(1, p.browser->tab_strip_model()->count());
+ EXPECT_EQ(1, params.browser->tab_strip_model()->count());
}
// This test verifies that navigating with WindowOpenDisposition = INCOGNITO
@@ -661,13 +663,13 @@ IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, Disposition_IncognitoRefocus) {
Browser* incognito_browser =
CreateEmptyBrowserForType(Browser::TYPE_TABBED,
browser()->profile()->GetOffTheRecordProfile());
- chrome::NavigateParams p(MakeNavigateParams());
- p.disposition = OFF_THE_RECORD;
- chrome::Navigate(&p);
+ chrome::NavigateParams params(MakeNavigateParams());
+ params.disposition = OFF_THE_RECORD;
+ chrome::Navigate(&params);
// Navigate() should have opened a new tab in the existing incognito window.
- EXPECT_NE(browser(), p.browser);
- EXPECT_EQ(p.browser, incognito_browser);
+ EXPECT_NE(browser(), params.browser);
+ EXPECT_EQ(params.browser, incognito_browser);
// We should now have two windows, the browser() provided by the framework and
// the incognito window we opened earlier.
@@ -696,16 +698,16 @@ IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, Disposition_IgnoreAction) {
// This tests adding a foreground tab with a predefined WebContents.
IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, TargetContents_ForegroundTab) {
- chrome::NavigateParams p(MakeNavigateParams());
- p.disposition = NEW_FOREGROUND_TAB;
- p.target_contents = CreateWebContents();
- chrome::Navigate(&p);
+ chrome::NavigateParams params(MakeNavigateParams());
+ params.disposition = NEW_FOREGROUND_TAB;
+ params.target_contents = CreateWebContents();
+ chrome::Navigate(&params);
// Navigate() should have opened the contents in a new foreground in the
// current Browser.
- EXPECT_EQ(browser(), p.browser);
+ EXPECT_EQ(browser(), params.browser);
EXPECT_EQ(browser()->tab_strip_model()->GetActiveWebContents(),
- p.target_contents);
+ params.target_contents);
// We should have one window, with two tabs.
EXPECT_EQ(1u, chrome::GetTotalBrowserCount());
@@ -715,39 +717,39 @@ IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, TargetContents_ForegroundTab) {
#if defined(OS_WIN)
// This tests adding a popup with a predefined WebContents.
IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, DISABLED_TargetContents_Popup) {
- chrome::NavigateParams p(MakeNavigateParams());
- p.disposition = NEW_POPUP;
- p.target_contents = CreateWebContents();
- p.window_bounds = gfx::Rect(10, 10, 500, 500);
- chrome::Navigate(&p);
+ chrome::NavigateParams params(MakeNavigateParams());
+ params.disposition = NEW_POPUP;
+ params.target_contents = CreateWebContents();
+ params.window_bounds = gfx::Rect(10, 10, 500, 500);
+ chrome::Navigate(&params);
// Navigate() should have opened a new popup window.
- EXPECT_NE(browser(), p.browser);
- EXPECT_TRUE(p.browser->is_type_popup());
- EXPECT_FALSE(p.browser->is_app());
+ EXPECT_NE(browser(), params.browser);
+ EXPECT_TRUE(params.browser->is_type_popup());
+ EXPECT_FALSE(params.browser->is_app());
// The web platform is weird. The window bounds specified in
- // |p.window_bounds| are used as follows:
+ // |params.window_bounds| are used as follows:
// - the origin is used to position the window
// - the size is used to size the WebContents of the window.
// As such the position of the resulting window will always match
- // p.window_bounds.origin(), but its size will not. We need to match
+ // params.window_bounds.origin(), but its size will not. We need to match
// the size against the selected tab's view's container size.
- // Only Windows positions the window according to |p.window_bounds.origin()| -
- // on Mac the window is offset from the opener and on Linux it always opens
- // at 0,0.
- EXPECT_EQ(p.window_bounds.origin(),
- p.browser->window()->GetRestoredBounds().origin());
+ // Only Windows positions the window according to
+ // |params.window_bounds.origin()| - on Mac the window is offset from the
+ // opener and on Linux it always opens at 0,0.
+ EXPECT_EQ(params.window_bounds.origin(),
+ params.browser->window()->GetRestoredBounds().origin());
// All platforms should respect size however provided width > 400 (Mac has a
// minimum window width of 400).
- EXPECT_EQ(p.window_bounds.size(),
- p.target_contents->GetContainerBounds().size());
+ EXPECT_EQ(params.window_bounds.size(),
+ params.target_contents->GetContainerBounds().size());
// We should have two windows, the new popup and the browser() provided by the
// framework.
EXPECT_EQ(2u, chrome::GetTotalBrowserCount());
EXPECT_EQ(1, browser()->tab_strip_model()->count());
- EXPECT_EQ(1, p.browser->tab_strip_model()->count());
+ EXPECT_EQ(1, params.browser->tab_strip_model()->count());
}
#endif
@@ -757,16 +759,16 @@ IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest, Tabstrip_InsertAtIndex) {
// implementation of the browser observes the insertion index. That is
// covered by the unit tests for TabStripModel. This merely verifies that
// insertion index preference is reflected in common cases.
- chrome::NavigateParams p(MakeNavigateParams());
- p.disposition = NEW_FOREGROUND_TAB;
- p.tabstrip_index = 0;
- p.tabstrip_add_types = TabStripModel::ADD_FORCE_INDEX;
- chrome::Navigate(&p);
+ chrome::NavigateParams params(MakeNavigateParams());
+ params.disposition = NEW_FOREGROUND_TAB;
+ params.tabstrip_index = 0;
+ params.tabstrip_add_types = TabStripModel::ADD_FORCE_INDEX;
+ chrome::Navigate(&params);
// Navigate() should have inserted a new tab at slot 0 in the tabstrip.
- EXPECT_EQ(browser(), p.browser);
+ EXPECT_EQ(browser(), params.browser);
EXPECT_EQ(0, browser()->tab_strip_model()->GetIndexOfWebContents(
- static_cast<const WebContents*>(p.target_contents)));
+ static_cast<const WebContents*>(params.target_contents)));
// We should have one window - the browser() provided by the framework.
EXPECT_EQ(1u, chrome::GetTotalBrowserCount());
@@ -787,16 +789,16 @@ IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest,
EXPECT_EQ(1, browser()->tab_strip_model()->active_index());
// Navigate to a new singleton tab with a sub-page.
- chrome::NavigateParams p(MakeNavigateParams());
- p.disposition = SINGLETON_TAB;
- p.url = GetContentSettingsURL();
- p.window_action = chrome::NavigateParams::SHOW_WINDOW;
- p.path_behavior = chrome::NavigateParams::IGNORE_AND_NAVIGATE;
- chrome::Navigate(&p);
+ chrome::NavigateParams params(MakeNavigateParams());
+ params.disposition = SINGLETON_TAB;
+ params.url = GetContentSettingsURL();
+ params.window_action = chrome::NavigateParams::SHOW_WINDOW;
+ params.path_behavior = chrome::NavigateParams::IGNORE_AND_NAVIGATE;
+ chrome::Navigate(&params);
// The last tab should now be selected and navigated to the sub-page of the
// URL.
- EXPECT_EQ(browser(), p.browser);
+ EXPECT_EQ(browser(), params.browser);
EXPECT_EQ(3, browser()->tab_strip_model()->count());
EXPECT_EQ(2, browser()->tab_strip_model()->active_index());
EXPECT_EQ(GetContentSettingsURL(),
@@ -821,16 +823,16 @@ IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest,
EXPECT_EQ(2, browser()->tab_strip_model()->active_index());
// Navigate to singleton_url1.
- chrome::NavigateParams p(MakeNavigateParams());
- p.disposition = SINGLETON_TAB;
- p.url = GetContentSettingsURL();
- p.window_action = chrome::NavigateParams::SHOW_WINDOW;
- p.path_behavior = chrome::NavigateParams::IGNORE_AND_NAVIGATE;
- chrome::Navigate(&p);
+ chrome::NavigateParams params(MakeNavigateParams());
+ params.disposition = SINGLETON_TAB;
+ params.url = GetContentSettingsURL();
+ params.window_action = chrome::NavigateParams::SHOW_WINDOW;
+ params.path_behavior = chrome::NavigateParams::IGNORE_AND_NAVIGATE;
+ chrome::Navigate(&params);
// The middle tab should now be selected and navigated to the sub-page of the
// URL.
- EXPECT_EQ(browser(), p.browser);
+ EXPECT_EQ(browser(), params.browser);
EXPECT_EQ(3, browser()->tab_strip_model()->count());
EXPECT_EQ(1, browser()->tab_strip_model()->active_index());
EXPECT_EQ(GetContentSettingsURL(),
@@ -855,16 +857,16 @@ IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest,
EXPECT_EQ(2, browser()->tab_strip_model()->active_index());
// Navigate to singleton_url1.
- chrome::NavigateParams p(MakeNavigateParams());
- p.disposition = SINGLETON_TAB;
- p.url = GetClearBrowsingDataURL();
- p.window_action = chrome::NavigateParams::SHOW_WINDOW;
- p.path_behavior = chrome::NavigateParams::IGNORE_AND_NAVIGATE;
- chrome::Navigate(&p);
+ chrome::NavigateParams params(MakeNavigateParams());
+ params.disposition = SINGLETON_TAB;
+ params.url = GetClearBrowsingDataURL();
+ params.window_action = chrome::NavigateParams::SHOW_WINDOW;
+ params.path_behavior = chrome::NavigateParams::IGNORE_AND_NAVIGATE;
+ chrome::Navigate(&params);
// The middle tab should now be selected and navigated to the sub-page of the
// URL.
- EXPECT_EQ(browser(), p.browser);
+ EXPECT_EQ(browser(), params.browser);
EXPECT_EQ(3, browser()->tab_strip_model()->count());
EXPECT_EQ(1, browser()->tab_strip_model()->active_index());
EXPECT_EQ(GetClearBrowsingDataURL(),
@@ -889,15 +891,15 @@ IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest,
EXPECT_EQ(2, browser()->tab_strip_model()->active_index());
// Navigate to singleton_url1.
- chrome::NavigateParams p(MakeNavigateParams());
- p.disposition = SINGLETON_TAB;
- p.url = GetClearBrowsingDataURL();
- p.window_action = chrome::NavigateParams::SHOW_WINDOW;
- p.path_behavior = chrome::NavigateParams::IGNORE_AND_STAY_PUT;
- chrome::Navigate(&p);
+ chrome::NavigateParams params(MakeNavigateParams());
+ params.disposition = SINGLETON_TAB;
+ params.url = GetClearBrowsingDataURL();
+ params.window_action = chrome::NavigateParams::SHOW_WINDOW;
+ params.path_behavior = chrome::NavigateParams::IGNORE_AND_STAY_PUT;
+ chrome::Navigate(&params);
// The middle tab should now be selected.
- EXPECT_EQ(browser(), p.browser);
+ EXPECT_EQ(browser(), params.browser);
EXPECT_EQ(3, browser()->tab_strip_model()->count());
EXPECT_EQ(1, browser()->tab_strip_model()->active_index());
EXPECT_EQ(singleton_url1,
@@ -921,15 +923,15 @@ IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest,
// Navigate to a different settings path.
GURL singleton_url_target(GetClearBrowsingDataURL());
- chrome::NavigateParams p(MakeNavigateParams());
- p.disposition = SINGLETON_TAB;
- p.url = singleton_url_target;
- p.window_action = chrome::NavigateParams::SHOW_WINDOW;
- p.path_behavior = chrome::NavigateParams::IGNORE_AND_NAVIGATE;
- chrome::Navigate(&p);
+ chrome::NavigateParams params(MakeNavigateParams());
+ params.disposition = SINGLETON_TAB;
+ params.url = singleton_url_target;
+ params.window_action = chrome::NavigateParams::SHOW_WINDOW;
+ params.path_behavior = chrome::NavigateParams::IGNORE_AND_NAVIGATE;
+ chrome::Navigate(&params);
// The second tab should still be selected, but navigated to the new path.
- EXPECT_EQ(browser(), p.browser);
+ EXPECT_EQ(browser(), params.browser);
EXPECT_EQ(2, browser()->tab_strip_model()->count());
EXPECT_EQ(1, browser()->tab_strip_model()->active_index());
EXPECT_EQ(singleton_url_target,
@@ -954,15 +956,15 @@ IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest,
GURL singleton_url_target(
"chrome://settings/internet?"
"servicePath=/profile/ethernet_00aa00aa00aa&networkType=1");
- chrome::NavigateParams p(MakeNavigateParams());
- p.disposition = SINGLETON_TAB;
- p.url = singleton_url_target;
- p.window_action = chrome::NavigateParams::SHOW_WINDOW;
- p.path_behavior = chrome::NavigateParams::IGNORE_AND_NAVIGATE;
- chrome::Navigate(&p);
+ chrome::NavigateParams params(MakeNavigateParams());
+ params.disposition = SINGLETON_TAB;
+ params.url = singleton_url_target;
+ params.window_action = chrome::NavigateParams::SHOW_WINDOW;
+ params.path_behavior = chrome::NavigateParams::IGNORE_AND_NAVIGATE;
+ chrome::Navigate(&params);
// Last tab should still be selected.
- EXPECT_EQ(browser(), p.browser);
+ EXPECT_EQ(browser(), params.browser);
EXPECT_EQ(initial_tab_count + 1, browser()->tab_strip_model()->count());
EXPECT_EQ(initial_tab_count, browser()->tab_strip_model()->active_index());
}
@@ -1062,12 +1064,12 @@ IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest,
web_contents->SetIsCrashed(base::TERMINATION_STATUS_PROCESS_CRASHED, -1);
EXPECT_TRUE(web_contents->IsCrashed());
- chrome::NavigateParams p(MakeNavigateParams());
- p.disposition = SINGLETON_TAB;
- p.url = singleton_url;
- p.window_action = chrome::NavigateParams::SHOW_WINDOW;
- p.path_behavior = chrome::NavigateParams::IGNORE_AND_NAVIGATE;
- ui_test_utils::NavigateToURL(&p);
+ chrome::NavigateParams params(MakeNavigateParams());
+ params.disposition = SINGLETON_TAB;
+ params.url = singleton_url;
+ params.window_action = chrome::NavigateParams::SHOW_WINDOW;
+ params.path_behavior = chrome::NavigateParams::IGNORE_AND_NAVIGATE;
+ ui_test_utils::NavigateToURL(&params);
// The tab should not be sad anymore.
EXPECT_FALSE(web_contents->IsCrashed());
@@ -1090,9 +1092,9 @@ IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest,
IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest,
NavigateFromBlankToOptionsInSameTab) {
- chrome::NavigateParams p(MakeNavigateParams());
- p.url = GURL(url::kAboutBlankURL);
- ui_test_utils::NavigateToURL(&p);
+ chrome::NavigateParams params(MakeNavigateParams());
+ params.url = GURL(url::kAboutBlankURL);
+ ui_test_utils::NavigateToURL(&params);
{
content::WindowedNotificationObserver observer(
@@ -1109,9 +1111,9 @@ IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest,
IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest,
NavigateFromNTPToOptionsInSameTab) {
- chrome::NavigateParams p(MakeNavigateParams());
- p.url = GURL(chrome::kChromeUINewTabURL);
- ui_test_utils::NavigateToURL(&p);
+ chrome::NavigateParams params(MakeNavigateParams());
+ params.url = GURL(chrome::kChromeUINewTabURL);
+ ui_test_utils::NavigateToURL(&params);
EXPECT_EQ(1, browser()->tab_strip_model()->count());
EXPECT_EQ(GURL(chrome::kChromeUINewTabURL),
browser()->tab_strip_model()->GetActiveWebContents()->GetURL());
@@ -1131,8 +1133,8 @@ IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest,
IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest,
NavigateFromPageToOptionsInNewTab) {
- chrome::NavigateParams p(MakeNavigateParams());
- ui_test_utils::NavigateToURL(&p);
+ chrome::NavigateParams params(MakeNavigateParams());
+ ui_test_utils::NavigateToURL(&params);
EXPECT_EQ(GetGoogleURL(),
browser()->tab_strip_model()->GetActiveWebContents()->GetURL());
EXPECT_EQ(1u, chrome::GetTotalBrowserCount());
@@ -1376,4 +1378,39 @@ IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest,
EXPECT_NE(expected_title, title);
}
+// This test navigates to a data URL that contains BiDi control
+// characters. For security reasons, BiDi control chars should always be
+// escaped in the URL but they should be unescaped in the loaded HTML.
+IN_PROC_BROWSER_TEST_F(BrowserNavigatorTest,
+ NavigateToDataURLWithBiDiControlChars) {
+ // Text in Arabic.
+ std::string text = "\xD8\xA7\xD8\xAE\xD8\xAA\xD8\xA8\xD8\xA7\xD8\xB1";
+ // Page title starts with RTL mark.
+ std::string unescaped_title = "\xE2\x80\x8F" + text;
+ std::string data_url = "data:text/html;charset=utf-8,<html><title>" +
+ unescaped_title + "</title></html>";
+ // BiDi control chars in URLs are always escaped, so the expected URL should
+ // have the title with the escaped RTL mark.
+ std::string escaped_title = "%E2%80%8F" + text;
+ std::string expected_url = "data:text/html;charset=utf-8,<html><title>" +
+ escaped_title + "</title></html>";
+
+ // Navigate to the page.
+ chrome::NavigateParams params(MakeNavigateParams());
+ params.disposition = NEW_FOREGROUND_TAB;
+ params.url = GURL(data_url);
+ params.window_action = chrome::NavigateParams::SHOW_WINDOW;
+ ui_test_utils::NavigateToURL(&params);
+
+ base::string16 expected_title(base::UTF8ToUTF16(unescaped_title));
+ EXPECT_TRUE(params.target_contents);
+ EXPECT_EQ(expected_title, params.target_contents->GetTitle());
+ // GURL always keeps non-ASCII characters escaped, but check them anyways.
+ EXPECT_EQ(GURL(expected_url).spec(), params.target_contents->GetURL().spec());
+ // Check the omnibox text. It should have escaped RTL with unescaped text.
+ LocationBar* location_bar = browser()->window()->GetLocationBar();
+ OmniboxView* omnibox_view = location_bar->GetOmniboxView();
+ EXPECT_EQ(base::UTF8ToUTF16(expected_url), omnibox_view->GetText());
+}
+
} // namespace
« no previous file with comments | « no previous file | net/base/data_url_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698