summaryrefslogtreecommitdiffstats
path: root/chromium/chrome/browser/extensions/api/tabs/tabs_test.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/chrome/browser/extensions/api/tabs/tabs_test.cc')
-rw-r--r--chromium/chrome/browser/extensions/api/tabs/tabs_test.cc77
1 files changed, 37 insertions, 40 deletions
diff --git a/chromium/chrome/browser/extensions/api/tabs/tabs_test.cc b/chromium/chrome/browser/extensions/api/tabs/tabs_test.cc
index f5fb14246df..e908335e12f 100644
--- a/chromium/chrome/browser/extensions/api/tabs/tabs_test.cc
+++ b/chromium/chrome/browser/extensions/api/tabs/tabs_test.cc
@@ -48,7 +48,6 @@
#include "content/public/browser/render_frame_host.h"
#include "content/public/browser/storage_partition.h"
#include "content/public/common/mime_handler_view_mode.h"
-#include "content/public/common/page_zoom.h"
#include "content/public/common/url_constants.h"
#include "content/public/test/browser_test_utils.h"
#include "content/public/test/test_navigation_observer.h"
@@ -61,6 +60,7 @@
#include "extensions/test/extension_test_message_listener.h"
#include "extensions/test/result_catcher.h"
#include "net/test/embedded_test_server/embedded_test_server.h"
+#include "third_party/blink/public/common/page/page_zoom.h"
#include "ui/base/window_open_disposition.h"
#include "ui/gfx/geometry/rect.h"
#include "ui/views/widget/widget.h"
@@ -98,6 +98,8 @@ class ExtensionWindowCreateTest : public InProcessBrowserTest {
};
const int kUndefinedId = INT_MIN;
+const ExtensionTabUtil::ScrubTabBehavior kDontScrubBehavior = {
+ ExtensionTabUtil::kDontScrubTab, ExtensionTabUtil::kDontScrubTab};
int GetTabId(base::DictionaryValue* tab) {
int id = kUndefinedId;
@@ -1136,9 +1138,9 @@ IN_PROC_BROWSER_TEST_F(ExtensionTabsTest, DuplicateTab) {
EXPECT_EQ(window_id, duplicate_tab_window_id);
EXPECT_EQ(tab_index + 1, duplicate_tab_index);
// The test empty tab extension has tabs permissions, therefore
- // |duplicate_result| should contain url, title, and faviconUrl
+ // |duplicate_result| should contain url, pendingUrl, title or faviconUrl
// in the function result.
- EXPECT_TRUE(utils::HasPrivacySensitiveFields(duplicate_result.get()));
+ EXPECT_TRUE(utils::HasAnyPrivacySensitiveFields(duplicate_result.get()));
}
IN_PROC_BROWSER_TEST_F(ExtensionTabsTest, DuplicateTabNoPermission) {
@@ -1174,8 +1176,9 @@ IN_PROC_BROWSER_TEST_F(ExtensionTabsTest, DuplicateTabNoPermission) {
EXPECT_EQ(window_id, duplicate_tab_window_id);
EXPECT_EQ(tab_index + 1, duplicate_tab_index);
// The test empty extension has no permissions, therefore |duplicate_result|
- // should not contain url, title, and faviconUrl in the function result.
- EXPECT_FALSE(utils::HasPrivacySensitiveFields(duplicate_result.get()));
+ // should not contain url, pendingUrl, title and faviconUrl in the function
+ // result.
+ EXPECT_FALSE(utils::HasAnyPrivacySensitiveFields(duplicate_result.get()));
}
IN_PROC_BROWSER_TEST_F(ExtensionTabsTest, NoTabsEventOnDevTools) {
@@ -1323,8 +1326,7 @@ IN_PROC_BROWSER_TEST_F(ExtensionTabsTest, DiscardedProperty) {
// Creates Tab object to ensure the property is correct for the extension.
std::unique_ptr<api::tabs::Tab> tab_object_a =
- ExtensionTabUtil::CreateTabObject(web_contents_a,
- ExtensionTabUtil::kDontScrubTab,
+ ExtensionTabUtil::CreateTabObject(web_contents_a, kDontScrubBehavior,
nullptr, tab_strip_model, 0);
EXPECT_FALSE(tab_object_a->discarded);
@@ -1334,8 +1336,7 @@ IN_PROC_BROWSER_TEST_F(ExtensionTabsTest, DiscardedProperty) {
// Make sure the property is changed accordingly after discarding the tab.
tab_object_a = ExtensionTabUtil::CreateTabObject(
- web_contents_a, ExtensionTabUtil::kDontScrubTab, nullptr, tab_strip_model,
- 0);
+ web_contents_a, kDontScrubBehavior, nullptr, tab_strip_model, 0);
EXPECT_TRUE(tab_object_a->discarded);
// Get non-discarded tabs after discarding one tab.
@@ -1530,8 +1531,7 @@ IN_PROC_BROWSER_TEST_F(ExtensionTabsTest, AutoDiscardableProperty) {
// Creates Tab object to ensure the property is correct for the extension.
TabStripModel* tab_strip_model = browser()->tab_strip_model();
std::unique_ptr<api::tabs::Tab> tab_object_a =
- ExtensionTabUtil::CreateTabObject(web_contents_a,
- ExtensionTabUtil::kDontScrubTab,
+ ExtensionTabUtil::CreateTabObject(web_contents_a, kDontScrubBehavior,
nullptr, tab_strip_model, 0);
EXPECT_TRUE(tab_object_a->auto_discardable);
@@ -1575,8 +1575,7 @@ IN_PROC_BROWSER_TEST_F(ExtensionTabsTest, AutoDiscardableProperty) {
// Make sure the property is changed accordingly after updating the tab.
tab_object_a = ExtensionTabUtil::CreateTabObject(
- web_contents_a, ExtensionTabUtil::kDontScrubTab, nullptr, tab_strip_model,
- 0);
+ web_contents_a, kDontScrubBehavior, nullptr, tab_strip_model, 0);
EXPECT_FALSE(tab_object_a->auto_discardable);
// Get auto-discardable tabs after changing the status of web contents A.
@@ -1847,7 +1846,7 @@ IN_PROC_BROWSER_TEST_F(ExtensionTabsZoomTest, SetAndGetZoom) {
const double kZoomLevel = 0.8;
EXPECT_TRUE(RunSetZoom(tab_id, kZoomLevel));
EXPECT_EQ(kZoomLevel,
- content::ZoomLevelToZoomFactor(GetZoomLevel(web_contents)));
+ blink::PageZoomLevelToZoomFactor(GetZoomLevel(web_contents)));
// Test chrome.tabs.getZoom().
zoom_factor = -1;
@@ -1864,9 +1863,9 @@ IN_PROC_BROWSER_TEST_F(ExtensionTabsZoomTest, GetDefaultZoom) {
zoom::ZoomController::FromWebContents(web_contents);
double default_zoom_factor = -1.0;
EXPECT_TRUE(RunGetDefaultZoom(tab_id, &default_zoom_factor));
- EXPECT_TRUE(content::ZoomValuesEqual(
+ EXPECT_TRUE(blink::PageZoomValuesEqual(
zoom_controller->GetDefaultZoomLevel(),
- content::ZoomFactorToZoomLevel(default_zoom_factor)));
+ blink::PageZoomFactorToZoomLevel(default_zoom_factor)));
// Change the default zoom level and verify GetDefaultZoom returns the
// correct value.
@@ -1880,9 +1879,9 @@ IN_PROC_BROWSER_TEST_F(ExtensionTabsZoomTest, GetDefaultZoom) {
zoom_prefs->SetDefaultZoomLevelPref(default_zoom_level + 0.5);
default_zoom_factor = -1.0;
EXPECT_TRUE(RunGetDefaultZoom(tab_id, &default_zoom_factor));
- EXPECT_TRUE(content::ZoomValuesEqual(
+ EXPECT_TRUE(blink::PageZoomValuesEqual(
default_zoom_level + 0.5,
- content::ZoomFactorToZoomLevel(default_zoom_factor)));
+ blink::PageZoomFactorToZoomLevel(default_zoom_factor)));
}
IN_PROC_BROWSER_TEST_F(ExtensionTabsZoomTest, SetToDefaultZoom) {
@@ -1906,9 +1905,9 @@ IN_PROC_BROWSER_TEST_F(ExtensionTabsZoomTest, SetToDefaultZoom) {
double observed_zoom_factor = -1.0;
EXPECT_TRUE(RunSetZoom(tab_id, 0.0));
EXPECT_TRUE(RunGetZoom(tab_id, &observed_zoom_factor));
- EXPECT_TRUE(content::ZoomValuesEqual(
+ EXPECT_TRUE(blink::PageZoomValuesEqual(
new_default_zoom_level,
- content::ZoomFactorToZoomLevel(observed_zoom_factor)));
+ blink::PageZoomFactorToZoomLevel(observed_zoom_factor)));
}
IN_PROC_BROWSER_TEST_F(ExtensionTabsZoomTest, ZoomSettings) {
@@ -1936,48 +1935,48 @@ IN_PROC_BROWSER_TEST_F(ExtensionTabsZoomTest, ZoomSettings) {
int tab_id_B = ExtensionTabUtil::GetTabId(web_contents_B);
ASSERT_FLOAT_EQ(
- 1.f, content::ZoomLevelToZoomFactor(GetZoomLevel(web_contents_A1)));
+ 1.f, blink::PageZoomLevelToZoomFactor(GetZoomLevel(web_contents_A1)));
ASSERT_FLOAT_EQ(
- 1.f, content::ZoomLevelToZoomFactor(GetZoomLevel(web_contents_A2)));
+ 1.f, blink::PageZoomLevelToZoomFactor(GetZoomLevel(web_contents_A2)));
ASSERT_FLOAT_EQ(
- 1.f, content::ZoomLevelToZoomFactor(GetZoomLevel(web_contents_B)));
+ 1.f, blink::PageZoomLevelToZoomFactor(GetZoomLevel(web_contents_B)));
// Test per-origin automatic zoom settings.
EXPECT_TRUE(RunSetZoom(tab_id_B, 1.f));
EXPECT_TRUE(RunSetZoom(tab_id_A2, 1.1f));
EXPECT_FLOAT_EQ(
- 1.1f, content::ZoomLevelToZoomFactor(GetZoomLevel(web_contents_A1)));
+ 1.1f, blink::PageZoomLevelToZoomFactor(GetZoomLevel(web_contents_A1)));
EXPECT_FLOAT_EQ(
- 1.1f, content::ZoomLevelToZoomFactor(GetZoomLevel(web_contents_A2)));
- EXPECT_FLOAT_EQ(1.f,
- content::ZoomLevelToZoomFactor(GetZoomLevel(web_contents_B)));
+ 1.1f, blink::PageZoomLevelToZoomFactor(GetZoomLevel(web_contents_A2)));
+ EXPECT_FLOAT_EQ(
+ 1.f, blink::PageZoomLevelToZoomFactor(GetZoomLevel(web_contents_B)));
// Test per-tab automatic zoom settings.
EXPECT_TRUE(RunSetZoomSettings(tab_id_A1, "automatic", "per-tab"));
EXPECT_TRUE(RunSetZoom(tab_id_A1, 1.2f));
EXPECT_FLOAT_EQ(
- 1.2f, content::ZoomLevelToZoomFactor(GetZoomLevel(web_contents_A1)));
+ 1.2f, blink::PageZoomLevelToZoomFactor(GetZoomLevel(web_contents_A1)));
EXPECT_FLOAT_EQ(
- 1.1f, content::ZoomLevelToZoomFactor(GetZoomLevel(web_contents_A2)));
+ 1.1f, blink::PageZoomLevelToZoomFactor(GetZoomLevel(web_contents_A2)));
// Test 'manual' mode.
EXPECT_TRUE(RunSetZoomSettings(tab_id_A1, "manual", nullptr));
EXPECT_TRUE(RunSetZoom(tab_id_A1, 1.3f));
EXPECT_FLOAT_EQ(
- 1.3f, content::ZoomLevelToZoomFactor(GetZoomLevel(web_contents_A1)));
+ 1.3f, blink::PageZoomLevelToZoomFactor(GetZoomLevel(web_contents_A1)));
EXPECT_FLOAT_EQ(
- 1.1f, content::ZoomLevelToZoomFactor(GetZoomLevel(web_contents_A2)));
+ 1.1f, blink::PageZoomLevelToZoomFactor(GetZoomLevel(web_contents_A2)));
// Test 'disabled' mode, which will reset A1's zoom to 1.f.
EXPECT_TRUE(RunSetZoomSettings(tab_id_A1, "disabled", nullptr));
std::string error = RunSetZoomExpectError(tab_id_A1, 1.4f);
EXPECT_TRUE(base::MatchPattern(error, keys::kCannotZoomDisabledTabError));
EXPECT_FLOAT_EQ(
- 1.f, content::ZoomLevelToZoomFactor(GetZoomLevel(web_contents_A1)));
+ 1.f, blink::PageZoomLevelToZoomFactor(GetZoomLevel(web_contents_A1)));
// We should still be able to zoom A2 though.
EXPECT_TRUE(RunSetZoom(tab_id_A2, 1.4f));
EXPECT_FLOAT_EQ(
- 1.4f, content::ZoomLevelToZoomFactor(GetZoomLevel(web_contents_A2)));
+ 1.4f, blink::PageZoomLevelToZoomFactor(GetZoomLevel(web_contents_A2)));
}
IN_PROC_BROWSER_TEST_F(ExtensionTabsZoomTest, PerTabResetsOnNavigation) {
@@ -2061,13 +2060,7 @@ IN_PROC_BROWSER_TEST_F(ExtensionTabsZoomTest, CannotZoomInvalidTab) {
}
// Regression test for crbug.com/660498.
-// TODO(crbug.com/882213) Disabled due to timeouts on Linux builders.
-#if defined(OS_LINUX)
-#define MAYBE_TemporaryAddressSpoof DISABLED_TemporaryAddressSpoof
-#else
-#define MAYBE_TemporaryAddressSpoof TemporaryAddressSpoof
-#endif
-IN_PROC_BROWSER_TEST_F(ExtensionApiTest, MAYBE_TemporaryAddressSpoof) {
+IN_PROC_BROWSER_TEST_F(ExtensionApiTest, TemporaryAddressSpoof) {
ASSERT_TRUE(StartEmbeddedTestServer());
content::WebContents* first_web_contents =
browser()->tab_strip_model()->GetActiveWebContents();
@@ -2115,6 +2108,10 @@ IN_PROC_BROWSER_TEST_F(ExtensionApiTest, MAYBE_TemporaryAddressSpoof) {
browser()->tab_strip_model()->GetActiveWebContents());
EXPECT_EQ(url, second_web_contents->GetVisibleURL());
+
+ // Wait for the TestNavigationManager-initiated navigation to complete to
+ // avoid a race during browser teardown (see crbug.com/882213).
+ navigation_manager.WaitForNavigationFinished();
}
// Tests how chrome.windows.create behaves when setSelfAsOpener parameter is