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

Unified Diff: third_party/WebKit/Source/bindings/core/v8/V8PerIsolateData.cpp

Issue 2703183002: Factor out gin::IsolateHolder's constructor
Patch Set: fix WorkerBackingThread Created 3 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
Index: third_party/WebKit/Source/bindings/core/v8/V8PerIsolateData.cpp
diff --git a/third_party/WebKit/Source/bindings/core/v8/V8PerIsolateData.cpp b/third_party/WebKit/Source/bindings/core/v8/V8PerIsolateData.cpp
index dc94cf4b3469204149dc03ff3a661378b6c11efd..e78b0fe84b493d590622779190ef2055ef97d270 100644
--- a/third_party/WebKit/Source/bindings/core/v8/V8PerIsolateData.cpp
+++ b/third_party/WebKit/Source/bindings/core/v8/V8PerIsolateData.cpp
@@ -51,12 +51,9 @@ static void microtasksCompletedCallback(v8::Isolate* isolate) {
V8PerIsolateData::from(isolate)->runEndOfScopeTasks();
}
-V8PerIsolateData::V8PerIsolateData(WebTaskRunner* taskRunner)
- : m_isolateHolder(WTF::makeUnique<gin::IsolateHolder>(
- taskRunner ? taskRunner->toSingleThreadTaskRunner() : nullptr,
- gin::IsolateHolder::kSingleThread,
- isMainThread() ? gin::IsolateHolder::kDisallowAtomicsWait
- : gin::IsolateHolder::kAllowAtomicsWait)),
+V8PerIsolateData::V8PerIsolateData(
+ std::unique_ptr<gin::IsolateHolder> isolateHolder)
+ : m_isolateHolder(std::move(isolateHolder)),
m_stringCache(WTF::wrapUnique(new StringCache(isolate()))),
m_hiddenValue(V8HiddenValue::create()),
m_privateProperty(V8PrivateProperty::create()),
@@ -79,8 +76,9 @@ v8::Isolate* V8PerIsolateData::mainThreadIsolate() {
return mainThreadPerIsolateData->isolate();
}
-v8::Isolate* V8PerIsolateData::initialize(WebTaskRunner* taskRunner) {
- V8PerIsolateData* data = new V8PerIsolateData(taskRunner);
+v8::Isolate* V8PerIsolateData::initialize(
+ std::unique_ptr<gin::IsolateHolder> isolateHolder) {
+ V8PerIsolateData* data = new V8PerIsolateData(std::move(isolateHolder));
v8::Isolate* isolate = data->isolate();
isolate->SetData(gin::kEmbedderBlink, data);
return isolate;

Powered by Google App Engine
This is Rietveld 408576698