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

Unified Diff: sky/engine/bindings-dart/core/dart/DartInjectedScriptManager.h

Issue 875013003: Import Dart bindings as of Blink r188698. This merely copies the files over and does not attach any… (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 5 years, 11 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: sky/engine/bindings-dart/core/dart/DartInjectedScriptManager.h
diff --git a/sky/engine/v8_inspector/InjectedScriptManager.h b/sky/engine/bindings-dart/core/dart/DartInjectedScriptManager.h
similarity index 56%
copy from sky/engine/v8_inspector/InjectedScriptManager.h
copy to sky/engine/bindings-dart/core/dart/DartInjectedScriptManager.h
index 2fb48267bf105793a3858fede0860c9ced0c083b..c08e817d12eedac6e01653be6513d32a736d864c 100644
--- a/sky/engine/v8_inspector/InjectedScriptManager.h
+++ b/sky/engine/bindings-dart/core/dart/DartInjectedScriptManager.h
@@ -1,6 +1,6 @@
/*
* Copyright (C) 2007 Apple Inc. All rights reserved.
- * Copyright (C) 2012 Google Inc. All rights reserved.
+ * Copyright (C) 2014 Google Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -27,67 +27,62 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef SKY_ENGINE_V8_INSPECTOR_INJECTEDSCRIPTMANAGER_H_
-#define SKY_ENGINE_V8_INSPECTOR_INJECTEDSCRIPTMANAGER_H_
+#ifndef DartInjectedScriptManager_h
+#define DartInjectedScriptManager_h
-#include "sky/engine/bindings/core/v8/ScriptState.h"
-#include "sky/engine/wtf/Forward.h"
-#include "sky/engine/wtf/HashMap.h"
-#include "sky/engine/wtf/HashSet.h"
-#include "sky/engine/wtf/text/WTFString.h"
-#include "v8/include/v8.h"
+#include "bindings/common/ScriptState.h"
+#include "bindings/core/v8/ScopedPersistent.h"
+#include "wtf/Forward.h"
+#include "wtf/HashMap.h"
+#include "wtf/text/WTFString.h"
+#include <v8.h>
namespace blink {
class LocalDOMWindow;
-class InjectedScript;
+class DartInjectedScript;
class InjectedScriptHost;
class ScriptValue;
+class InjectedScriptManager;
-class InjectedScriptManager {
- WTF_MAKE_NONCOPYABLE(InjectedScriptManager);
- WTF_MAKE_FAST_ALLOCATED;
+// This is a snapshot of InjectedScriptManager at 38 refactored to only support Dart
+// with functionality not of interest to Dart removed.
+class DartInjectedScriptManager {
+ WTF_MAKE_NONCOPYABLE(DartInjectedScriptManager);
public:
- struct CallbackData {
- ScopedPersistent<v8::Object> handle;
- RefPtr<InjectedScriptHost> host;
- InjectedScriptManager* injectedScriptManager;
- };
+ typedef bool (*InspectedStateAccessCheck)(ScriptState*);
- static PassOwnPtr<InjectedScriptManager> createForPage();
- ~InjectedScriptManager();
-
- void disconnect();
+ explicit DartInjectedScriptManager(InspectedStateAccessCheck, InjectedScriptManager* javaScriptInjectedScriptManager);
+ ~DartInjectedScriptManager();
InjectedScriptHost* injectedScriptHost();
- InjectedScript injectedScriptFor(ScriptState*);
- InjectedScript injectedScriptForId(int);
+ DartInjectedScript* injectedScriptFor(ScriptState*);
+ DartInjectedScript* injectedScriptForId(int);
int injectedScriptIdFor(ScriptState*);
- InjectedScript injectedScriptForObjectId(const String& objectId);
+ DartInjectedScript* injectedScriptForObjectId(const String& objectId);
void discardInjectedScripts();
void discardInjectedScriptsFor(LocalDOMWindow*);
void releaseObjectGroup(const String& objectGroup);
- static void setWeakCallback(const v8::WeakCallbackData<v8::Object, CallbackData>&);
- CallbackData* createCallbackData(InjectedScriptManager*);
- void removeCallbackData(CallbackData*);
+ InspectedStateAccessCheck inspectedStateAccessCheck() const { return m_inspectedStateAccessCheck; }
-private:
- explicit InjectedScriptManager();
+ InjectedScriptManager* javaScriptInjectedScriptManager() { return m_javaScriptInjectedScriptManager; }
- String injectedScriptSource();
- ScriptValue createInjectedScript(const String& source, ScriptState*, int id);
+private:
+ static bool canAccessInspectedWindow(ScriptState*);
+ static bool canAccessInspectedWorkerGlobalScope(ScriptState*);
int m_nextInjectedScriptId;
- typedef HashMap<int, InjectedScript> IdToInjectedScriptMap;
+ // FIXMEDART: use RefPtr<DartInjectedScript> instead.
+ typedef HashMap<int, DartInjectedScript*> IdToInjectedScriptMap;
IdToInjectedScriptMap m_idToInjectedScript;
- RefPtr<InjectedScriptHost> m_injectedScriptHost;
+ InspectedStateAccessCheck m_inspectedStateAccessCheck;
typedef HashMap<RefPtr<ScriptState>, int> ScriptStateToId;
ScriptStateToId m_scriptStateToId;
- HashSet<OwnPtr<CallbackData> > m_callbackDataSet;
+ InjectedScriptManager* m_javaScriptInjectedScriptManager;
};
} // namespace blink
-#endif // SKY_ENGINE_V8_INSPECTOR_INJECTEDSCRIPTMANAGER_H_
+#endif // !defined(DartInjectedScriptManager_h)

Powered by Google App Engine
This is Rietveld 408576698