[Extensions] Make PermissionSet ctor take URLPatternSet by value
Make the PermissionSet constructor accept URLPatternSet parameters by
value, enabling std::move()ing the parameters rather than necessitating
a copy. Update call sites that are easily modified.
Bug: 908536
Change-Id: I80ce85497b3272285a5b2a2299f8dc153530df51
Reviewed-on: https://chromium-review.googlesource.com/c/1383537
Reviewed-by: Mustafa Emre Acer <[email protected]>
Reviewed-by: Istiaque Ahmed <[email protected]>
Commit-Queue: Devlin <[email protected]>
Cr-Commit-Position: refs/heads/master@{#635210}
diff --git a/chrome/browser/extensions/permissions_updater.cc b/chrome/browser/extensions/permissions_updater.cc
index 7043b03..02c9dcb 100644
--- a/chrome/browser/extensions/permissions_updater.cc
+++ b/chrome/browser/extensions/permissions_updater.cc
@@ -360,7 +360,7 @@
active_permissions_to_remove->apis().Clone(),
active_permissions_to_remove->manifest_permissions().Clone(),
URLPatternSet(removable_explicit_hosts),
- active_permissions_to_remove->scriptable_hosts());
+ active_permissions_to_remove->scriptable_hosts().Clone());
}
CHECK(extension.permissions_data()->active_permissions().Contains(
@@ -537,7 +537,8 @@
std::unique_ptr<const PermissionSet> new_withheld =
PermissionSet::CreateDifference(
PermissionSet(APIPermissionSet(), ManifestPermissionSet(),
- required.explicit_hosts(), required.scriptable_hosts()),
+ required.explicit_hosts().Clone(),
+ required.scriptable_hosts().Clone()),
*new_active);
extension->permissions_data()->SetPermissions(std::move(new_active),