Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(620)

Unified Diff: content/browser/devtools/embedded_worker_devtools_manager.h

Issue 349033009: DevTools: Added service workers to chrome://inspect/#devices (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Added URLs Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/devtools/embedded_worker_devtools_manager.h
diff --git a/content/browser/devtools/embedded_worker_devtools_manager.h b/content/browser/devtools/embedded_worker_devtools_manager.h
index 3b15c8f209967344375d3a70ca3325de225fb4e2..09e191bb5e574f85c00ab2eb651d65d4ba255741 100644
--- a/content/browser/devtools/embedded_worker_devtools_manager.h
+++ b/content/browser/devtools/embedded_worker_devtools_manager.h
@@ -5,6 +5,8 @@
#ifndef CONTENT_BROWSER_DEVTOOLS_EMBEDDED_WORKER_DEVTOOLS_MANAGER_H_
#define CONTENT_BROWSER_DEVTOOLS_EMBEDDED_WORKER_DEVTOOLS_MANAGER_H_
+#include <map>
+
#include "base/basictypes.h"
#include "base/containers/scoped_ptr_hash_map.h"
#include "base/gtest_prod_util.h"
@@ -17,6 +19,7 @@
namespace content {
class DevToolsAgentHost;
+class DevToolsTarget;
class ServiceWorkerContextCore;
// EmbeddedWorkerDevToolsManager is used instead of WorkerDevToolsManager when
@@ -25,20 +28,20 @@ class ServiceWorkerContextCore;
class CONTENT_EXPORT EmbeddedWorkerDevToolsManager {
public:
typedef std::pair<int, int> WorkerId;
- class EmbeddedWorkerDevToolsAgentHost;
class ServiceWorkerIdentifier {
public:
ServiceWorkerIdentifier(
- const ServiceWorkerContextCore* const service_worker_context,
+ ServiceWorkerContextCore* const service_worker_context,
int64 service_worker_version_id);
- explicit ServiceWorkerIdentifier(const ServiceWorkerIdentifier& other);
+ ServiceWorkerIdentifier(const ServiceWorkerIdentifier& other);
~ServiceWorkerIdentifier() {}
bool Matches(const ServiceWorkerIdentifier& other) const;
private:
- const ServiceWorkerContextCore* const service_worker_context_;
+ friend class EmbeddedWorkerDevToolsManager;
+ ServiceWorkerContextCore* const service_worker_context_;
const int64 service_worker_version_id_;
};
@@ -50,6 +53,10 @@ class CONTENT_EXPORT EmbeddedWorkerDevToolsManager {
DevToolsAgentHost* GetDevToolsAgentHostForServiceWorker(
const ServiceWorkerIdentifier& service_worker_id);
+ typedef base::Callback<void(const std::vector<DevToolsTarget*>&)>
+ TargetCallback;
+ void GetAllServiceWorkerTargets(const TargetCallback& callback);
+
// Returns true when the worker must be paused on start because a DevTool
// window for the same former SharedWorkerInstance is still opened.
bool SharedWorkerCreated(int worker_process_id,
@@ -85,6 +92,8 @@ class CONTENT_EXPORT EmbeddedWorkerDevToolsManager {
WORKER_PAUSED_FOR_REATTACH,
};
+ class EmbeddedWorkerDevToolsAgentHost;
+
class WorkerInfo {
public:
// Creates WorkerInfo for SharedWorker.
@@ -101,6 +110,9 @@ class CONTENT_EXPORT EmbeddedWorkerDevToolsManager {
}
bool Matches(const SharedWorkerInstance& other);
bool Matches(const ServiceWorkerIdentifier& other);
+ ServiceWorkerIdentifier* service_worker_id() {
+ return service_worker_id_.get();
+ }
private:
scoped_ptr<SharedWorkerInstance> shared_worker_instance_;
@@ -109,6 +121,8 @@ class CONTENT_EXPORT EmbeddedWorkerDevToolsManager {
EmbeddedWorkerDevToolsAgentHost* agent_host_;
};
+ class ServiceWorkerTarget;
+
typedef base::ScopedPtrHashMap<WorkerId, WorkerInfo> WorkerInfoMap;
EmbeddedWorkerDevToolsManager();
@@ -123,6 +137,16 @@ class CONTENT_EXPORT EmbeddedWorkerDevToolsManager {
void MoveToPausedState(const WorkerId& id, const WorkerInfoMap::iterator& it);
+ EmbeddedWorkerDevToolsAgentHost* GetOrCreateAgentHost(int worker_process_id,
+ int worker_route_id);
+ static void GetServiceWorkerUrlsOnIO(
+ const std::map<WorkerId, ServiceWorkerIdentifier>& ids,
+ const TargetCallback& callback);
+ static void CreateTargets(const std::map<WorkerId, GURL> url_map,
+ const TargetCallback& callback);
+
+ bool CloseServiceWorker(const WorkerId& id);
+
// Resets to its initial state as if newly created.
void ResetForTesting();

Powered by Google App Engine
This is Rietveld 408576698