| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 #include "base/strings/utf_string_conversions.h" | 5 #include "base/strings/utf_string_conversions.h" |
| 6 #include "chrome/browser/extensions/api/tabs/tabs_api.h" | 6 #include "chrome/browser/extensions/api/tabs/tabs_api.h" |
| 7 #include "chrome/browser/extensions/extension_function_test_utils.h" | 7 #include "chrome/browser/extensions/extension_function_test_utils.h" |
| 8 #include "chrome/browser/extensions/extension_service_test_base.h" | 8 #include "chrome/browser/extensions/extension_service_test_base.h" |
| 9 #include "chrome/browser/extensions/extension_tab_util.h" | 9 #include "chrome/browser/extensions/extension_tab_util.h" |
| 10 #include "chrome/browser/ui/browser.h" | 10 #include "chrome/browser/ui/browser.h" |
| (...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 100 // An extension without "tabs" permission will see none of the 3 tabs. | 100 // An extension without "tabs" permission will see none of the 3 tabs. |
| 101 scoped_refptr<const Extension> extension = test_util::CreateEmptyExtension(); | 101 scoped_refptr<const Extension> extension = test_util::CreateEmptyExtension(); |
| 102 scoped_ptr<base::ListValue> tabs_list_without_permission( | 102 scoped_ptr<base::ListValue> tabs_list_without_permission( |
| 103 RunTabsQueryFunction(browser(), extension.get(), kTitleAndURLQueryInfo)); | 103 RunTabsQueryFunction(browser(), extension.get(), kTitleAndURLQueryInfo)); |
| 104 ASSERT_TRUE(tabs_list_without_permission); | 104 ASSERT_TRUE(tabs_list_without_permission); |
| 105 EXPECT_EQ(0u, tabs_list_without_permission->GetSize()); | 105 EXPECT_EQ(0u, tabs_list_without_permission->GetSize()); |
| 106 | 106 |
| 107 // An extension with "tabs" permission however will see the third tab. | 107 // An extension with "tabs" permission however will see the third tab. |
| 108 scoped_refptr<const Extension> extension_with_permission = | 108 scoped_refptr<const Extension> extension_with_permission = |
| 109 ExtensionBuilder() | 109 ExtensionBuilder() |
| 110 .SetManifest(std::move( | 110 .SetManifest( |
| 111 DictionaryBuilder() | 111 DictionaryBuilder() |
| 112 .Set("name", "Extension with tabs permission") | 112 .Set("name", "Extension with tabs permission") |
| 113 .Set("version", "1.0") | 113 .Set("version", "1.0") |
| 114 .Set("manifest_version", 2) | 114 .Set("manifest_version", 2) |
| 115 .Set("permissions", std::move(ListBuilder().Append("tabs"))))) | 115 .Set("permissions", ListBuilder().Append("tabs").Build()) |
| 116 .Build()) |
| 116 .Build(); | 117 .Build(); |
| 117 scoped_ptr<base::ListValue> tabs_list_with_permission(RunTabsQueryFunction( | 118 scoped_ptr<base::ListValue> tabs_list_with_permission(RunTabsQueryFunction( |
| 118 browser(), extension_with_permission.get(), kTitleAndURLQueryInfo)); | 119 browser(), extension_with_permission.get(), kTitleAndURLQueryInfo)); |
| 119 ASSERT_TRUE(tabs_list_with_permission); | 120 ASSERT_TRUE(tabs_list_with_permission); |
| 120 ASSERT_EQ(1u, tabs_list_with_permission->GetSize()); | 121 ASSERT_EQ(1u, tabs_list_with_permission->GetSize()); |
| 121 | 122 |
| 122 const base::DictionaryValue* third_tab_info; | 123 const base::DictionaryValue* third_tab_info; |
| 123 ASSERT_TRUE(tabs_list_with_permission->GetDictionary(0, &third_tab_info)); | 124 ASSERT_TRUE(tabs_list_with_permission->GetDictionary(0, &third_tab_info)); |
| 124 int third_tab_id = -1; | 125 int third_tab_id = -1; |
| 125 ASSERT_TRUE(third_tab_info->GetInteger("id", &third_tab_id)); | 126 ASSERT_TRUE(third_tab_info->GetInteger("id", &third_tab_id)); |
| (...skipping 22 matching lines...) Expand all Loading... |
| 148 base::ASCIIToUTF16(tab_titles[i])); | 149 base::ASCIIToUTF16(tab_titles[i])); |
| 149 } | 150 } |
| 150 | 151 |
| 151 const char* kTitleAndURLQueryInfo = | 152 const char* kTitleAndURLQueryInfo = |
| 152 "[{\"title\": \"Sample title\", \"url\": \"*://www.google.com/*\"}]"; | 153 "[{\"title\": \"Sample title\", \"url\": \"*://www.google.com/*\"}]"; |
| 153 | 154 |
| 154 // An extension with "host" permission will only see the third tab. | 155 // An extension with "host" permission will only see the third tab. |
| 155 scoped_refptr<const Extension> extension_with_permission = | 156 scoped_refptr<const Extension> extension_with_permission = |
| 156 ExtensionBuilder() | 157 ExtensionBuilder() |
| 157 .SetManifest( | 158 .SetManifest( |
| 158 std::move(DictionaryBuilder() | 159 DictionaryBuilder() |
| 159 .Set("name", "Extension with tabs permission") | 160 .Set("name", "Extension with tabs permission") |
| 160 .Set("version", "1.0") | 161 .Set("version", "1.0") |
| 161 .Set("manifest_version", 2) | 162 .Set("manifest_version", 2) |
| 162 .Set("permissions", std::move(ListBuilder().Append( | 163 .Set("permissions", |
| 163 "*://www.google.com/*"))))) | 164 ListBuilder().Append("*://www.google.com/*").Build()) |
| 165 .Build()) |
| 164 .Build(); | 166 .Build(); |
| 165 | 167 |
| 166 { | 168 { |
| 167 scoped_ptr<base::ListValue> tabs_list_with_permission(RunTabsQueryFunction( | 169 scoped_ptr<base::ListValue> tabs_list_with_permission(RunTabsQueryFunction( |
| 168 browser(), extension_with_permission.get(), kTitleAndURLQueryInfo)); | 170 browser(), extension_with_permission.get(), kTitleAndURLQueryInfo)); |
| 169 ASSERT_TRUE(tabs_list_with_permission); | 171 ASSERT_TRUE(tabs_list_with_permission); |
| 170 ASSERT_EQ(1u, tabs_list_with_permission->GetSize()); | 172 ASSERT_EQ(1u, tabs_list_with_permission->GetSize()); |
| 171 | 173 |
| 172 const base::DictionaryValue* third_tab_info; | 174 const base::DictionaryValue* third_tab_info; |
| 173 ASSERT_TRUE(tabs_list_with_permission->GetDictionary(0, &third_tab_info)); | 175 ASSERT_TRUE(tabs_list_with_permission->GetDictionary(0, &third_tab_info)); |
| (...skipping 23 matching lines...) Expand all Loading... |
| 197 ASSERT_TRUE(first_tab_info->GetInteger("id", &first_tab_id)); | 199 ASSERT_TRUE(first_tab_info->GetInteger("id", &first_tab_id)); |
| 198 EXPECT_TRUE(ContainsValue(expected_tabs_ids, first_tab_id)); | 200 EXPECT_TRUE(ContainsValue(expected_tabs_ids, first_tab_id)); |
| 199 | 201 |
| 200 int third_tab_id = -1; | 202 int third_tab_id = -1; |
| 201 ASSERT_TRUE(third_tab_info->GetInteger("id", &third_tab_id)); | 203 ASSERT_TRUE(third_tab_info->GetInteger("id", &third_tab_id)); |
| 202 EXPECT_TRUE(ContainsValue(expected_tabs_ids, third_tab_id)); | 204 EXPECT_TRUE(ContainsValue(expected_tabs_ids, third_tab_id)); |
| 203 } | 205 } |
| 204 } | 206 } |
| 205 | 207 |
| 206 } // namespace extensions | 208 } // namespace extensions |
| OLD | NEW |