| Index: runtime/include/dart_api.h
|
| ===================================================================
|
| --- runtime/include/dart_api.h (revision 7756)
|
| +++ runtime/include/dart_api.h (working copy)
|
| @@ -389,41 +389,22 @@
|
| /**
|
| * An isolate creation and initialization callback function.
|
| *
|
| - * This callback, provided by the embedder, is called when the vm
|
| - * needs to create an isolate. The callback should create an isolate
|
| - * by calling Dart_CreateIsolate and load any scripts required for
|
| - * execution.
|
| + * This callback, provided by the embedder, is called when an isolate needs
|
| + * to be created. The callback should create an isolate and load the
|
| + * required scripts for execution.
|
| *
|
| - * When the function returns false, it is the responsibility of this
|
| - * function to ensure that Dart_ShutdownIsolate has been called if
|
| - * required (for example, if the isolate was created successfully by
|
| - * Dart_CreateIsolate() but the root library fails to load
|
| - * successfully, then the function should call Dart_ShutdownIsolate
|
| - * before returning).
|
| - *
|
| - * When the function returns false, the function should set *error to
|
| - * a malloc-allocated buffer containing a useful error message. The
|
| - * caller of this function (the vm) will make sure that the buffer is
|
| - * freed.
|
| - *
|
| - * \param script_uri The uri of the script to load. This uri has been
|
| - * canonicalized by the library tag handler from the parent isolate.
|
| - * The callback is responsible for loading this script by a call to
|
| - * Dart_LoadScript or Dart_LoadScriptFromSnapshot.
|
| - * \param main The name of the main entry point this isolate will
|
| - * eventually run. This is provided for advisory purposes only to
|
| - * improve debugging messages. The main function is not invoked by
|
| - * this function.
|
| - * \param callback_data The callback data which was passed to the
|
| - * parent isolate when it was created by calling Dart_CreateIsolate().
|
| * \param error A structure into which the embedder can place a
|
| * C string containing an error message in the case of failures.
|
| *
|
| - * \return The embedder returns false if the creation and
|
| - * initialization was not successful and true if successful.
|
| + * \return The embedder returns false if the creation and initialization was not
|
| + * successful and true if successful. The embedder is responsible for
|
| + * maintaining consistency in the case of errors (e.g: isolate is created,
|
| + * but loading of scripts fails then the embedder should ensure that
|
| + * Dart_ShutdownIsolate is called on the isolate).
|
| + * In the case of errors the caller is responsible for freeing the buffer
|
| + * returned in error containing an error string.
|
| */
|
| -typedef bool (*Dart_IsolateCreateCallback)(const char* script_uri,
|
| - const char* main,
|
| +typedef bool (*Dart_IsolateCreateCallback)(const char* name_prefix,
|
| void* callback_data,
|
| char** error);
|
|
|
| @@ -497,22 +478,13 @@
|
| *
|
| * Requires there to be no current isolate.
|
| *
|
| - * \param script_uri The name of the script this isolate will load.
|
| - * Provided only for advisory purposes to improve debugging messages.
|
| - * \param main The name of the main entry point this isolate will run.
|
| - * Provided only for advisory purposes to improve debugging messages.
|
| * \param snapshot A buffer containing a VM snapshot or NULL if no
|
| * snapshot is provided.
|
| - * \param callback_data Embedder data. This data will be passed to
|
| - * the Dart_IsolateCreateCallback when new isolates are spawned from
|
| - * this parent isolate.
|
| - * \param error DOCUMENT
|
| *
|
| * \return The new isolate is returned. May be NULL if an error
|
| * occurs duing isolate initialization.
|
| */
|
| -DART_EXPORT Dart_Isolate Dart_CreateIsolate(const char* script_uri,
|
| - const char* main,
|
| +DART_EXPORT Dart_Isolate Dart_CreateIsolate(const char* name_prefix,
|
| const uint8_t* snapshot,
|
| void* callback_data,
|
| char** error);
|
| @@ -1951,12 +1923,13 @@
|
| // TODO(turnidge): Document.
|
| typedef Dart_Handle (*Dart_LibraryTagHandler)(Dart_LibraryTag tag,
|
| Dart_Handle library,
|
| - Dart_Handle url);
|
| + Dart_Handle url,
|
| + Dart_Handle import_map);
|
|
|
| /**
|
| - * Sets library tag handler for the current isolate. This handler is
|
| - * used to handle the various tags encountered while loading libraries
|
| - * or scripts in the isolate.
|
| + * Set library tag handler for the current isolate. This handler is used to
|
| + * handle the various tags encountered while loading libraries or scripts in
|
| + * the isolate.
|
| *
|
| * \param handler Handler code to be used for handling the various tags
|
| * encountered while loading libraries or scripts in the isolate.
|
| @@ -1970,38 +1943,13 @@
|
| Dart_LibraryTagHandler handler);
|
|
|
| /**
|
| - * Sets the import map for the current isolate.
|
| - *
|
| - * The import map is a List of Strings, representing a set of (name,
|
| - * value) pairs. The import map is used during the resolution of #
|
| - * directives in source files to implement string interpolation.
|
| - *
|
| - * For example, if a source file imports:
|
| - *
|
| - * #import('${foo}/dart.html');
|
| - *
|
| - * And the import map is:
|
| - *
|
| - * [ "foo", "/home/user" ]
|
| - *
|
| - * Then the import would resolve to:
|
| - *
|
| - * #import('/home/user/dart.html');
|
| - *
|
| - * \param import_map A List of Strings interpreted as a String to
|
| - * String mapping.
|
| - * \return If no error occurs, the import map is set for the isolate.
|
| - * Otherwise an error handle is returned.
|
| - */
|
| -DART_EXPORT Dart_Handle Dart_SetImportMap(Dart_Handle import_map);
|
| -
|
| -/**
|
| * Loads the root script for the current isolate.
|
| *
|
| * TODO(turnidge): Document.
|
| */
|
| DART_EXPORT Dart_Handle Dart_LoadScript(Dart_Handle url,
|
| - Dart_Handle source);
|
| + Dart_Handle source,
|
| + Dart_Handle import_map);
|
|
|
| /**
|
| * Loads the root script for current isolate from a snapshot.
|
| @@ -2010,19 +1958,10 @@
|
| *
|
| * \return If no error occurs, the Library object corresponding to the root
|
| * script is returned. Otherwise an error handle is returned.
|
| - */
|
| + **/
|
| DART_EXPORT Dart_Handle Dart_LoadScriptFromSnapshot(const uint8_t* buffer);
|
|
|
| /**
|
| - * Gets the library for the root script for the current isolate.
|
| - *
|
| - * \return Returns the Library object corresponding to the root script
|
| - * if it has been set by a successful call to Dart_LoadScript or
|
| - * Dart_LoadScriptFromSnapshot. Otherwise returns Dart_Null().
|
| - */
|
| -DART_EXPORT Dart_Handle Dart_RootLibrary();
|
| -
|
| -/**
|
| * Forces all loaded classes and functions to be compiled eagerly in
|
| * the current isolate..
|
| *
|
| @@ -2052,7 +1991,8 @@
|
| // not found to distinguish that from a true error case.
|
|
|
| DART_EXPORT Dart_Handle Dart_LoadLibrary(Dart_Handle url,
|
| - Dart_Handle source);
|
| + Dart_Handle source,
|
| + Dart_Handle import_map);
|
|
|
|
|
| DART_EXPORT Dart_Handle Dart_LibraryImportLibrary(Dart_Handle library,
|
|
|