Commit ba5eedd3 authored by sebsg's avatar sebsg Committed by Commit Bot

Revert "devtools: Prepare for service worker UI thread core."

This reverts commit b9e16d2b.

Reason for revert: Speculative revert for

Unexpected Failures:
* http/tests/devtools/a11y-axe-core/elements/event-listeners-a11y-test.js
* http/tests/devtools/a11y-axe-core/security/security-origin-a11y-test.js
* http/tests/devtools/a11y-axe-core/sources/sources-editor-pane-a11y-test.js

See builds
https://ci.chromium.org/p/chromium/builders/ci/WebKit%20Linux%20Leak/3809
to
https://ci.chromium.org/p/chromium/builders/ci/WebKit%20Linux%20Leak/3842

Original change's description:
> devtools: Prepare for service worker UI thread core.
> 
> The thread ServiceWorkerContextCore lives on (the "core thread") will move from
> the IO thread to the UI thread when the ServiceWorkerOnUI feature is enabled.
> 
> This CL makes DevTools aware of the core thread instead of assuming the IO
> thread. This makes https/tests/devtools web_tests pass when the feature is
> enabled.
> 
> Bug: 824858
> Change-Id: I20e38f50998f4b0cd9d8b8cc43526665d92dbf94
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1775655
> Commit-Queue: Matt Falkenhagen <falken@chromium.org>
> Reviewed-by: Andrey Kosyakov <caseq@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#691689}

TBR=falken@chromium.org,caseq@chromium.org

Change-Id: I2d49a0fe27f033a7b8bd74e3a50fd9d78a4f1f58
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 824858
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1778403Reviewed-by: default avatarsebsg <sebsg@chromium.org>
Commit-Queue: sebsg <sebsg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#692059}
parent c817c3ef
...@@ -218,7 +218,7 @@ void DevToolsBackgroundServicesContextImpl::ClearLoggedBackgroundServiceEvents( ...@@ -218,7 +218,7 @@ void DevToolsBackgroundServicesContextImpl::ClearLoggedBackgroundServiceEvents(
void DevToolsBackgroundServicesContextImpl:: void DevToolsBackgroundServicesContextImpl::
ClearLoggedBackgroundServiceEventsOnCoreThread( ClearLoggedBackgroundServiceEventsOnCoreThread(
devtools::proto::BackgroundService service) { devtools::proto::BackgroundService service) {
DCHECK_CURRENTLY_ON(ServiceWorkerContext::GetCoreThreadId()); DCHECK_CURRENTLY_ON(BrowserThread::IO);
service_worker_context_->ClearUserDataForAllRegistrationsByKeyPrefix( service_worker_context_->ClearUserDataForAllRegistrationsByKeyPrefix(
CreateEntryKeyPrefix(service), base::BindOnce(&DidClearServiceEvents)); CreateEntryKeyPrefix(service), base::BindOnce(&DidClearServiceEvents));
......
...@@ -28,7 +28,6 @@ ...@@ -28,7 +28,6 @@
#include "content/public/browser/browser_thread.h" #include "content/public/browser/browser_thread.h"
#include "content/public/browser/devtools_agent_host.h" #include "content/public/browser/devtools_agent_host.h"
#include "content/public/browser/render_process_host.h" #include "content/public/browser/render_process_host.h"
#include "content/public/browser/service_worker_context.h"
#include "content/public/browser/storage_partition.h" #include "content/public/browser/storage_partition.h"
#include "content/public/browser/web_contents.h" #include "content/public/browser/web_contents.h"
#include "third_party/blink/public/mojom/push_messaging/push_messaging_status.mojom.h" #include "third_party/blink/public/mojom/push_messaging/push_messaging_status.mojom.h"
...@@ -79,23 +78,22 @@ const std::string GetVersionStatusString( ...@@ -79,23 +78,22 @@ const std::string GetVersionStatusString(
return std::string(); return std::string();
} }
void StopServiceWorkerOnCoreThread( void StopServiceWorkerOnIO(scoped_refptr<ServiceWorkerContextWrapper> context,
scoped_refptr<ServiceWorkerContextWrapper> context, int64_t version_id) {
int64_t version_id) {
if (content::ServiceWorkerVersion* version = if (content::ServiceWorkerVersion* version =
context->GetLiveVersion(version_id)) { context->GetLiveVersion(version_id)) {
version->StopWorker(base::DoNothing()); version->StopWorker(base::DoNothing());
} }
} }
void GetDevToolsRouteInfoOnCoreThread( void GetDevToolsRouteInfoOnIO(
scoped_refptr<ServiceWorkerContextWrapper> context, scoped_refptr<ServiceWorkerContextWrapper> context,
int64_t version_id, int64_t version_id,
const base::Callback<void(int, int)>& callback) { const base::Callback<void(int, int)>& callback) {
if (content::ServiceWorkerVersion* version = if (content::ServiceWorkerVersion* version =
context->GetLiveVersion(version_id)) { context->GetLiveVersion(version_id)) {
RunOrPostTaskOnThread( base::PostTask(
FROM_HERE, BrowserThread::UI, FROM_HERE, {BrowserThread::UI},
base::BindOnce( base::BindOnce(
callback, version->embedded_worker()->process_id(), callback, version->embedded_worker()->process_id(),
version->embedded_worker()->worker_devtools_agent_route_id())); version->embedded_worker()->worker_devtools_agent_route_id()));
...@@ -114,7 +112,7 @@ Response CreateInvalidVersionIdErrorResponse() { ...@@ -114,7 +112,7 @@ Response CreateInvalidVersionIdErrorResponse() {
return Response::InvalidParams("Invalid version ID"); return Response::InvalidParams("Invalid version ID");
} }
void DidFindRegistrationForDispatchSyncEventOnCoreThread( void DidFindRegistrationForDispatchSyncEventOnIO(
scoped_refptr<BackgroundSyncContextImpl> sync_context, scoped_refptr<BackgroundSyncContextImpl> sync_context,
const std::string& tag, const std::string& tag,
bool last_chance, bool last_chance,
...@@ -132,7 +130,7 @@ void DidFindRegistrationForDispatchSyncEventOnCoreThread( ...@@ -132,7 +130,7 @@ void DidFindRegistrationForDispatchSyncEventOnCoreThread(
tag, std::move(version), last_chance, base::DoNothing()); tag, std::move(version), last_chance, base::DoNothing());
} }
void DidFindRegistrationForDispatchPeriodicSyncEventOnCoreThread( void DidFindRegistrationForDispatchPeriodicSyncEventOnIO(
scoped_refptr<BackgroundSyncContextImpl> sync_context, scoped_refptr<BackgroundSyncContextImpl> sync_context,
const std::string& tag, const std::string& tag,
blink::ServiceWorkerStatusCode status, blink::ServiceWorkerStatusCode status,
...@@ -151,7 +149,7 @@ void DidFindRegistrationForDispatchPeriodicSyncEventOnCoreThread( ...@@ -151,7 +149,7 @@ void DidFindRegistrationForDispatchPeriodicSyncEventOnCoreThread(
tag, std::move(version), base::DoNothing()); tag, std::move(version), base::DoNothing());
} }
void DispatchSyncEventOnCoreThread( void DispatchSyncEventOnIO(
scoped_refptr<ServiceWorkerContextWrapper> context, scoped_refptr<ServiceWorkerContextWrapper> context,
scoped_refptr<BackgroundSyncContextImpl> sync_context, scoped_refptr<BackgroundSyncContextImpl> sync_context,
const GURL& origin, const GURL& origin,
...@@ -160,11 +158,11 @@ void DispatchSyncEventOnCoreThread( ...@@ -160,11 +158,11 @@ void DispatchSyncEventOnCoreThread(
bool last_chance) { bool last_chance) {
context->FindReadyRegistrationForId( context->FindReadyRegistrationForId(
registration_id, origin, registration_id, origin,
base::BindOnce(&DidFindRegistrationForDispatchSyncEventOnCoreThread, base::BindOnce(&DidFindRegistrationForDispatchSyncEventOnIO, sync_context,
sync_context, tag, last_chance)); tag, last_chance));
} }
void DispatchPeriodicSyncEventOnCoreThread( void DispatchPeriodicSyncEventOnIO(
scoped_refptr<ServiceWorkerContextWrapper> context, scoped_refptr<ServiceWorkerContextWrapper> context,
scoped_refptr<BackgroundSyncContextImpl> sync_context, scoped_refptr<BackgroundSyncContextImpl> sync_context,
const GURL& origin, const GURL& origin,
...@@ -172,9 +170,8 @@ void DispatchPeriodicSyncEventOnCoreThread( ...@@ -172,9 +170,8 @@ void DispatchPeriodicSyncEventOnCoreThread(
const std::string& tag) { const std::string& tag) {
context->FindReadyRegistrationForId( context->FindReadyRegistrationForId(
registration_id, origin, registration_id, origin,
base::BindOnce( base::BindOnce(&DidFindRegistrationForDispatchPeriodicSyncEventOnIO,
&DidFindRegistrationForDispatchPeriodicSyncEventOnCoreThread, sync_context, tag));
sync_context, tag));
} }
} // namespace } // namespace
...@@ -277,9 +274,8 @@ Response ServiceWorkerHandler::StopWorker(const std::string& version_id) { ...@@ -277,9 +274,8 @@ Response ServiceWorkerHandler::StopWorker(const std::string& version_id) {
int64_t id = 0; int64_t id = 0;
if (!base::StringToInt64(version_id, &id)) if (!base::StringToInt64(version_id, &id))
return CreateInvalidVersionIdErrorResponse(); return CreateInvalidVersionIdErrorResponse();
RunOrPostTaskOnThread( base::PostTask(FROM_HERE, {BrowserThread::IO},
FROM_HERE, ServiceWorkerContext::GetCoreThreadId(), base::BindOnce(&StopServiceWorkerOnIO, context_, id));
base::BindOnce(&StopServiceWorkerOnCoreThread, context_, id));
return Response::OK(); return Response::OK();
} }
...@@ -316,9 +312,9 @@ Response ServiceWorkerHandler::InspectWorker(const std::string& version_id) { ...@@ -316,9 +312,9 @@ Response ServiceWorkerHandler::InspectWorker(const std::string& version_id) {
int64_t id = blink::mojom::kInvalidServiceWorkerVersionId; int64_t id = blink::mojom::kInvalidServiceWorkerVersionId;
if (!base::StringToInt64(version_id, &id)) if (!base::StringToInt64(version_id, &id))
return CreateInvalidVersionIdErrorResponse(); return CreateInvalidVersionIdErrorResponse();
RunOrPostTaskOnThread( base::PostTask(
FROM_HERE, ServiceWorkerContext::GetCoreThreadId(), FROM_HERE, {BrowserThread::IO},
base::BindOnce(&GetDevToolsRouteInfoOnCoreThread, context_, id, base::BindOnce(&GetDevToolsRouteInfoOnIO, context_, id,
base::Bind(&ServiceWorkerHandler::OpenNewDevToolsWindow, base::Bind(&ServiceWorkerHandler::OpenNewDevToolsWindow,
weak_factory_.GetWeakPtr()))); weak_factory_.GetWeakPtr())));
return Response::OK(); return Response::OK();
...@@ -370,10 +366,10 @@ Response ServiceWorkerHandler::DispatchSyncEvent( ...@@ -370,10 +366,10 @@ Response ServiceWorkerHandler::DispatchSyncEvent(
BackgroundSyncContextImpl* sync_context = BackgroundSyncContextImpl* sync_context =
storage_partition_->GetBackgroundSyncContext(); storage_partition_->GetBackgroundSyncContext();
RunOrPostTaskOnThread(FROM_HERE, ServiceWorkerContext::GetCoreThreadId(), base::PostTask(FROM_HERE, {BrowserThread::IO},
base::BindOnce(&DispatchSyncEventOnCoreThread, context_, base::BindOnce(&DispatchSyncEventOnIO, context_,
base::WrapRefCounted(sync_context), base::WrapRefCounted(sync_context),
GURL(origin), id, tag, last_chance)); GURL(origin), id, tag, last_chance));
return Response::OK(); return Response::OK();
} }
...@@ -392,9 +388,9 @@ Response ServiceWorkerHandler::DispatchPeriodicSyncEvent( ...@@ -392,9 +388,9 @@ Response ServiceWorkerHandler::DispatchPeriodicSyncEvent(
BackgroundSyncContextImpl* sync_context = BackgroundSyncContextImpl* sync_context =
storage_partition_->GetBackgroundSyncContext(); storage_partition_->GetBackgroundSyncContext();
RunOrPostTaskOnThread( base::PostTaskWithTraits(
FROM_HERE, ServiceWorkerContext::GetCoreThreadId(), FROM_HERE, {BrowserThread::IO},
base::BindOnce(&DispatchPeriodicSyncEventOnCoreThread, context_, base::BindOnce(&DispatchPeriodicSyncEventOnIO, context_,
base::WrapRefCounted(sync_context), GURL(origin), id, base::WrapRefCounted(sync_context), GURL(origin), id,
tag)); tag));
return Response::OK(); return Response::OK();
......
...@@ -27,7 +27,7 @@ namespace content { ...@@ -27,7 +27,7 @@ namespace content {
namespace { namespace {
void TerminateServiceWorkerOnCoreThread( void TerminateServiceWorkerOnIO(
base::WeakPtr<ServiceWorkerContextCore> context_weak, base::WeakPtr<ServiceWorkerContextCore> context_weak,
int64_t version_id) { int64_t version_id) {
if (ServiceWorkerContextCore* context = context_weak.get()) { if (ServiceWorkerContextCore* context = context_weak.get()) {
...@@ -36,7 +36,7 @@ void TerminateServiceWorkerOnCoreThread( ...@@ -36,7 +36,7 @@ void TerminateServiceWorkerOnCoreThread(
} }
} }
void SetDevToolsAttachedOnCoreThread( void SetDevToolsAttachedOnIO(
base::WeakPtr<ServiceWorkerContextCore> context_weak, base::WeakPtr<ServiceWorkerContextCore> context_weak,
int64_t version_id, int64_t version_id,
bool attached) { bool attached) {
...@@ -46,7 +46,7 @@ void SetDevToolsAttachedOnCoreThread( ...@@ -46,7 +46,7 @@ void SetDevToolsAttachedOnCoreThread(
} }
} }
void UpdateLoaderFactoriesOnCoreThread( void UpdateLoaderFactoriesOnIO(
base::WeakPtr<ServiceWorkerContextCore> context_weak, base::WeakPtr<ServiceWorkerContextCore> context_weak,
int64_t version_id, int64_t version_id,
std::unique_ptr<blink::URLLoaderFactoryBundleInfo> script_bundle, std::unique_ptr<blink::URLLoaderFactoryBundleInfo> script_bundle,
...@@ -111,9 +111,9 @@ void ServiceWorkerDevToolsAgentHost::Reload() { ...@@ -111,9 +111,9 @@ void ServiceWorkerDevToolsAgentHost::Reload() {
} }
bool ServiceWorkerDevToolsAgentHost::Close() { bool ServiceWorkerDevToolsAgentHost::Close() {
RunOrPostTaskOnThread(FROM_HERE, ServiceWorkerContext::GetCoreThreadId(), base::PostTask(
base::BindOnce(&TerminateServiceWorkerOnCoreThread, FROM_HERE, {BrowserThread::IO},
context_weak_, version_id_)); base::BindOnce(&TerminateServiceWorkerOnIO, context_weak_, version_id_));
return true; return true;
} }
...@@ -192,9 +192,9 @@ void ServiceWorkerDevToolsAgentHost::WorkerDestroyed() { ...@@ -192,9 +192,9 @@ void ServiceWorkerDevToolsAgentHost::WorkerDestroyed() {
} }
void ServiceWorkerDevToolsAgentHost::UpdateIsAttached(bool attached) { void ServiceWorkerDevToolsAgentHost::UpdateIsAttached(bool attached) {
RunOrPostTaskOnThread(FROM_HERE, ServiceWorkerContext::GetCoreThreadId(), base::PostTask(FROM_HERE, {BrowserThread::IO},
base::BindOnce(&SetDevToolsAttachedOnCoreThread, base::BindOnce(&SetDevToolsAttachedOnIO, context_weak_,
context_weak_, version_id_, attached)); version_id_, attached));
} }
void ServiceWorkerDevToolsAgentHost::UpdateLoaderFactories( void ServiceWorkerDevToolsAgentHost::UpdateLoaderFactories(
...@@ -211,20 +211,11 @@ void ServiceWorkerDevToolsAgentHost::UpdateLoaderFactories( ...@@ -211,20 +211,11 @@ void ServiceWorkerDevToolsAgentHost::UpdateLoaderFactories(
auto subresource_bundle = EmbeddedWorkerInstance::CreateFactoryBundleOnUI( auto subresource_bundle = EmbeddedWorkerInstance::CreateFactoryBundleOnUI(
rph, worker_route_id_, origin, rph, worker_route_id_, origin,
ContentBrowserClient::URLLoaderFactoryType::kServiceWorkerSubResource); ContentBrowserClient::URLLoaderFactoryType::kServiceWorkerSubResource);
base::PostTaskAndReply(
if (ServiceWorkerContext::IsServiceWorkerOnUIEnabled()) { FROM_HERE, {BrowserThread::IO},
UpdateLoaderFactoriesOnCoreThread(context_weak_, version_id_, base::BindOnce(&UpdateLoaderFactoriesOnIO, context_weak_, version_id_,
std::move(script_bundle), std::move(script_bundle), std::move(subresource_bundle)),
std::move(subresource_bundle)); std::move(callback));
std::move(callback).Run();
} else {
base::PostTaskAndReply(
FROM_HERE, {BrowserThread::IO},
base::BindOnce(&UpdateLoaderFactoriesOnCoreThread, context_weak_,
version_id_, std::move(script_bundle),
std::move(subresource_bundle)),
std::move(callback));
}
} }
} // namespace content } // namespace content
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