| 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)
|
|
|