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

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

Issue 2339683006: [Blink] Modify SuspendableScriptExecutor to take a v8::Function (Closed)
Patch Set: Win compile fix Created 4 years, 2 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 | « extensions/renderer/script_context.cc ('k') | third_party/WebKit/Source/web/SuspendableScriptExecutor.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 2f083f7414558d4494baddffb0139ac1fa0f714e..b8ffe3a98811fe62f9103d078470cb79e4d13a14 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 {
@@ -28,19 +29,32 @@ class SuspendableScriptExecutor final
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 GarbageCollectedFinalized<Executor> {
+ public:
+ virtual ~Executor() {}
+
+ 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*);
+ WebScriptExecutionCallback*,
+ Executor*);
void fired() override;
@@ -49,15 +63,11 @@ class SuspendableScriptExecutor final
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
« no previous file with comments | « extensions/renderer/script_context.cc ('k') | third_party/WebKit/Source/web/SuspendableScriptExecutor.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698