| Index: sky/engine/bindings-dart/core/dart/DartController.h
|
| diff --git a/sky/engine/bindings-dart/core/dart/DartController.h b/sky/engine/bindings-dart/core/dart/DartController.h
|
| deleted file mode 100644
|
| index 7cae0a8d4324de0789f86bfabbfe3c79d584d189..0000000000000000000000000000000000000000
|
| --- a/sky/engine/bindings-dart/core/dart/DartController.h
|
| +++ /dev/null
|
| @@ -1,131 +0,0 @@
|
| -// Copyright 2011, Google Inc.
|
| -// All rights reserved.
|
| -//
|
| -// Redistribution and use in source and binary forms, with or without
|
| -// modification, are permitted provided that the following conditions are
|
| -// met:
|
| -//
|
| -// * Redistributions of source code must retain the above copyright
|
| -// notice, this list of conditions and the following disclaimer.
|
| -// * Redistributions in binary form must reproduce the above
|
| -// copyright notice, this list of conditions and the following disclaimer
|
| -// in the documentation and/or other materials provided with the
|
| -// distribution.
|
| -// * Neither the name of Google Inc. nor the names of its
|
| -// contributors may be used to endorse or promote products derived from
|
| -// this software without specific prior written permission.
|
| -//
|
| -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
| -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
| -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
| -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
| -// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
| -// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
| -// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
| -// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
| -// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
| -// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
| -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
| -
|
| -#ifndef DartController_h
|
| -#define DartController_h
|
| -
|
| -#include "bindings/core/v8/ScriptSourceCode.h"
|
| -#include "wtf/Deque.h"
|
| -#include "wtf/HashMap.h"
|
| -#include "wtf/Vector.h"
|
| -#include "wtf/text/WTFString.h"
|
| -
|
| -#include <dart_api.h>
|
| -#include <v8.h>
|
| -
|
| -struct NPObject;
|
| -
|
| -namespace blink {
|
| -
|
| -class DartApplicationLoader;
|
| -class DartDOMData;
|
| -class DartScriptInfo;
|
| -class DartScriptState;
|
| -class Document;
|
| -class ExecutionContext;
|
| -class LocalDOMWindow;
|
| -class LocalFrame;
|
| -class ScriptLoader;
|
| -class ScriptState;
|
| -class V8ScriptState;
|
| -
|
| -typedef HashMap<intptr_t, RefPtr<DartScriptState> > LibraryIdMap;
|
| -typedef HashMap<Dart_Isolate, LibraryIdMap*> ScriptStatesMap;
|
| -
|
| -// This class provides the linkage between a LocalFrame and its attached
|
| -// Dart isolates. It is similar to ScriptController for JavaScript.
|
| -// The DartController is owned by its LocalFrame.
|
| -class DartController {
|
| -public:
|
| - DartController(LocalFrame*);
|
| - virtual ~DartController();
|
| -
|
| - void evaluate(const ScriptSourceCode&, ScriptLoader* = 0);
|
| -
|
| - // Exposes NPObject instance to Dart environment.
|
| - void bindToWindowObject(LocalFrame*, const String& key, NPObject*);
|
| - NPObject* npObject(const String& key);
|
| -
|
| - void clearWindowShell();
|
| - void clearScriptObjects();
|
| -
|
| - Dart_Handle callFunction(Dart_Handle function, int argc, Dart_Handle* argv);
|
| -
|
| - LocalFrame* frame() const { return m_frame; }
|
| - void collectScriptStates(V8ScriptState*, Vector<DartScriptState*>& result);
|
| - void collectScriptStatesForIsolate(Dart_Isolate, v8::Handle<v8::Context> v8Context, Vector<DartScriptState*>& result);
|
| - DartScriptState* lookupScriptState(Dart_Isolate, v8::Handle<v8::Context> v8Context, intptr_t libraryId);
|
| -
|
| - static DartController* retrieve(LocalFrame*);
|
| - static DartController* retrieve(ExecutionContext*);
|
| -
|
| - bool isActive() { return !m_isolates.isEmpty(); }
|
| -
|
| - void spawnDomUri(const String& uri);
|
| -
|
| -private:
|
| - static void initVMIfNeeded();
|
| -
|
| - static Dart_Isolate createIsolate(const char* scriptURL, const char* entryPoint, Document*, bool isDOMEnabled, bool isDebuggerEnabled, char** errorMessage);
|
| - void shutdownIsolate(Dart_Isolate);
|
| -
|
| - Dart_Isolate createDOMEnabledIsolate(const String& scriptURL, const String& entryPoint, Document*);
|
| - void scheduleScriptExecution(const String&, Dart_Isolate, PassRefPtr<DartScriptInfo>);
|
| - void loadAndRunScript(const String&, Dart_Isolate, PassRefPtr<DartScriptInfo>);
|
| - static void shutdownIsolateCallback(void* data);
|
| - static Dart_Isolate createServiceIsolateCallback(void* callbackData, char** error);
|
| - static Dart_Isolate createPureIsolateCallback(const char* prefix, const char* main, const char* packageRoot, void* callbackData, char** errorMsg);
|
| -
|
| - static void weakCallback(void* isolateCallbackData, Dart_WeakPersistentHandle, void* peer);
|
| -
|
| - HashSet<Document*> m_documentsWithDart;
|
| -
|
| - LibraryIdMap* libraryIdMapForIsolate(Dart_Isolate);
|
| - DartScriptState* lookupScriptStateFromLibraryIdMap(Dart_Isolate, v8::Handle<v8::Context>, LibraryIdMap*, intptr_t libraryId);
|
| -
|
| - // The frame that owns this controller.
|
| - LocalFrame* m_frame;
|
| -
|
| - // Isolate associated with scripts in this document.
|
| - Vector<Dart_Isolate> m_isolates;
|
| - RefPtr<DartApplicationLoader> m_loader;
|
| -
|
| - ScriptStatesMap m_scriptStates;
|
| -
|
| - typedef HashMap<String, NPObject*> NPObjectMap;
|
| - NPObjectMap m_npObjectMap;
|
| -
|
| - friend class DartDomLoadCallback;
|
| - friend class DartScriptRunner;
|
| - friend class DartService;
|
| -};
|
| -
|
| -}
|
| -
|
| -#endif // DartController_h
|
|
|