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

Unified Diff: net/proxy/proxy_resolver_v8.h

Issue 957933002: Lazily initialize the v8::Isolate used by ProxyResolverV8 (in the browser process). (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 10 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
« no previous file with comments | « net/proxy/proxy_resolver_perftest.cc ('k') | net/proxy/proxy_resolver_v8.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/proxy/proxy_resolver_v8.h
diff --git a/net/proxy/proxy_resolver_v8.h b/net/proxy/proxy_resolver_v8.h
index 64d1983872ffced72c05877f40969cf5a6e10ec1..446800c80d8b3591dad897733c4a53a69582f9d6 100644
--- a/net/proxy/proxy_resolver_v8.h
+++ b/net/proxy/proxy_resolver_v8.h
@@ -10,35 +10,9 @@
#include "net/base/net_export.h"
#include "net/proxy/proxy_resolver.h"
-namespace gin {
-class IsolateHolder;
-} // namespace gin
-
-namespace v8 {
-class HeapStatistics;
-class Isolate;
-} // namespace v8
-
namespace net {
// Implementation of ProxyResolver that uses V8 to evaluate PAC scripts.
-//
-// ----------------------------------------------------------------------------
-// !!! Important note on threading model:
-// ----------------------------------------------------------------------------
-// There can be only one instance of V8 running at a time. To enforce this
-// constraint, ProxyResolverV8 holds a v8::Locker during execution. Therefore
-// it is OK to run multiple instances of ProxyResolverV8 on different threads,
-// since only one will be running inside V8 at a time.
-//
-// It is important that *ALL* instances of V8 in the process be using
-// v8::Locker. If not there can be race conditions between the non-locked V8
-// instances and the locked V8 instances used by ProxyResolverV8 (assuming they
-// run on different threads).
-//
-// This is the case with the V8 instance used by chromium's renderer -- it runs
-// on a different thread from ProxyResolver (renderer thread vs PAC thread),
-// and does not use locking since it expects to be alone.
class NET_EXPORT_PRIVATE ProxyResolverV8 : public ProxyResolver {
public:
// Interface for the javascript bindings.
@@ -93,21 +67,12 @@ class NET_EXPORT_PRIVATE ProxyResolverV8 : public ProxyResolver {
int SetPacScript(const scoped_refptr<ProxyResolverScriptData>& script_data,
const net::CompletionCallback& /*callback*/) override;
- // Create an isolate to use for the proxy resolver. If the embedder invokes
- // this method multiple times, it must be invoked in a thread safe manner,
- // e.g. always from the same thread.
- static void EnsureIsolateCreated();
-
- static v8::Isolate* GetDefaultIsolate();
-
// Get total/ued heap memory usage of all v8 instances used by the proxy
// resolver.
static size_t GetTotalHeapSize();
static size_t GetUsedHeapSize();
private:
- static gin::IsolateHolder* g_proxy_resolver_isolate_;
-
// Context holds the Javascript state for the most recently loaded PAC
// script. It corresponds with the data from the last call to
// SetPacScript().
« no previous file with comments | « net/proxy/proxy_resolver_perftest.cc ('k') | net/proxy/proxy_resolver_v8.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698