Commit d7fa81ee authored by Makoto Shimazu's avatar Makoto Shimazu Committed by Commit Bot

Use ServiceWorkerVersion::origin() for searching clients

Bug: 1095896
Change-Id: I5f38333e48d61d42239254cbe58176d1ba5b3829
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2440001
Commit-Queue: Makoto Shimazu <shimazu@chromium.org>
Commit-Queue: Matt Falkenhagen <falken@chromium.org>
Auto-Submit: Makoto Shimazu <shimazu@chromium.org>
Reviewed-by: default avatarMatt Falkenhagen <falken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#812583}
parent 5efa84e2
...@@ -427,18 +427,20 @@ void GetNonWindowClients( ...@@ -427,18 +427,20 @@ void GetNonWindowClients(
blink::mojom::ServiceWorkerHost::GetClientsCallback callback, blink::mojom::ServiceWorkerHost::GetClientsCallback callback,
std::vector<blink::mojom::ServiceWorkerClientInfoPtr> clients) { std::vector<blink::mojom::ServiceWorkerClientInfoPtr> clients) {
DCHECK_CURRENTLY_ON(ServiceWorkerContext::GetCoreThreadId()); DCHECK_CURRENTLY_ON(ServiceWorkerContext::GetCoreThreadId());
if (!options->include_uncontrolled) { if (options->include_uncontrolled) {
if (controller->context()) {
for (auto it = controller->context()->GetClientContainerHostIterator(
controller->origin().GetURL(),
false /* include_reserved_clients */,
false /* include_back_forward_cached_clients */);
!it->IsAtEnd(); it->Advance()) {
AddNonWindowClient(it->GetContainerHost(), options->client_type,
&clients);
}
}
} else {
for (const auto& controllee : controller->controllee_map()) for (const auto& controllee : controller->controllee_map())
AddNonWindowClient(controllee.second, options->client_type, &clients); AddNonWindowClient(controllee.second, options->client_type, &clients);
} else if (controller->context()) {
GURL origin = controller->script_url().GetOrigin();
for (auto it = controller->context()->GetClientContainerHostIterator(
origin, false /* include_reserved_clients */,
false /* include_back_forward_cached_clients */);
!it->IsAtEnd(); it->Advance()) {
AddNonWindowClient(it->GetContainerHost(), options->client_type,
&clients);
}
} }
DidGetClients(std::move(callback), std::move(clients)); DidGetClients(std::move(callback), std::move(clients));
} }
...@@ -468,17 +470,19 @@ void GetWindowClients( ...@@ -468,17 +470,19 @@ void GetWindowClients(
options->client_type == blink::mojom::ServiceWorkerClientType::kAll); options->client_type == blink::mojom::ServiceWorkerClientType::kAll);
std::vector<std::tuple<int, int, base::TimeTicks, std::string>> clients_info; std::vector<std::tuple<int, int, base::TimeTicks, std::string>> clients_info;
if (!options->include_uncontrolled) { if (options->include_uncontrolled) {
if (controller->context()) {
for (auto it = controller->context()->GetClientContainerHostIterator(
controller->origin().GetURL(),
false /* include_reserved_clients */,
false /* include_back_forward_cached_clients */);
!it->IsAtEnd(); it->Advance()) {
AddWindowClient(it->GetContainerHost(), &clients_info);
}
}
} else {
for (const auto& controllee : controller->controllee_map()) for (const auto& controllee : controller->controllee_map())
AddWindowClient(controllee.second, &clients_info); AddWindowClient(controllee.second, &clients_info);
} else if (controller->context()) {
GURL origin = controller->script_url().GetOrigin();
for (auto it = controller->context()->GetClientContainerHostIterator(
origin, false /* include_reserved_clients */,
false /* include_back_forward_cached_clients */);
!it->IsAtEnd(); it->Advance()) {
AddWindowClient(it->GetContainerHost(), &clients_info);
}
} }
if (clients_info.empty()) { if (clients_info.empty()) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment