| Index: chrome/browser/extensions/api/tabs/tabs_test.cc
|
| diff --git a/chrome/browser/extensions/api/tabs/tabs_test.cc b/chrome/browser/extensions/api/tabs/tabs_test.cc
|
| index 1f74f520cbc5dd72ecb4b8b06d699bdd491695ec..dfe8f62a43d296a98cb3bd4e74c0464b05b36f39 100644
|
| --- a/chrome/browser/extensions/api/tabs/tabs_test.cc
|
| +++ b/chrome/browser/extensions/api/tabs/tabs_test.cc
|
| @@ -37,6 +37,8 @@ IN_PROC_BROWSER_TEST_F(ExtensionTabsTest, GetWindow) {
|
|
|
| // Invalid window ID error.
|
| scoped_refptr<GetWindowFunction> function = new GetWindowFunction();
|
| + scoped_refptr<extensions::Extension> extension(utils::CreateEmptyExtension());
|
| + function->set_extension(extension.get());
|
| EXPECT_TRUE(MatchPattern(
|
| utils::RunFunctionAndReturnError(
|
| function.get(),
|
| @@ -52,6 +54,7 @@ IN_PROC_BROWSER_TEST_F(ExtensionTabsTest, GetWindow) {
|
| bounds = browser()->window()->GetBounds();
|
|
|
| function = new GetWindowFunction();
|
| + function->set_extension(extension.get());
|
| scoped_ptr<base::DictionaryValue> result(utils::ToDictionary(
|
| utils::RunFunctionAndReturnSingleResult(
|
| function.get(),
|
| @@ -67,6 +70,7 @@ IN_PROC_BROWSER_TEST_F(ExtensionTabsTest, GetWindow) {
|
|
|
| // With "populate" enabled.
|
| function = new GetWindowFunction();
|
| + function->set_extension(extension.get());
|
| result.reset(utils::ToDictionary(
|
| utils::RunFunctionAndReturnSingleResult(
|
| function.get(),
|
| @@ -91,6 +95,7 @@ IN_PROC_BROWSER_TEST_F(ExtensionTabsTest, GetWindow) {
|
| Browser* popup_browser = new Browser(
|
| Browser::CreateParams(Browser::TYPE_POPUP, browser()->profile()));
|
| function = new GetWindowFunction();
|
| + function->set_extension(extension.get());
|
| result.reset(utils::ToDictionary(
|
| utils::RunFunctionAndReturnSingleResult(
|
| function.get(),
|
| @@ -103,6 +108,7 @@ IN_PROC_BROWSER_TEST_F(ExtensionTabsTest, GetWindow) {
|
| Browser* panel_browser = new Browser(
|
| Browser::CreateParams(Browser::TYPE_PANEL, browser()->profile()));
|
| function = new GetWindowFunction();
|
| + function->set_extension(extension.get());
|
| result.reset(utils::ToDictionary(
|
| utils::RunFunctionAndReturnSingleResult(
|
| function.get(),
|
| @@ -117,6 +123,7 @@ IN_PROC_BROWSER_TEST_F(ExtensionTabsTest, GetWindow) {
|
|
|
| // Without "include_incognito".
|
| function = new GetWindowFunction();
|
| + function->set_extension(extension.get());
|
| EXPECT_TRUE(MatchPattern(
|
| utils::RunFunctionAndReturnError(
|
| function.get(),
|
| @@ -126,6 +133,7 @@ IN_PROC_BROWSER_TEST_F(ExtensionTabsTest, GetWindow) {
|
|
|
| // With "include_incognito".
|
| function = new GetWindowFunction();
|
| + function->set_extension(extension.get());
|
| result.reset(utils::ToDictionary(
|
| utils::RunFunctionAndReturnSingleResult(
|
| function.get(),
|
| @@ -143,6 +151,8 @@ IN_PROC_BROWSER_TEST_F(ExtensionTabsTest, GetCurrentWindow) {
|
| // Get the current window using new_browser.
|
| scoped_refptr<GetCurrentWindowFunction> function =
|
| new GetCurrentWindowFunction();
|
| + scoped_refptr<extensions::Extension> extension(utils::CreateEmptyExtension());
|
| + function->set_extension(extension.get());
|
| scoped_ptr<base::DictionaryValue> result(utils::ToDictionary(
|
| utils::RunFunctionAndReturnSingleResult(function.get(),
|
| "[]",
|
| @@ -156,6 +166,7 @@ IN_PROC_BROWSER_TEST_F(ExtensionTabsTest, GetCurrentWindow) {
|
|
|
| // Get the current window using the old window and make the tabs populated.
|
| function = new GetCurrentWindowFunction();
|
| + function->set_extension(extension.get());
|
| result.reset(utils::ToDictionary(
|
| utils::RunFunctionAndReturnSingleResult(function.get(),
|
| "[{\"populate\": true}]",
|
| @@ -176,6 +187,8 @@ IN_PROC_BROWSER_TEST_F(ExtensionTabsTest, GetLastFocusedWindow) {
|
|
|
| scoped_refptr<GetLastFocusedWindowFunction> function =
|
| new GetLastFocusedWindowFunction();
|
| + scoped_refptr<extensions::Extension> extension(utils::CreateEmptyExtension());
|
| + function->set_extension(extension.get());
|
| scoped_ptr<base::DictionaryValue> result(utils::ToDictionary(
|
| utils::RunFunctionAndReturnSingleResult(function.get(),
|
| "[]",
|
| @@ -188,6 +201,7 @@ IN_PROC_BROWSER_TEST_F(ExtensionTabsTest, GetLastFocusedWindow) {
|
| EXPECT_FALSE(result.get()->GetList(keys::kTabsKey, &tabs));
|
|
|
| function = new GetLastFocusedWindowFunction();
|
| + function->set_extension(extension.get());
|
| result.reset(utils::ToDictionary(
|
| utils::RunFunctionAndReturnSingleResult(function.get(),
|
| "[{\"populate\": true}]",
|
| @@ -212,6 +226,8 @@ IN_PROC_BROWSER_TEST_F(ExtensionTabsTest, GetAllWindows) {
|
| }
|
|
|
| scoped_refptr<GetAllWindowsFunction> function = new GetAllWindowsFunction();
|
| + scoped_refptr<extensions::Extension> extension(utils::CreateEmptyExtension());
|
| + function->set_extension(extension.get());
|
| scoped_ptr<base::ListValue> result(utils::ToList(
|
| utils::RunFunctionAndReturnSingleResult(function.get(),
|
| "[]",
|
| @@ -233,6 +249,7 @@ IN_PROC_BROWSER_TEST_F(ExtensionTabsTest, GetAllWindows) {
|
|
|
| result_ids.clear();
|
| function = new GetAllWindowsFunction();
|
| + function->set_extension(extension.get());
|
| result.reset(utils::ToList(
|
| utils::RunFunctionAndReturnSingleResult(function.get(),
|
| "[{\"populate\": true}]",
|
| @@ -263,11 +280,14 @@ IN_PROC_BROWSER_TEST_F(ExtensionTabsTest, UpdateNoPermissions) {
|
| // Without a callback the function will not generate a result.
|
| update_tab_function->set_has_callback(true);
|
|
|
| - scoped_ptr<base::Value> result(utils::RunFunctionAndReturnSingleResult(
|
| + scoped_ptr<base::DictionaryValue> result(utils::ToDictionary(
|
| + utils::RunFunctionAndReturnSingleResult(
|
| update_tab_function.get(),
|
| - "[null, {\"url\": \"neutrinos\"}]",
|
| - browser()));
|
| - EXPECT_EQ(base::Value::TYPE_NULL, result->GetType());
|
| + "[null, {\"url\": \"about:blank\", \"pinned\": true}]",
|
| + browser())));
|
| + // The url is stripped since the extension does not have tab permissions.
|
| + EXPECT_FALSE(result->HasKey("url"));
|
| + EXPECT_TRUE(utils::GetBoolean(result.get(), "pinned"));
|
| }
|
|
|
| IN_PROC_BROWSER_TEST_F(ExtensionTabsTest,
|
| @@ -278,7 +298,9 @@ IN_PROC_BROWSER_TEST_F(ExtensionTabsTest,
|
| IncognitoModePrefs::SetAvailability(browser()->profile()->GetPrefs(),
|
| IncognitoModePrefs::FORCED);
|
| // Run without an explicit "incognito" param.
|
| - scoped_refptr<CreateWindowFunction> function = new CreateWindowFunction();
|
| + scoped_refptr<CreateWindowFunction> function(new CreateWindowFunction());
|
| + scoped_refptr<extensions::Extension> extension(utils::CreateEmptyExtension());
|
| + function->set_extension(extension.get());
|
| scoped_ptr<base::DictionaryValue> result(utils::ToDictionary(
|
| utils::RunFunctionAndReturnSingleResult(
|
| function.get(),
|
| @@ -296,6 +318,7 @@ IN_PROC_BROWSER_TEST_F(ExtensionTabsTest,
|
| Browser* incognito_browser = CreateIncognitoBrowser();
|
| // Run without an explicit "incognito" param.
|
| function = new CreateWindowFunction();
|
| + function->set_extension(extension.get());
|
| result.reset(utils::ToDictionary(
|
| utils::RunFunctionAndReturnSingleResult(
|
| function.get(),
|
| @@ -317,6 +340,8 @@ IN_PROC_BROWSER_TEST_F(ExtensionTabsTest,
|
| IncognitoModePrefs::FORCED);
|
| // Run without an explicit "incognito" param.
|
| scoped_refptr<CreateWindowFunction> function = new CreateWindowFunction();
|
| + scoped_refptr<extensions::Extension> extension(utils::CreateEmptyExtension());
|
| + function->set_extension(extension.get());
|
| scoped_ptr<base::DictionaryValue> result(utils::ToDictionary(
|
| utils::RunFunctionAndReturnSingleResult(function.get(),
|
| kEmptyArgs,
|
| @@ -333,6 +358,7 @@ IN_PROC_BROWSER_TEST_F(ExtensionTabsTest,
|
| Browser* incognito_browser = CreateIncognitoBrowser();
|
| // Run without an explicit "incognito" param.
|
| function = new CreateWindowFunction();
|
| + function->set_extension(extension.get());
|
| result.reset(utils::ToDictionary(
|
| utils::RunFunctionAndReturnSingleResult(function.get(),
|
| kEmptyArgs,
|
| @@ -355,6 +381,8 @@ IN_PROC_BROWSER_TEST_F(ExtensionTabsTest,
|
|
|
| // Run with an explicit "incognito" param.
|
| scoped_refptr<CreateWindowFunction> function = new CreateWindowFunction();
|
| + scoped_refptr<extensions::Extension> extension(utils::CreateEmptyExtension());
|
| + function->set_extension(extension.get());
|
| EXPECT_TRUE(MatchPattern(
|
| utils::RunFunctionAndReturnError(function.get(),
|
| kArgsWithExplicitIncognitoParam,
|
| @@ -365,6 +393,7 @@ IN_PROC_BROWSER_TEST_F(ExtensionTabsTest,
|
| Browser* incognito_browser = CreateIncognitoBrowser();
|
| // Run with an explicit "incognito" param.
|
| function = new CreateWindowFunction();
|
| + function->set_extension(extension.get());
|
| EXPECT_TRUE(MatchPattern(
|
| utils::RunFunctionAndReturnError(function.get(),
|
| kArgsWithExplicitIncognitoParam,
|
| @@ -383,6 +412,8 @@ IN_PROC_BROWSER_TEST_F(ExtensionTabsTest,
|
| IncognitoModePrefs::DISABLED);
|
| // Run in normal window.
|
| scoped_refptr<CreateWindowFunction> function = new CreateWindowFunction();
|
| + scoped_refptr<extensions::Extension> extension(utils::CreateEmptyExtension());
|
| + function->set_extension(extension.get());
|
| EXPECT_TRUE(MatchPattern(
|
| utils::RunFunctionAndReturnError(function.get(),
|
| kArgs,
|
| @@ -391,6 +422,7 @@ IN_PROC_BROWSER_TEST_F(ExtensionTabsTest,
|
|
|
| // Run in incognito window.
|
| function = new CreateWindowFunction();
|
| + function->set_extension(extension.get());
|
| EXPECT_TRUE(MatchPattern(
|
| utils::RunFunctionAndReturnError(function.get(),
|
| kArgs,
|
| @@ -409,6 +441,7 @@ IN_PROC_BROWSER_TEST_F(ExtensionTabsTest, QueryCurrentWindowTabs) {
|
|
|
| // Get tabs in the 'current' window called from non-focused browser.
|
| scoped_refptr<QueryTabsFunction> function = new QueryTabsFunction();
|
| + function->set_extension(utils::CreateEmptyExtension().get());
|
| scoped_ptr<base::ListValue> result(utils::ToList(
|
| utils::RunFunctionAndReturnSingleResult(function.get(),
|
| "[{\"currentWindow\":true}]",
|
| @@ -425,6 +458,7 @@ IN_PROC_BROWSER_TEST_F(ExtensionTabsTest, QueryCurrentWindowTabs) {
|
|
|
| // Get tabs NOT in the 'current' window called from non-focused browser.
|
| function = new QueryTabsFunction();
|
| + function->set_extension(utils::CreateEmptyExtension().get());
|
| result.reset(utils::ToList(
|
| utils::RunFunctionAndReturnSingleResult(function.get(),
|
| "[{\"currentWindow\":false}]",
|
| @@ -506,6 +540,7 @@ IN_PROC_BROWSER_TEST_F(ExtensionTabsTest, DontCreateTabInClosingPopupWindow) {
|
| chrome::CloseWindow(popup_browser);
|
|
|
| scoped_refptr<CreateTabFunction> create_tab_function(new CreateTabFunction());
|
| + create_tab_function->set_extension(utils::CreateEmptyExtension().get());
|
| // Without a callback the function will not generate a result.
|
| create_tab_function->set_has_callback(true);
|
|
|
| @@ -527,6 +562,8 @@ IN_PROC_BROWSER_TEST_F(ExtensionTabsTest, InvalidUpdateWindowState) {
|
| static const char kArgsMinimizedWithFocus[] =
|
| "[%u, {\"state\": \"minimized\", \"focused\": true}]";
|
| scoped_refptr<UpdateWindowFunction> function = new UpdateWindowFunction();
|
| + scoped_refptr<extensions::Extension> extension(utils::CreateEmptyExtension());
|
| + function->set_extension(extension.get());
|
| EXPECT_TRUE(MatchPattern(
|
| utils::RunFunctionAndReturnError(
|
| function.get(),
|
| @@ -537,6 +574,7 @@ IN_PROC_BROWSER_TEST_F(ExtensionTabsTest, InvalidUpdateWindowState) {
|
| static const char kArgsMaximizedWithoutFocus[] =
|
| "[%u, {\"state\": \"maximized\", \"focused\": false}]";
|
| function = new UpdateWindowFunction();
|
| + function->set_extension(extension.get());
|
| EXPECT_TRUE(MatchPattern(
|
| utils::RunFunctionAndReturnError(
|
| function.get(),
|
| @@ -547,6 +585,7 @@ IN_PROC_BROWSER_TEST_F(ExtensionTabsTest, InvalidUpdateWindowState) {
|
| static const char kArgsMinimizedWithBounds[] =
|
| "[%u, {\"state\": \"minimized\", \"width\": 500}]";
|
| function = new UpdateWindowFunction();
|
| + function->set_extension(extension.get());
|
| EXPECT_TRUE(MatchPattern(
|
| utils::RunFunctionAndReturnError(
|
| function.get(),
|
| @@ -557,6 +596,7 @@ IN_PROC_BROWSER_TEST_F(ExtensionTabsTest, InvalidUpdateWindowState) {
|
| static const char kArgsMaximizedWithBounds[] =
|
| "[%u, {\"state\": \"maximized\", \"width\": 500}]";
|
| function = new UpdateWindowFunction();
|
| + function->set_extension(extension.get());
|
| EXPECT_TRUE(MatchPattern(
|
| utils::RunFunctionAndReturnError(
|
| function.get(),
|
|
|