| OLD | NEW |
| 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" |
| (...skipping 618 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 629 }; | 629 }; |
| 630 | 630 |
| 631 void ExtensionTabsZoomTest::SetUpOnMainThread() { | 631 void ExtensionTabsZoomTest::SetUpOnMainThread() { |
| 632 ExtensionTabsTest::SetUpOnMainThread(); | 632 ExtensionTabsTest::SetUpOnMainThread(); |
| 633 extension_ = utils::CreateEmptyExtension(); | 633 extension_ = utils::CreateEmptyExtension(); |
| 634 } | 634 } |
| 635 | 635 |
| 636 bool ExtensionTabsZoomTest::RunSetZoom(int tab_id, double zoom_factor) { | 636 bool ExtensionTabsZoomTest::RunSetZoom(int tab_id, double zoom_factor) { |
| 637 scoped_refptr<TabsSetZoomFunction> set_zoom_function( | 637 scoped_refptr<TabsSetZoomFunction> set_zoom_function( |
| 638 new TabsSetZoomFunction()); | 638 new TabsSetZoomFunction()); |
| 639 set_zoom_function->set_extension(extension_); | 639 set_zoom_function->set_extension(extension_.get()); |
| 640 set_zoom_function->set_has_callback(true); | 640 set_zoom_function->set_has_callback(true); |
| 641 | 641 |
| 642 return utils::RunFunction( | 642 return utils::RunFunction( |
| 643 set_zoom_function.get(), | 643 set_zoom_function.get(), |
| 644 base::StringPrintf("[%u, %lf]", tab_id, zoom_factor), | 644 base::StringPrintf("[%u, %lf]", tab_id, zoom_factor), |
| 645 browser(), | 645 browser(), |
| 646 extension_function_test_utils::NONE); | 646 extension_function_test_utils::NONE); |
| 647 } | 647 } |
| 648 | 648 |
| 649 testing::AssertionResult ExtensionTabsZoomTest::RunGetZoom( | 649 testing::AssertionResult ExtensionTabsZoomTest::RunGetZoom( |
| 650 int tab_id, | 650 int tab_id, |
| 651 double* zoom_factor) { | 651 double* zoom_factor) { |
| 652 scoped_refptr<TabsGetZoomFunction> get_zoom_function( | 652 scoped_refptr<TabsGetZoomFunction> get_zoom_function( |
| 653 new TabsGetZoomFunction()); | 653 new TabsGetZoomFunction()); |
| 654 get_zoom_function->set_extension(extension_); | 654 get_zoom_function->set_extension(extension_.get()); |
| 655 get_zoom_function->set_has_callback(true); | 655 get_zoom_function->set_has_callback(true); |
| 656 | 656 |
| 657 scoped_ptr<base::Value> get_zoom_result( | 657 scoped_ptr<base::Value> get_zoom_result( |
| 658 utils::RunFunctionAndReturnSingleResult( | 658 utils::RunFunctionAndReturnSingleResult( |
| 659 get_zoom_function.get(), | 659 get_zoom_function.get(), |
| 660 base::StringPrintf("[%u]", tab_id), | 660 base::StringPrintf("[%u]", tab_id), |
| 661 browser())); | 661 browser())); |
| 662 | 662 |
| 663 if (!get_zoom_result) | 663 if (!get_zoom_result) |
| 664 return testing::AssertionFailure() << "no result"; | 664 return testing::AssertionFailure() << "no result"; |
| 665 if (!get_zoom_result->GetAsDouble(zoom_factor)) | 665 if (!get_zoom_result->GetAsDouble(zoom_factor)) |
| 666 return testing::AssertionFailure() << "result was not a double"; | 666 return testing::AssertionFailure() << "result was not a double"; |
| 667 | 667 |
| 668 return testing::AssertionSuccess(); | 668 return testing::AssertionSuccess(); |
| 669 } | 669 } |
| 670 | 670 |
| 671 bool ExtensionTabsZoomTest::RunSetZoomSettings(int tab_id, | 671 bool ExtensionTabsZoomTest::RunSetZoomSettings(int tab_id, |
| 672 const char* mode, | 672 const char* mode, |
| 673 const char* scope) { | 673 const char* scope) { |
| 674 scoped_refptr<TabsSetZoomSettingsFunction> set_zoom_settings_function( | 674 scoped_refptr<TabsSetZoomSettingsFunction> set_zoom_settings_function( |
| 675 new TabsSetZoomSettingsFunction()); | 675 new TabsSetZoomSettingsFunction()); |
| 676 set_zoom_settings_function->set_extension(extension_); | 676 set_zoom_settings_function->set_extension(extension_.get()); |
| 677 | 677 |
| 678 std::string args; | 678 std::string args; |
| 679 if (scope) { | 679 if (scope) { |
| 680 args = base::StringPrintf("[%u, {\"mode\": \"%s\", \"scope\": \"%s\"}]", | 680 args = base::StringPrintf("[%u, {\"mode\": \"%s\", \"scope\": \"%s\"}]", |
| 681 tab_id, mode, scope); | 681 tab_id, mode, scope); |
| 682 } else { | 682 } else { |
| 683 args = base::StringPrintf("[%u, {\"mode\": \"%s\"}]", tab_id, mode); | 683 args = base::StringPrintf("[%u, {\"mode\": \"%s\"}]", tab_id, mode); |
| 684 } | 684 } |
| 685 | 685 |
| 686 return utils::RunFunction(set_zoom_settings_function.get(), | 686 return utils::RunFunction(set_zoom_settings_function.get(), |
| 687 args, | 687 args, |
| 688 browser(), | 688 browser(), |
| 689 extension_function_test_utils::NONE); | 689 extension_function_test_utils::NONE); |
| 690 } | 690 } |
| 691 | 691 |
| 692 testing::AssertionResult ExtensionTabsZoomTest::RunGetZoomSettings( | 692 testing::AssertionResult ExtensionTabsZoomTest::RunGetZoomSettings( |
| 693 int tab_id, | 693 int tab_id, |
| 694 std::string* mode, | 694 std::string* mode, |
| 695 std::string* scope) { | 695 std::string* scope) { |
| 696 DCHECK(mode); | 696 DCHECK(mode); |
| 697 DCHECK(scope); | 697 DCHECK(scope); |
| 698 scoped_refptr<TabsGetZoomSettingsFunction> get_zoom_settings_function( | 698 scoped_refptr<TabsGetZoomSettingsFunction> get_zoom_settings_function( |
| 699 new TabsGetZoomSettingsFunction()); | 699 new TabsGetZoomSettingsFunction()); |
| 700 get_zoom_settings_function->set_extension(extension_); | 700 get_zoom_settings_function->set_extension(extension_.get()); |
| 701 get_zoom_settings_function->set_has_callback(true); | 701 get_zoom_settings_function->set_has_callback(true); |
| 702 | 702 |
| 703 scoped_ptr<base::DictionaryValue> get_zoom_settings_result( | 703 scoped_ptr<base::DictionaryValue> get_zoom_settings_result( |
| 704 utils::ToDictionary(utils::RunFunctionAndReturnSingleResult( | 704 utils::ToDictionary(utils::RunFunctionAndReturnSingleResult( |
| 705 get_zoom_settings_function.get(), | 705 get_zoom_settings_function.get(), |
| 706 base::StringPrintf("[%u]", tab_id), | 706 base::StringPrintf("[%u]", tab_id), |
| 707 browser()))); | 707 browser()))); |
| 708 | 708 |
| 709 if (!get_zoom_settings_result) | 709 if (!get_zoom_settings_result) |
| 710 return testing::AssertionFailure() << "no result"; | 710 return testing::AssertionFailure() << "no result"; |
| 711 | 711 |
| 712 *mode = utils::GetString(get_zoom_settings_result.get(), "mode"); | 712 *mode = utils::GetString(get_zoom_settings_result.get(), "mode"); |
| 713 *scope = utils::GetString(get_zoom_settings_result.get(), "scope"); | 713 *scope = utils::GetString(get_zoom_settings_result.get(), "scope"); |
| 714 | 714 |
| 715 return testing::AssertionSuccess(); | 715 return testing::AssertionSuccess(); |
| 716 } | 716 } |
| 717 | 717 |
| 718 std::string ExtensionTabsZoomTest::RunSetZoomExpectError(int tab_id, | 718 std::string ExtensionTabsZoomTest::RunSetZoomExpectError(int tab_id, |
| 719 double zoom_factor) { | 719 double zoom_factor) { |
| 720 scoped_refptr<TabsSetZoomFunction> set_zoom_function( | 720 scoped_refptr<TabsSetZoomFunction> set_zoom_function( |
| 721 new TabsSetZoomFunction()); | 721 new TabsSetZoomFunction()); |
| 722 set_zoom_function->set_extension(extension_); | 722 set_zoom_function->set_extension(extension_.get()); |
| 723 set_zoom_function->set_has_callback(true); | 723 set_zoom_function->set_has_callback(true); |
| 724 | 724 |
| 725 return utils::RunFunctionAndReturnError( | 725 return utils::RunFunctionAndReturnError( |
| 726 set_zoom_function.get(), | 726 set_zoom_function.get(), |
| 727 base::StringPrintf("[%u, %lf]", tab_id, zoom_factor), | 727 base::StringPrintf("[%u, %lf]", tab_id, zoom_factor), |
| 728 browser()); | 728 browser()); |
| 729 } | 729 } |
| 730 | 730 |
| 731 std::string ExtensionTabsZoomTest::RunSetZoomSettingsExpectError( | 731 std::string ExtensionTabsZoomTest::RunSetZoomSettingsExpectError( |
| 732 int tab_id, | 732 int tab_id, |
| 733 const char* mode, | 733 const char* mode, |
| 734 const char* scope) { | 734 const char* scope) { |
| 735 scoped_refptr<TabsSetZoomSettingsFunction> set_zoom_settings_function( | 735 scoped_refptr<TabsSetZoomSettingsFunction> set_zoom_settings_function( |
| 736 new TabsSetZoomSettingsFunction()); | 736 new TabsSetZoomSettingsFunction()); |
| 737 set_zoom_settings_function->set_extension(extension_); | 737 set_zoom_settings_function->set_extension(extension_.get()); |
| 738 | 738 |
| 739 return utils::RunFunctionAndReturnError(set_zoom_settings_function.get(), | 739 return utils::RunFunctionAndReturnError(set_zoom_settings_function.get(), |
| 740 base::StringPrintf( | 740 base::StringPrintf( |
| 741 "[%u, {\"mode\": \"%s\", " | 741 "[%u, {\"mode\": \"%s\", " |
| 742 "\"scope\": \"%s\"}]", | 742 "\"scope\": \"%s\"}]", |
| 743 tab_id, | 743 tab_id, |
| 744 mode, | 744 mode, |
| 745 scope), | 745 scope), |
| 746 browser()); | 746 browser()); |
| 747 } | 747 } |
| (...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 904 // Test chrome.tabs.setZoom(). | 904 // Test chrome.tabs.setZoom(). |
| 905 error = RunSetZoomExpectError(tab_id, 3.14159); | 905 error = RunSetZoomExpectError(tab_id, 3.14159); |
| 906 EXPECT_TRUE(MatchPattern(error, manifest_errors::kCannotAccessChromeUrl)); | 906 EXPECT_TRUE(MatchPattern(error, manifest_errors::kCannotAccessChromeUrl)); |
| 907 | 907 |
| 908 // chrome.tabs.setZoomSettings(). | 908 // chrome.tabs.setZoomSettings(). |
| 909 error = RunSetZoomSettingsExpectError(tab_id, "manual", "per-tab"); | 909 error = RunSetZoomSettingsExpectError(tab_id, "manual", "per-tab"); |
| 910 EXPECT_TRUE(MatchPattern(error, manifest_errors::kCannotAccessChromeUrl)); | 910 EXPECT_TRUE(MatchPattern(error, manifest_errors::kCannotAccessChromeUrl)); |
| 911 } | 911 } |
| 912 | 912 |
| 913 } // namespace extensions | 913 } // namespace extensions |
| OLD | NEW |