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

Side by Side Diff: chrome/browser/extensions/api/tabs/tabs_test.cc

Issue 1226673003: Move MatchPattern to its own header and the base namespace. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 5 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 5
6 #include <string> 6 #include <string>
7 7
8 #include "base/memory/ref_counted.h" 8 #include "base/memory/ref_counted.h"
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "base/prefs/pref_service.h" 10 #include "base/prefs/pref_service.h"
11 #include "base/strings/pattern.h"
12 #include "base/strings/string_split.h"
11 #include "base/strings/string_util.h" 13 #include "base/strings/string_util.h"
12 #include "base/strings/stringprintf.h" 14 #include "base/strings/stringprintf.h"
13 #include "base/values.h" 15 #include "base/values.h"
14 #include "chrome/browser/devtools/devtools_window_testing.h" 16 #include "chrome/browser/devtools/devtools_window_testing.h"
15 #include "chrome/browser/extensions/api/tabs/tabs_api.h" 17 #include "chrome/browser/extensions/api/tabs/tabs_api.h"
16 #include "chrome/browser/extensions/api/tabs/tabs_constants.h" 18 #include "chrome/browser/extensions/api/tabs/tabs_constants.h"
17 #include "chrome/browser/extensions/extension_function_test_utils.h" 19 #include "chrome/browser/extensions/extension_function_test_utils.h"
18 #include "chrome/browser/extensions/extension_tab_util.h" 20 #include "chrome/browser/extensions/extension_tab_util.h"
19 #include "chrome/browser/prefs/incognito_mode_prefs.h" 21 #include "chrome/browser/prefs/incognito_mode_prefs.h"
20 #include "chrome/browser/profiles/profile.h" 22 #include "chrome/browser/profiles/profile.h"
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
56 58
57 } // namespace 59 } // namespace
58 60
59 IN_PROC_BROWSER_TEST_F(ExtensionTabsTest, GetWindow) { 61 IN_PROC_BROWSER_TEST_F(ExtensionTabsTest, GetWindow) {
60 int window_id = ExtensionTabUtil::GetWindowId(browser()); 62 int window_id = ExtensionTabUtil::GetWindowId(browser());
61 63
62 // Invalid window ID error. 64 // Invalid window ID error.
63 scoped_refptr<WindowsGetFunction> function = new WindowsGetFunction(); 65 scoped_refptr<WindowsGetFunction> function = new WindowsGetFunction();
64 scoped_refptr<Extension> extension(test_util::CreateEmptyExtension()); 66 scoped_refptr<Extension> extension(test_util::CreateEmptyExtension());
65 function->set_extension(extension.get()); 67 function->set_extension(extension.get());
66 EXPECT_TRUE(MatchPattern( 68 EXPECT_TRUE(base::MatchPattern(
67 utils::RunFunctionAndReturnError( 69 utils::RunFunctionAndReturnError(
68 function.get(), 70 function.get(), base::StringPrintf("[%u]", window_id + 1), browser()),
69 base::StringPrintf("[%u]", window_id + 1),
70 browser()),
71 keys::kWindowNotFoundError)); 71 keys::kWindowNotFoundError));
72 72
73 // Basic window details. 73 // Basic window details.
74 gfx::Rect bounds; 74 gfx::Rect bounds;
75 if (browser()->window()->IsMinimized()) 75 if (browser()->window()->IsMinimized())
76 bounds = browser()->window()->GetRestoredBounds(); 76 bounds = browser()->window()->GetRestoredBounds();
77 else 77 else
78 bounds = browser()->window()->GetBounds(); 78 bounds = browser()->window()->GetBounds();
79 79
80 function = new WindowsGetFunction(); 80 function = new WindowsGetFunction();
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
130 browser()))); 130 browser())));
131 EXPECT_EQ("popup", api_test_utils::GetString(result.get(), "type")); 131 EXPECT_EQ("popup", api_test_utils::GetString(result.get(), "type"));
132 132
133 // Incognito. 133 // Incognito.
134 Browser* incognito_browser = CreateIncognitoBrowser(); 134 Browser* incognito_browser = CreateIncognitoBrowser();
135 int incognito_window_id = ExtensionTabUtil::GetWindowId(incognito_browser); 135 int incognito_window_id = ExtensionTabUtil::GetWindowId(incognito_browser);
136 136
137 // Without "include_incognito". 137 // Without "include_incognito".
138 function = new WindowsGetFunction(); 138 function = new WindowsGetFunction();
139 function->set_extension(extension.get()); 139 function->set_extension(extension.get());
140 EXPECT_TRUE(MatchPattern( 140 EXPECT_TRUE(base::MatchPattern(
141 utils::RunFunctionAndReturnError( 141 utils::RunFunctionAndReturnError(
142 function.get(), 142 function.get(), base::StringPrintf("[%u]", incognito_window_id),
143 base::StringPrintf("[%u]", incognito_window_id),
144 browser()), 143 browser()),
145 keys::kWindowNotFoundError)); 144 keys::kWindowNotFoundError));
146 145
147 // With "include_incognito". 146 // With "include_incognito".
148 function = new WindowsGetFunction(); 147 function = new WindowsGetFunction();
149 function->set_extension(extension.get()); 148 function->set_extension(extension.get());
150 result.reset(utils::ToDictionary( 149 result.reset(utils::ToDictionary(
151 utils::RunFunctionAndReturnSingleResult( 150 utils::RunFunctionAndReturnSingleResult(
152 function.get(), 151 function.get(),
153 base::StringPrintf("[%u]", incognito_window_id), 152 base::StringPrintf("[%u]", incognito_window_id),
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after
360 static const char kArgsWithExplicitIncognitoParam[] = 359 static const char kArgsWithExplicitIncognitoParam[] =
361 "[{\"url\": \"about:blank\", \"incognito\": false }]"; 360 "[{\"url\": \"about:blank\", \"incognito\": false }]";
362 // Force Incognito mode. 361 // Force Incognito mode.
363 IncognitoModePrefs::SetAvailability(browser()->profile()->GetPrefs(), 362 IncognitoModePrefs::SetAvailability(browser()->profile()->GetPrefs(),
364 IncognitoModePrefs::FORCED); 363 IncognitoModePrefs::FORCED);
365 364
366 // Run with an explicit "incognito" param. 365 // Run with an explicit "incognito" param.
367 scoped_refptr<WindowsCreateFunction> function = new WindowsCreateFunction(); 366 scoped_refptr<WindowsCreateFunction> function = new WindowsCreateFunction();
368 scoped_refptr<Extension> extension(test_util::CreateEmptyExtension()); 367 scoped_refptr<Extension> extension(test_util::CreateEmptyExtension());
369 function->set_extension(extension.get()); 368 function->set_extension(extension.get());
370 EXPECT_TRUE(MatchPattern( 369 EXPECT_TRUE(base::MatchPattern(
371 utils::RunFunctionAndReturnError(function.get(), 370 utils::RunFunctionAndReturnError(
372 kArgsWithExplicitIncognitoParam, 371 function.get(), kArgsWithExplicitIncognitoParam, browser()),
373 browser()),
374 keys::kIncognitoModeIsForced)); 372 keys::kIncognitoModeIsForced));
375 373
376 // Now try opening a normal window from incognito window. 374 // Now try opening a normal window from incognito window.
377 Browser* incognito_browser = CreateIncognitoBrowser(); 375 Browser* incognito_browser = CreateIncognitoBrowser();
378 // Run with an explicit "incognito" param. 376 // Run with an explicit "incognito" param.
379 function = new WindowsCreateFunction(); 377 function = new WindowsCreateFunction();
380 function->set_extension(extension.get()); 378 function->set_extension(extension.get());
381 EXPECT_TRUE(MatchPattern( 379 EXPECT_TRUE(base::MatchPattern(
382 utils::RunFunctionAndReturnError(function.get(), 380 utils::RunFunctionAndReturnError(
383 kArgsWithExplicitIncognitoParam, 381 function.get(), kArgsWithExplicitIncognitoParam, incognito_browser),
384 incognito_browser),
385 keys::kIncognitoModeIsForced)); 382 keys::kIncognitoModeIsForced));
386 } 383 }
387 384
388 IN_PROC_BROWSER_TEST_F(ExtensionTabsTest, 385 IN_PROC_BROWSER_TEST_F(ExtensionTabsTest,
389 DontCreateIncognitoWindowWhenIncognitoDisabled) { 386 DontCreateIncognitoWindowWhenIncognitoDisabled) {
390 static const char kArgs[] = 387 static const char kArgs[] =
391 "[{\"url\": \"about:blank\", \"incognito\": true }]"; 388 "[{\"url\": \"about:blank\", \"incognito\": true }]";
392 389
393 Browser* incognito_browser = CreateIncognitoBrowser(); 390 Browser* incognito_browser = CreateIncognitoBrowser();
394 // Disable Incognito mode. 391 // Disable Incognito mode.
395 IncognitoModePrefs::SetAvailability(browser()->profile()->GetPrefs(), 392 IncognitoModePrefs::SetAvailability(browser()->profile()->GetPrefs(),
396 IncognitoModePrefs::DISABLED); 393 IncognitoModePrefs::DISABLED);
397 // Run in normal window. 394 // Run in normal window.
398 scoped_refptr<WindowsCreateFunction> function = new WindowsCreateFunction(); 395 scoped_refptr<WindowsCreateFunction> function = new WindowsCreateFunction();
399 scoped_refptr<Extension> extension(test_util::CreateEmptyExtension()); 396 scoped_refptr<Extension> extension(test_util::CreateEmptyExtension());
400 function->set_extension(extension.get()); 397 function->set_extension(extension.get());
401 EXPECT_TRUE(MatchPattern( 398 EXPECT_TRUE(base::MatchPattern(
402 utils::RunFunctionAndReturnError(function.get(), 399 utils::RunFunctionAndReturnError(function.get(), kArgs, browser()),
403 kArgs,
404 browser()),
405 keys::kIncognitoModeIsDisabled)); 400 keys::kIncognitoModeIsDisabled));
406 401
407 // Run in incognito window. 402 // Run in incognito window.
408 function = new WindowsCreateFunction(); 403 function = new WindowsCreateFunction();
409 function->set_extension(extension.get()); 404 function->set_extension(extension.get());
410 EXPECT_TRUE(MatchPattern( 405 EXPECT_TRUE(base::MatchPattern(utils::RunFunctionAndReturnError(
411 utils::RunFunctionAndReturnError(function.get(), 406 function.get(), kArgs, incognito_browser),
412 kArgs, 407 keys::kIncognitoModeIsDisabled));
413 incognito_browser),
414 keys::kIncognitoModeIsDisabled));
415 } 408 }
416 409
417 IN_PROC_BROWSER_TEST_F(ExtensionTabsTest, QueryCurrentWindowTabs) { 410 IN_PROC_BROWSER_TEST_F(ExtensionTabsTest, QueryCurrentWindowTabs) {
418 const size_t kExtraWindows = 3; 411 const size_t kExtraWindows = 3;
419 for (size_t i = 0; i < kExtraWindows; ++i) 412 for (size_t i = 0; i < kExtraWindows; ++i)
420 CreateBrowser(browser()->profile()); 413 CreateBrowser(browser()->profile());
421 414
422 GURL url(url::kAboutBlankURL); 415 GURL url(url::kAboutBlankURL);
423 AddTabAtIndex(0, url, ui::PAGE_TRANSITION_LINK); 416 AddTabAtIndex(0, url, ui::PAGE_TRANSITION_LINK);
424 int window_id = ExtensionTabUtil::GetWindowId(browser()); 417 int window_id = ExtensionTabUtil::GetWindowId(browser());
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
525 } 518 }
526 519
527 IN_PROC_BROWSER_TEST_F(ExtensionTabsTest, InvalidUpdateWindowState) { 520 IN_PROC_BROWSER_TEST_F(ExtensionTabsTest, InvalidUpdateWindowState) {
528 int window_id = ExtensionTabUtil::GetWindowId(browser()); 521 int window_id = ExtensionTabUtil::GetWindowId(browser());
529 522
530 static const char kArgsMinimizedWithFocus[] = 523 static const char kArgsMinimizedWithFocus[] =
531 "[%u, {\"state\": \"minimized\", \"focused\": true}]"; 524 "[%u, {\"state\": \"minimized\", \"focused\": true}]";
532 scoped_refptr<WindowsUpdateFunction> function = new WindowsUpdateFunction(); 525 scoped_refptr<WindowsUpdateFunction> function = new WindowsUpdateFunction();
533 scoped_refptr<Extension> extension(test_util::CreateEmptyExtension()); 526 scoped_refptr<Extension> extension(test_util::CreateEmptyExtension());
534 function->set_extension(extension.get()); 527 function->set_extension(extension.get());
535 EXPECT_TRUE(MatchPattern( 528 EXPECT_TRUE(base::MatchPattern(
536 utils::RunFunctionAndReturnError( 529 utils::RunFunctionAndReturnError(
537 function.get(), 530 function.get(),
538 base::StringPrintf(kArgsMinimizedWithFocus, window_id), 531 base::StringPrintf(kArgsMinimizedWithFocus, window_id), browser()),
539 browser()),
540 keys::kInvalidWindowStateError)); 532 keys::kInvalidWindowStateError));
541 533
542 static const char kArgsMaximizedWithoutFocus[] = 534 static const char kArgsMaximizedWithoutFocus[] =
543 "[%u, {\"state\": \"maximized\", \"focused\": false}]"; 535 "[%u, {\"state\": \"maximized\", \"focused\": false}]";
544 function = new WindowsUpdateFunction(); 536 function = new WindowsUpdateFunction();
545 function->set_extension(extension.get()); 537 function->set_extension(extension.get());
546 EXPECT_TRUE(MatchPattern( 538 EXPECT_TRUE(base::MatchPattern(
547 utils::RunFunctionAndReturnError( 539 utils::RunFunctionAndReturnError(
548 function.get(), 540 function.get(),
549 base::StringPrintf(kArgsMaximizedWithoutFocus, window_id), 541 base::StringPrintf(kArgsMaximizedWithoutFocus, window_id), browser()),
550 browser()),
551 keys::kInvalidWindowStateError)); 542 keys::kInvalidWindowStateError));
552 543
553 static const char kArgsMinimizedWithBounds[] = 544 static const char kArgsMinimizedWithBounds[] =
554 "[%u, {\"state\": \"minimized\", \"width\": 500}]"; 545 "[%u, {\"state\": \"minimized\", \"width\": 500}]";
555 function = new WindowsUpdateFunction(); 546 function = new WindowsUpdateFunction();
556 function->set_extension(extension.get()); 547 function->set_extension(extension.get());
557 EXPECT_TRUE(MatchPattern( 548 EXPECT_TRUE(base::MatchPattern(
558 utils::RunFunctionAndReturnError( 549 utils::RunFunctionAndReturnError(
559 function.get(), 550 function.get(),
560 base::StringPrintf(kArgsMinimizedWithBounds, window_id), 551 base::StringPrintf(kArgsMinimizedWithBounds, window_id), browser()),
561 browser()),
562 keys::kInvalidWindowStateError)); 552 keys::kInvalidWindowStateError));
563 553
564 static const char kArgsMaximizedWithBounds[] = 554 static const char kArgsMaximizedWithBounds[] =
565 "[%u, {\"state\": \"maximized\", \"width\": 500}]"; 555 "[%u, {\"state\": \"maximized\", \"width\": 500}]";
566 function = new WindowsUpdateFunction(); 556 function = new WindowsUpdateFunction();
567 function->set_extension(extension.get()); 557 function->set_extension(extension.get());
568 EXPECT_TRUE(MatchPattern( 558 EXPECT_TRUE(base::MatchPattern(
569 utils::RunFunctionAndReturnError( 559 utils::RunFunctionAndReturnError(
570 function.get(), 560 function.get(),
571 base::StringPrintf(kArgsMaximizedWithBounds, window_id), 561 base::StringPrintf(kArgsMaximizedWithBounds, window_id), browser()),
572 browser()),
573 keys::kInvalidWindowStateError)); 562 keys::kInvalidWindowStateError));
574 } 563 }
575 564
576 IN_PROC_BROWSER_TEST_F(ExtensionWindowCreateTest, AcceptState) { 565 IN_PROC_BROWSER_TEST_F(ExtensionWindowCreateTest, AcceptState) {
577 scoped_refptr<WindowsCreateFunction> function(new WindowsCreateFunction()); 566 scoped_refptr<WindowsCreateFunction> function(new WindowsCreateFunction());
578 scoped_refptr<Extension> extension(test_util::CreateEmptyExtension()); 567 scoped_refptr<Extension> extension(test_util::CreateEmptyExtension());
579 function->set_extension(extension.get()); 568 function->set_extension(extension.get());
580 569
581 scoped_ptr<base::DictionaryValue> result( 570 scoped_ptr<base::DictionaryValue> result(
582 utils::ToDictionary(utils::RunFunctionAndReturnSingleResult( 571 utils::ToDictionary(utils::RunFunctionAndReturnSingleResult(
(...skipping 19 matching lines...) Expand all
602 utils::INCLUDE_INCOGNITO))); 591 utils::INCLUDE_INCOGNITO)));
603 window_id = api_test_utils::GetInteger(result.get(), "id"); 592 window_id = api_test_utils::GetInteger(result.get(), "id");
604 new_window = ExtensionTabUtil::GetBrowserFromWindowID(function.get(), 593 new_window = ExtensionTabUtil::GetBrowserFromWindowID(function.get(),
605 window_id, &error); 594 window_id, &error);
606 EXPECT_TRUE(error.empty()); 595 EXPECT_TRUE(error.empty());
607 EXPECT_TRUE(new_window->window()->IsFullscreen()); 596 EXPECT_TRUE(new_window->window()->IsFullscreen());
608 #endif // !defined(OS_MACOSX) 597 #endif // !defined(OS_MACOSX)
609 } 598 }
610 599
611 IN_PROC_BROWSER_TEST_F(ExtensionWindowCreateTest, ValidateCreateWindowState) { 600 IN_PROC_BROWSER_TEST_F(ExtensionWindowCreateTest, ValidateCreateWindowState) {
601 EXPECT_TRUE(base::MatchPattern(
602 RunCreateWindowExpectError(
603 "[{\"state\": \"fullscreen\", \"type\": \"panel\"}]"),
604 keys::kInvalidWindowStateError));
605 EXPECT_TRUE(base::MatchPattern(
606 RunCreateWindowExpectError(
607 "[{\"state\": \"maximized\", \"type\": \"panel\"}]"),
608 keys::kInvalidWindowStateError));
609 EXPECT_TRUE(base::MatchPattern(
610 RunCreateWindowExpectError(
611 "[{\"state\": \"minimized\", \"type\": \"panel\"}]"),
612 keys::kInvalidWindowStateError));
612 EXPECT_TRUE( 613 EXPECT_TRUE(
613 MatchPattern(RunCreateWindowExpectError( 614 base::MatchPattern(RunCreateWindowExpectError(
614 "[{\"state\": \"fullscreen\", \"type\": \"panel\"}]"), 615 "[{\"state\": \"minimized\", \"focused\": true}]"),
615 keys::kInvalidWindowStateError)); 616 keys::kInvalidWindowStateError));
617 EXPECT_TRUE(base::MatchPattern(
618 RunCreateWindowExpectError(
619 "[{\"state\": \"maximized\", \"focused\": false}]"),
620 keys::kInvalidWindowStateError));
621 EXPECT_TRUE(base::MatchPattern(
622 RunCreateWindowExpectError(
623 "[{\"state\": \"fullscreen\", \"focused\": false}]"),
624 keys::kInvalidWindowStateError));
616 EXPECT_TRUE( 625 EXPECT_TRUE(
617 MatchPattern(RunCreateWindowExpectError( 626 base::MatchPattern(RunCreateWindowExpectError(
618 "[{\"state\": \"maximized\", \"type\": \"panel\"}]"), 627 "[{\"state\": \"minimized\", \"width\": 500}]"),
619 keys::kInvalidWindowStateError)); 628 keys::kInvalidWindowStateError));
620 EXPECT_TRUE( 629 EXPECT_TRUE(
621 MatchPattern(RunCreateWindowExpectError( 630 base::MatchPattern(RunCreateWindowExpectError(
622 "[{\"state\": \"minimized\", \"type\": \"panel\"}]"), 631 "[{\"state\": \"maximized\", \"width\": 500}]"),
623 keys::kInvalidWindowStateError)); 632 keys::kInvalidWindowStateError));
624 EXPECT_TRUE( 633 EXPECT_TRUE(
625 MatchPattern(RunCreateWindowExpectError( 634 base::MatchPattern(RunCreateWindowExpectError(
626 "[{\"state\": \"minimized\", \"focused\": true}]"), 635 "[{\"state\": \"fullscreen\", \"width\": 500}]"),
627 keys::kInvalidWindowStateError)); 636 keys::kInvalidWindowStateError));
628 EXPECT_TRUE(
629 MatchPattern(RunCreateWindowExpectError(
630 "[{\"state\": \"maximized\", \"focused\": false}]"),
631 keys::kInvalidWindowStateError));
632 EXPECT_TRUE(
633 MatchPattern(RunCreateWindowExpectError(
634 "[{\"state\": \"fullscreen\", \"focused\": false}]"),
635 keys::kInvalidWindowStateError));
636 EXPECT_TRUE(MatchPattern(RunCreateWindowExpectError(
637 "[{\"state\": \"minimized\", \"width\": 500}]"),
638 keys::kInvalidWindowStateError));
639 EXPECT_TRUE(MatchPattern(RunCreateWindowExpectError(
640 "[{\"state\": \"maximized\", \"width\": 500}]"),
641 keys::kInvalidWindowStateError));
642 EXPECT_TRUE(MatchPattern(RunCreateWindowExpectError(
643 "[{\"state\": \"fullscreen\", \"width\": 500}]"),
644 keys::kInvalidWindowStateError));
645 } 637 }
646 638
647 IN_PROC_BROWSER_TEST_F(ExtensionTabsTest, DuplicateTab) { 639 IN_PROC_BROWSER_TEST_F(ExtensionTabsTest, DuplicateTab) {
648 content::OpenURLParams params(GURL(url::kAboutBlankURL), 640 content::OpenURLParams params(GURL(url::kAboutBlankURL),
649 content::Referrer(), 641 content::Referrer(),
650 NEW_FOREGROUND_TAB, 642 NEW_FOREGROUND_TAB,
651 ui::PAGE_TRANSITION_LINK, 643 ui::PAGE_TRANSITION_LINK,
652 false); 644 false);
653 content::WebContents* web_contents = browser()->OpenURL(params); 645 content::WebContents* web_contents = browser()->OpenURL(params);
654 int tab_id = ExtensionTabUtil::GetTabId(web_contents); 646 int tab_id = ExtensionTabUtil::GetTabId(web_contents);
(...skipping 418 matching lines...) Expand 10 before | Expand all | Expand 10 after
1073 EXPECT_TRUE(RunSetZoomSettings(tab_id_A1, "manual", NULL)); 1065 EXPECT_TRUE(RunSetZoomSettings(tab_id_A1, "manual", NULL));
1074 EXPECT_TRUE(RunSetZoom(tab_id_A1, 1.3f)); 1066 EXPECT_TRUE(RunSetZoom(tab_id_A1, 1.3f));
1075 EXPECT_FLOAT_EQ( 1067 EXPECT_FLOAT_EQ(
1076 1.3f, content::ZoomLevelToZoomFactor(GetZoomLevel(web_contents_A1))); 1068 1.3f, content::ZoomLevelToZoomFactor(GetZoomLevel(web_contents_A1)));
1077 EXPECT_FLOAT_EQ( 1069 EXPECT_FLOAT_EQ(
1078 1.1f, content::ZoomLevelToZoomFactor(GetZoomLevel(web_contents_A2))); 1070 1.1f, content::ZoomLevelToZoomFactor(GetZoomLevel(web_contents_A2)));
1079 1071
1080 // Test 'disabled' mode, which will reset A1's zoom to 1.f. 1072 // Test 'disabled' mode, which will reset A1's zoom to 1.f.
1081 EXPECT_TRUE(RunSetZoomSettings(tab_id_A1, "disabled", NULL)); 1073 EXPECT_TRUE(RunSetZoomSettings(tab_id_A1, "disabled", NULL));
1082 std::string error = RunSetZoomExpectError(tab_id_A1, 1.4f); 1074 std::string error = RunSetZoomExpectError(tab_id_A1, 1.4f);
1083 EXPECT_TRUE(MatchPattern(error, keys::kCannotZoomDisabledTabError)); 1075 EXPECT_TRUE(base::MatchPattern(error, keys::kCannotZoomDisabledTabError));
1084 EXPECT_FLOAT_EQ( 1076 EXPECT_FLOAT_EQ(
1085 1.f, content::ZoomLevelToZoomFactor(GetZoomLevel(web_contents_A1))); 1077 1.f, content::ZoomLevelToZoomFactor(GetZoomLevel(web_contents_A1)));
1086 // We should still be able to zoom A2 though. 1078 // We should still be able to zoom A2 though.
1087 EXPECT_TRUE(RunSetZoom(tab_id_A2, 1.4f)); 1079 EXPECT_TRUE(RunSetZoom(tab_id_A2, 1.4f));
1088 EXPECT_FLOAT_EQ( 1080 EXPECT_FLOAT_EQ(
1089 1.4f, content::ZoomLevelToZoomFactor(GetZoomLevel(web_contents_A2))); 1081 1.4f, content::ZoomLevelToZoomFactor(GetZoomLevel(web_contents_A2)));
1090 } 1082 }
1091 1083
1092 IN_PROC_BROWSER_TEST_F(ExtensionTabsZoomTest, PerTabResetsOnNavigation) { 1084 IN_PROC_BROWSER_TEST_F(ExtensionTabsZoomTest, PerTabResetsOnNavigation) {
1093 net::SpawnedTestServer http_server( 1085 net::SpawnedTestServer http_server(
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
1130 EXPECT_EQ("per-origin", scope); 1122 EXPECT_EQ("per-origin", scope);
1131 1123
1132 EXPECT_TRUE(RunSetZoomSettings(tab_id, "automatic", "per-tab")); 1124 EXPECT_TRUE(RunSetZoomSettings(tab_id, "automatic", "per-tab"));
1133 EXPECT_TRUE(RunGetZoomSettings(tab_id, &mode, &scope)); 1125 EXPECT_TRUE(RunGetZoomSettings(tab_id, &mode, &scope));
1134 1126
1135 EXPECT_EQ("automatic", mode); 1127 EXPECT_EQ("automatic", mode);
1136 EXPECT_EQ("per-tab", scope); 1128 EXPECT_EQ("per-tab", scope);
1137 1129
1138 std::string error = 1130 std::string error =
1139 RunSetZoomSettingsExpectError(tab_id, "manual", "per-origin"); 1131 RunSetZoomSettingsExpectError(tab_id, "manual", "per-origin");
1140 EXPECT_TRUE(MatchPattern(error, 1132 EXPECT_TRUE(base::MatchPattern(error, keys::kPerOriginOnlyInAutomaticError));
1141 keys::kPerOriginOnlyInAutomaticError));
1142 error = 1133 error =
1143 RunSetZoomSettingsExpectError(tab_id, "disabled", "per-origin"); 1134 RunSetZoomSettingsExpectError(tab_id, "disabled", "per-origin");
1144 EXPECT_TRUE(MatchPattern(error, 1135 EXPECT_TRUE(base::MatchPattern(error, keys::kPerOriginOnlyInAutomaticError));
1145 keys::kPerOriginOnlyInAutomaticError));
1146 } 1136 }
1147 1137
1148 IN_PROC_BROWSER_TEST_F(ExtensionTabsZoomTest, CannotZoomInvalidTab) { 1138 IN_PROC_BROWSER_TEST_F(ExtensionTabsZoomTest, CannotZoomInvalidTab) {
1149 content::OpenURLParams params(GetOpenParams(url::kAboutBlankURL)); 1139 content::OpenURLParams params(GetOpenParams(url::kAboutBlankURL));
1150 content::WebContents* web_contents = OpenUrlAndWaitForLoad(params.url); 1140 content::WebContents* web_contents = OpenUrlAndWaitForLoad(params.url);
1151 int tab_id = ExtensionTabUtil::GetTabId(web_contents); 1141 int tab_id = ExtensionTabUtil::GetTabId(web_contents);
1152 1142
1153 int bogus_id = tab_id + 100; 1143 int bogus_id = tab_id + 100;
1154 std::string error = RunSetZoomExpectError(bogus_id, 3.14159); 1144 std::string error = RunSetZoomExpectError(bogus_id, 3.14159);
1155 EXPECT_TRUE(MatchPattern(error, keys::kTabNotFoundError)); 1145 EXPECT_TRUE(base::MatchPattern(error, keys::kTabNotFoundError));
1156 1146
1157 error = RunSetZoomSettingsExpectError(bogus_id, "manual", "per-tab"); 1147 error = RunSetZoomSettingsExpectError(bogus_id, "manual", "per-tab");
1158 EXPECT_TRUE(MatchPattern(error, keys::kTabNotFoundError)); 1148 EXPECT_TRUE(base::MatchPattern(error, keys::kTabNotFoundError));
1159 1149
1160 const char kNewTestTabArgs[] = "chrome://version"; 1150 const char kNewTestTabArgs[] = "chrome://version";
1161 params = GetOpenParams(kNewTestTabArgs); 1151 params = GetOpenParams(kNewTestTabArgs);
1162 web_contents = browser()->OpenURL(params); 1152 web_contents = browser()->OpenURL(params);
1163 tab_id = ExtensionTabUtil::GetTabId(web_contents); 1153 tab_id = ExtensionTabUtil::GetTabId(web_contents);
1164 1154
1165 // Test chrome.tabs.setZoom(). 1155 // Test chrome.tabs.setZoom().
1166 error = RunSetZoomExpectError(tab_id, 3.14159); 1156 error = RunSetZoomExpectError(tab_id, 3.14159);
1167 EXPECT_TRUE(MatchPattern(error, manifest_errors::kCannotAccessChromeUrl)); 1157 EXPECT_TRUE(
1158 base::MatchPattern(error, manifest_errors::kCannotAccessChromeUrl));
1168 1159
1169 // chrome.tabs.setZoomSettings(). 1160 // chrome.tabs.setZoomSettings().
1170 error = RunSetZoomSettingsExpectError(tab_id, "manual", "per-tab"); 1161 error = RunSetZoomSettingsExpectError(tab_id, "manual", "per-tab");
1171 EXPECT_TRUE(MatchPattern(error, manifest_errors::kCannotAccessChromeUrl)); 1162 EXPECT_TRUE(
1163 base::MatchPattern(error, manifest_errors::kCannotAccessChromeUrl));
1172 } 1164 }
1173 1165
1174 } // namespace extensions 1166 } // namespace extensions
OLDNEW
« no previous file with comments | « chrome/browser/extensions/api/tabs/tabs_api.cc ('k') | chrome/browser/extensions/extension_service_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698