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

Unified Diff: third_party/WebKit/Source/web/SuspendableScriptExecutor.h

Issue 2339683006: [Blink] Modify SuspendableScriptExecutor to take a v8::Function (Closed)
Patch Set: In Prog Created 4 years, 3 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/web/SuspendableScriptExecutor.h
diff --git a/third_party/WebKit/Source/web/SuspendableScriptExecutor.h b/third_party/WebKit/Source/web/SuspendableScriptExecutor.h
index 402d398c0b861c7bbb1cb458d28eb17b82648f2e..4f5a4fb02cdb615e5212bb0226eab16556df58fe 100644
--- a/third_party/WebKit/Source/web/SuspendableScriptExecutor.h
+++ b/third_party/WebKit/Source/web/SuspendableScriptExecutor.h
@@ -9,6 +9,7 @@
#include "platform/heap/Handle.h"
#include "platform/heap/SelfKeepAlive.h"
#include "wtf/Vector.h"
+#include <v8.h>
namespace blink {
@@ -20,14 +21,22 @@ class SuspendableScriptExecutor final : public GarbageCollectedFinalized<Suspend
USING_GARBAGE_COLLECTED_MIXIN(SuspendableScriptExecutor);
public:
static void createAndRun(LocalFrame*, int worldID, const HeapVector<ScriptSourceCode>& sources, int extensionGroup, bool userGesture, WebScriptExecutionCallback*);
+ static void createAndRun(LocalFrame*, v8::Isolate*, v8::Local<v8::Function>, v8::Local<v8::Value> receiver, int argc, v8::Local<v8::Value> argv[], WebScriptExecutionCallback*);
~SuspendableScriptExecutor() override;
void contextDestroyed() override;
DECLARE_VIRTUAL_TRACE();
+ class Executor : public GarbageCollected<Executor> {
+ public:
+ virtual Vector<v8::Local<v8::Value>> execute(LocalFrame*) = 0;
+
+ DEFINE_INLINE_VIRTUAL_TRACE() {};
+ };
+
private:
- SuspendableScriptExecutor(LocalFrame*, int worldID, const HeapVector<ScriptSourceCode>& sources, int extensionGroup, bool userGesture, WebScriptExecutionCallback*);
+ SuspendableScriptExecutor(LocalFrame*, WebScriptExecutionCallback*, Executor*);
void fired() override;
@@ -36,15 +45,11 @@ private:
void dispose();
Member<LocalFrame> m_frame;
- HeapVector<ScriptSourceCode> m_sources;
WebScriptExecutionCallback* m_callback;
SelfKeepAlive<SuspendableScriptExecutor> m_keepAlive;
- int m_worldID;
- int m_extensionGroup;
-
- bool m_userGesture;
+ Member<Executor> m_executor;
};
} // namespace blink

Powered by Google App Engine
This is Rietveld 408576698