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

Unified Diff: Source/core/inspector/InjectedScriptBase.h

Issue 300393002: Merge DevTools Refactor CL to Blink36 (Closed) Base URL: svn://svn.chromium.org/blink/branches/dart/1985
Patch Set: Created 6 years, 7 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: Source/core/inspector/InjectedScriptBase.h
diff --git a/Source/core/inspector/InjectedScriptBase.h b/Source/core/inspector/InjectedScriptBase.h
index c7ae14bb5ec9c0522d4c85ea53327db8377b4be4..4f787ccaa73380d60cf788633cb6d6ebc4b12e79 100644
--- a/Source/core/inspector/InjectedScriptBase.h
+++ b/Source/core/inspector/InjectedScriptBase.h
@@ -43,31 +43,46 @@ class ScriptFunctionCall;
typedef String ErrorString;
-
class InjectedScriptBase {
public:
virtual ~InjectedScriptBase() { }
-
- const String& name() const { return m_name; }
- bool isEmpty() const { return m_injectedScriptObject.isEmpty(); }
- ScriptState* scriptState() const { return m_injectedScriptObject.scriptState(); }
+ virtual const String& name() const = 0;
+ virtual bool isEmpty() const = 0;
+ virtual ScriptState* scriptState() const = 0;
+ virtual bool isJavaScript() const = 0;
protected:
typedef bool (*InspectedStateAccessCheck)(ScriptState*);
- InjectedScriptBase(const String& name);
- InjectedScriptBase(const String& name, ScriptObject, InspectedStateAccessCheck);
+};
+
+class V8InjectedScriptBase : public virtual InjectedScriptBase {
vsm 2014/06/03 14:24:49 The virtual base class feels kind of nasty. Not s
Jacob 2014/06/03 20:23:13 This is ugly. Added a FIXMEDart that we need to fi
+public:
+ virtual ~V8InjectedScriptBase() { }
+
+ virtual bool isEmpty() const { return m_injectedScriptObject.isEmpty(); }
+ virtual ScriptState* scriptState() const { return m_injectedScriptObject.scriptState(); }
+
+ virtual bool isJavaScript() const { return true; }
+
+ virtual const String& name() const { return m_name; }
+
+protected:
+ V8InjectedScriptBase(const String& name);
+ V8InjectedScriptBase(const String& name, ScriptObject, InspectedStateAccessCheck);
void initialize(ScriptObject, InspectedStateAccessCheck);
- bool canAccessInspectedWindow() const;
+
const ScriptObject& injectedScriptObject() const;
ScriptValue callFunctionWithEvalEnabled(ScriptFunctionCall&, bool& hadException) const;
void makeCall(ScriptFunctionCall&, RefPtr<JSONValue>* result);
void makeEvalCall(ErrorString*, ScriptFunctionCall&, RefPtr<TypeBuilder::Runtime::RemoteObject>* result, TypeBuilder::OptOutput<bool>* wasThrown);
-private:
+ bool canAccessInspectedWindow() const;
String m_name;
- ScriptObject m_injectedScriptObject;
InspectedStateAccessCheck m_inspectedStateAccessCheck;
+
+private:
+ ScriptObject m_injectedScriptObject;
rmacnak 2014/06/03 17:32:34 Add a note this should become V8ScriptValue in M37
Jacob 2014/06/03 20:23:13 done.
};

Powered by Google App Engine
This is Rietveld 408576698