[Extensions Cleanup] Extract common GetPatternsAsStrings() method
Bothing ScriptingPermissionsModifier and PermissionsAPI unittests
convert URLPatternSets to strings for easy comparison (using gmock
utilities). Extract this functionality into a shared method in
permissions_test_util.
Bug: None
Change-Id: I54f681bc69d87c4ba20c8b2973159ef671f1bbe0
Reviewed-on: https://chromium-review.googlesource.com/c/1347100
Reviewed-by: Karan Bhatia <[email protected]>
Commit-Queue: Devlin <[email protected]>
Cr-Commit-Position: refs/heads/master@{#610230}
diff --git a/chrome/browser/extensions/permissions_test_util.cc b/chrome/browser/extensions/permissions_test_util.cc
index ca3fa79..4333f3f 100644
--- a/chrome/browser/extensions/permissions_test_util.cc
+++ b/chrome/browser/extensions/permissions_test_util.cc
@@ -12,6 +12,22 @@
namespace extensions {
namespace permissions_test_util {
+std::vector<std::string> GetPatternsAsStrings(const URLPatternSet& patterns) {
+ std::vector<std::string> pattern_strings;
+ pattern_strings.reserve(patterns.size());
+ for (const auto& pattern : patterns) {
+ // chrome://favicon/ is automatically added as a pattern when the extension
+ // requests access to <all_urls>, but isn't really a host pattern (it allows
+ // the extension to retrieve a favicon for a given URL). Just ignore it when
+ // generating host sets.
+ std::string pattern_string = pattern.GetAsString();
+ if (pattern_string != "chrome://favicon/*")
+ pattern_strings.push_back(pattern_string);
+ }
+
+ return pattern_strings;
+}
+
void GrantOptionalPermissionsAndWaitForCompletion(
content::BrowserContext* browser_context,
const Extension& extension,
@@ -54,5 +70,5 @@
run_loop.Run();
}
-} // namespace browsertest_util
+} // namespace permissions_test_util
} // namespace extensions