v8-debug.h   v8-debug.h 
skipping to change at line 143 skipping to change at line 143
* request that led to the message or NULL if the message is an event. The * request that led to the message or NULL if the message is an event. The
* debugger takes ownership of the data and will delete it even if ther e is * debugger takes ownership of the data and will delete it even if ther e is
* no message handler. * no message handler.
*/ */
virtual ClientData* GetClientData() const = 0; virtual ClientData* GetClientData() const = 0;
virtual ~Message() {} virtual ~Message() {}
}; };
/** /**
* An event details object passed to the debug event listener.
*/
class EventDetails {
public:
/**
* Event type.
*/
virtual DebugEvent GetEvent() const = 0;
/**
* Access to execution state and event data of the debug event. Don't s
tore
* these cross callbacks as their content becomes invalid.
*/
virtual Handle<Object> GetExecutionState() const = 0;
virtual Handle<Object> GetEventData() const = 0;
/**
* Get the context active when the debug event happened. Note this is n
ot
* the current active context as the JavaScript part of the debugger is
* running in it's own context which is entered at this point.
*/
virtual Handle<Context> GetEventContext() const = 0;
/**
* Client data passed with the corresponding callbak whet it was regist
ered.
*/
virtual Handle<Value> GetCallbackData() const = 0;
virtual ~EventDetails() {}
};
/**
* Debug event callback function. * Debug event callback function.
* *
* \param event the type of the debug event that triggered the callback * \param event the type of the debug event that triggered the callback
* (enum DebugEvent) * (enum DebugEvent)
* \param exec_state execution state (JavaScript object) * \param exec_state execution state (JavaScript object)
* \param event_data event specific data (JavaScript object) * \param event_data event specific data (JavaScript object)
* \param data value passed by the user to SetDebugEventListener * \param data value passed by the user to SetDebugEventListener
*/ */
typedef void (*EventCallback)(DebugEvent event, typedef void (*EventCallback)(DebugEvent event,
Handle<Object> exec_state, Handle<Object> exec_state,
Handle<Object> event_data, Handle<Object> event_data,
Handle<Value> data); Handle<Value> data);
/** /**
* Debug event callback function.
*
* \param event_details object providing information about the debug even
t
*
* A EventCallback2 does not take possession of the event data,
* and must not rely on the data persisting after the handler returns.
*/
typedef void (*EventCallback2)(const EventDetails& event_details);
/**
* Debug message callback function. * Debug message callback function.
* *
* \param message the debug message handler message object * \param message the debug message handler message object
* \param length length of the message * \param length length of the message
* \param client_data the data value passed when registering the message handler * \param client_data the data value passed when registering the message handler
* A MessageHandler does not take posession of the message string, * A MessageHandler does not take possession of the message string,
* and must not rely on the data persisting after the handler returns. * and must not rely on the data persisting after the handler returns.
* *
* This message handler is deprecated. Use MessageHandler2 instead. * This message handler is deprecated. Use MessageHandler2 instead.
*/ */
typedef void (*MessageHandler)(const uint16_t* message, int length, typedef void (*MessageHandler)(const uint16_t* message, int length,
ClientData* client_data); ClientData* client_data);
/** /**
* Debug message callback function. * Debug message callback function.
* *
* \param message the debug message handler message object * \param message the debug message handler message object
* A MessageHandler does not take posession of the message data, * A MessageHandler does not take possession of the message data,
* and must not rely on the data persisting after the handler returns. * and must not rely on the data persisting after the handler returns.
*/ */
typedef void (*MessageHandler2)(const Message& message); typedef void (*MessageHandler2)(const Message& message);
/** /**
* Debug host dispatch callback function. * Debug host dispatch callback function.
*/ */
typedef void (*HostDispatchHandler)(); typedef void (*HostDispatchHandler)();
/** /**
* Callback function for the host to ensure debug messages are processed. * Callback function for the host to ensure debug messages are processed.
*/ */
typedef void (*DebugMessageDispatchHandler)(); typedef void (*DebugMessageDispatchHandler)();
// Set a C debug event listener. // Set a C debug event listener.
static bool SetDebugEventListener(EventCallback that, static bool SetDebugEventListener(EventCallback that,
Handle<Value> data = Handle<Value>()); Handle<Value> data = Handle<Value>());
static bool SetDebugEventListener2(EventCallback2 that,
Handle<Value> data = Handle<Value>());
// Set a JavaScript debug event listener. // Set a JavaScript debug event listener.
static bool SetDebugEventListener(v8::Handle<v8::Object> that, static bool SetDebugEventListener(v8::Handle<v8::Object> that,
Handle<Value> data = Handle<Value>()); Handle<Value> data = Handle<Value>());
// Break execution of JavaScript. // Break execution of JavaScript.
static void DebugBreak(); static void DebugBreak();
// Message based interface. The message protocol is JSON. NOTE the messag e // Message based interface. The message protocol is JSON. NOTE the messag e
// handler thread is not supported any more parameter must be false. // handler thread is not supported any more parameter must be false.
 End of changes. 5 change blocks. 
2 lines changed or deleted 50 lines changed or added


 v8-profiler.h   v8-profiler.h 
skipping to change at line 139 skipping to change at line 139
/** Returns the root node of the top down call tree. */ /** Returns the root node of the top down call tree. */
const CpuProfileNode* GetTopDownRoot() const; const CpuProfileNode* GetTopDownRoot() const;
}; };
/** /**
* Interface for controlling CPU profiling. * Interface for controlling CPU profiling.
*/ */
class V8EXPORT CpuProfiler { class V8EXPORT CpuProfiler {
public: public:
/** /**
* A note on security tokens usage. As scripts from different
* origins can run inside a single V8 instance, it is possible to
* have functions from different security contexts intermixed in a
* single CPU profile. To avoid exposing function names belonging to
* other contexts, filtering by security token is performed while
* obtaining profiling results.
*/
/**
* Returns the number of profiles collected (doesn't include * Returns the number of profiles collected (doesn't include
* profiles that are being collected at the moment of call.) * profiles that are being collected at the moment of call.)
*/ */
static int GetProfilesCount(); static int GetProfilesCount();
/** Returns a profile by index. */ /** Returns a profile by index. */
static const CpuProfile* GetProfile(int index); static const CpuProfile* GetProfile(
int index,
Handle<Value> security_token = Handle<Value>());
/** Returns a profile by uid. */ /** Returns a profile by uid. */
static const CpuProfile* FindProfile(unsigned uid); static const CpuProfile* FindProfile(
unsigned uid,
Handle<Value> security_token = Handle<Value>());
/** /**
* Starts collecting CPU profile. Title may be an empty string. It * Starts collecting CPU profile. Title may be an empty string. It
* is allowed to have several profiles being collected at * is allowed to have several profiles being collected at
* once. Attempts to start collecting several profiles with the same * once. Attempts to start collecting several profiles with the same
* title are silently ignored. * title are silently ignored. While collecting a profile, functions
* from all security contexts are included in it. The token-based
* filtering is only performed when querying for a profile.
*/ */
static void StartProfiling(Handle<String> title); static void StartProfiling(Handle<String> title);
/** /**
* Stops collecting CPU profile with a given title and returns it. * Stops collecting CPU profile with a given title and returns it.
* If the title given is empty, finishes the last profile started. * If the title given is empty, finishes the last profile started.
*/ */
static const CpuProfile* StopProfiling(Handle<String> title); static const CpuProfile* StopProfiling(
Handle<String> title,
Handle<Value> security_token = Handle<Value>());
}; };
} // namespace v8 } // namespace v8
#undef V8EXPORT #undef V8EXPORT
#endif // V8_V8_PROFILER_H_ #endif // V8_V8_PROFILER_H_
 End of changes. 5 change blocks. 
4 lines changed or deleted 21 lines changed or added


 v8.h   v8.h 
skipping to change at line 129 skipping to change at line 129
class Function; class Function;
class Date; class Date;
class ImplementationUtilities; class ImplementationUtilities;
class Signature; class Signature;
template <class T> class Handle; template <class T> class Handle;
template <class T> class Local; template <class T> class Local;
template <class T> class Persistent; template <class T> class Persistent;
class FunctionTemplate; class FunctionTemplate;
class ObjectTemplate; class ObjectTemplate;
class Data; class Data;
class AccessorInfo;
class StackTrace; class StackTrace;
class StackFrame; class StackFrame;
namespace internal { namespace internal {
class Arguments; class Arguments;
class Object; class Object;
class Top; class Top;
} }
skipping to change at line 506 skipping to change at line 507
/** /**
* Pre-compilation data that can be associated with a script. This * Pre-compilation data that can be associated with a script. This
* data can be calculated for a script in advance of actually * data can be calculated for a script in advance of actually
* compiling it, and can be stored between compilations. When script * compiling it, and can be stored between compilations. When script
* data is given to the compile method compilation will be faster. * data is given to the compile method compilation will be faster.
*/ */
class V8EXPORT ScriptData { // NOLINT class V8EXPORT ScriptData { // NOLINT
public: public:
virtual ~ScriptData() { } virtual ~ScriptData() { }
/**
* Pre-compiles the specified script (context-independent).
*
* \param input Pointer to UTF-8 script source code.
* \param length Length of UTF-8 script source code.
*/
static ScriptData* PreCompile(const char* input, int length); static ScriptData* PreCompile(const char* input, int length);
static ScriptData* New(unsigned* data, int length);
/**
* Load previous pre-compilation data.
*
* \param data Pointer to data returned by a call to Data() of a previous
* ScriptData. Ownership is not transferred.
* \param length Length of data.
*/
static ScriptData* New(const char* data, int length);
/**
* Returns the length of Data().
*/
virtual int Length() = 0; virtual int Length() = 0;
virtual unsigned* Data() = 0;
/**
* Returns a serialized representation of this ScriptData that can later
be
* passed to New(). NOTE: Serialized data is platform-dependent.
*/
virtual const char* Data() = 0;
/**
* Returns true if the source code could not be parsed.
*/
virtual bool HasError() = 0; virtual bool HasError() = 0;
}; };
/** /**
* The origin, within a file, of a script. * The origin, within a file, of a script.
*/ */
class V8EXPORT ScriptOrigin { class V8EXPORT ScriptOrigin {
public: public:
ScriptOrigin(Handle<Value> resource_name, ScriptOrigin(Handle<Value> resource_name,
Handle<Integer> resource_line_offset = Handle<Integer>(), Handle<Integer> resource_line_offset = Handle<Integer>(),
skipping to change at line 1284 skipping to change at line 1311
kExternalByteArray = 1, kExternalByteArray = 1,
kExternalUnsignedByteArray, kExternalUnsignedByteArray,
kExternalShortArray, kExternalShortArray,
kExternalUnsignedShortArray, kExternalUnsignedShortArray,
kExternalIntArray, kExternalIntArray,
kExternalUnsignedIntArray, kExternalUnsignedIntArray,
kExternalFloatArray kExternalFloatArray
}; };
/** /**
* Accessor[Getter|Setter] are used as callback functions when
* setting|getting a particular property. See Object and ObjectTemplate's
* method SetAccessor.
*/
typedef Handle<Value> (*AccessorGetter)(Local<String> property,
const AccessorInfo& info);
typedef void (*AccessorSetter)(Local<String> property,
Local<Value> value,
const AccessorInfo& info);
/**
* Access control specifications.
*
* Some accessors should be accessible across contexts. These
* accessors have an explicit access control parameter which specifies
* the kind of cross-context access that should be allowed.
*
* Additionally, for security, accessors can prohibit overwriting by
* accessors defined in JavaScript. For objects that have such
* accessors either locally or in their prototype chain it is not
* possible to overwrite the accessor by using __defineGetter__ or
* __defineSetter__ from JavaScript code.
*/
enum AccessControl {
DEFAULT = 0,
ALL_CAN_READ = 1,
ALL_CAN_WRITE = 1 << 1,
PROHIBITS_OVERWRITING = 1 << 2
};
/**
* A JavaScript object (ECMA-262, 4.3.3) * A JavaScript object (ECMA-262, 4.3.3)
*/ */
class V8EXPORT Object : public Value { class V8EXPORT Object : public Value {
public: public:
bool Set(Handle<Value> key, bool Set(Handle<Value> key,
Handle<Value> value, Handle<Value> value,
PropertyAttribute attribs = None); PropertyAttribute attribs = None);
bool Set(uint32_t index, bool Set(uint32_t index,
Handle<Value> value); Handle<Value> value);
skipping to change at line 1325 skipping to change at line 1384
bool Delete(Handle<String> key); bool Delete(Handle<String> key);
// Delete a property on this object bypassing interceptors and // Delete a property on this object bypassing interceptors and
// ignoring dont-delete attributes. // ignoring dont-delete attributes.
bool ForceDelete(Handle<Value> key); bool ForceDelete(Handle<Value> key);
bool Has(uint32_t index); bool Has(uint32_t index);
bool Delete(uint32_t index); bool Delete(uint32_t index);
bool SetAccessor(Handle<String> name,
AccessorGetter getter,
AccessorSetter setter = 0,
Handle<Value> data = Handle<Value>(),
AccessControl settings = DEFAULT,
PropertyAttribute attribute = None);
/** /**
* Returns an array containing the names of the enumerable properties * Returns an array containing the names of the enumerable properties
* of this object, including properties from prototype objects. The * of this object, including properties from prototype objects. The
* array returned by this method contains the same values as would * array returned by this method contains the same values as would
* be enumerated by a for-in statement over this object. * be enumerated by a for-in statement over this object.
*/ */
Local<Array> GetPropertyNames(); Local<Array> GetPropertyNames();
/** /**
* Get the prototype object. This does not skip objects marked to * Get the prototype object. This does not skip objects marked to
skipping to change at line 1612 skipping to change at line 1678
inline Local<Object> Holder() const; inline Local<Object> Holder() const;
private: private:
internal::Object** args_; internal::Object** args_;
}; };
typedef Handle<Value> (*InvocationCallback)(const Arguments& args); typedef Handle<Value> (*InvocationCallback)(const Arguments& args);
typedef int (*LookupCallback)(Local<Object> self, Local<String> name); typedef int (*LookupCallback)(Local<Object> self, Local<String> name);
/** /**
* Accessor[Getter|Setter] are used as callback functions when
* setting|getting a particular property. See objectTemplate::SetAccessor.
*/
typedef Handle<Value> (*AccessorGetter)(Local<String> property,
const AccessorInfo& info);
typedef void (*AccessorSetter)(Local<String> property,
Local<Value> value,
const AccessorInfo& info);
/**
* NamedProperty[Getter|Setter] are used as interceptors on object. * NamedProperty[Getter|Setter] are used as interceptors on object.
* See ObjectTemplate::SetNamedPropertyHandler. * See ObjectTemplate::SetNamedPropertyHandler.
*/ */
typedef Handle<Value> (*NamedPropertyGetter)(Local<String> property, typedef Handle<Value> (*NamedPropertyGetter)(Local<String> property,
const AccessorInfo& info); const AccessorInfo& info);
/** /**
* Returns the value if the setter intercepts the request. * Returns the value if the setter intercepts the request.
* Otherwise, returns an empty handle. * Otherwise, returns an empty handle.
*/ */
skipping to change at line 1695 skipping to change at line 1750
typedef Handle<Boolean> (*IndexedPropertyDeleter)(uint32_t index, typedef Handle<Boolean> (*IndexedPropertyDeleter)(uint32_t index,
const AccessorInfo& info) ; const AccessorInfo& info) ;
/** /**
* Returns an array containing the indices of the properties the * Returns an array containing the indices of the properties the
* indexed property getter intercepts. * indexed property getter intercepts.
*/ */
typedef Handle<Array> (*IndexedPropertyEnumerator)(const AccessorInfo& info ); typedef Handle<Array> (*IndexedPropertyEnumerator)(const AccessorInfo& info );
/** /**
* Access control specifications.
*
* Some accessors should be accessible across contexts. These
* accessors have an explicit access control parameter which specifies
* the kind of cross-context access that should be allowed.
*
* Additionally, for security, accessors can prohibit overwriting by
* accessors defined in JavaScript. For objects that have such
* accessors either locally or in their prototype chain it is not
* possible to overwrite the accessor by using __defineGetter__ or
* __defineSetter__ from JavaScript code.
*/
enum AccessControl {
DEFAULT = 0,
ALL_CAN_READ = 1,
ALL_CAN_WRITE = 1 << 1,
PROHIBITS_OVERWRITING = 1 << 2
};
/**
* Access type specification. * Access type specification.
*/ */
enum AccessType { enum AccessType {
ACCESS_GET, ACCESS_GET,
ACCESS_SET, ACCESS_SET,
ACCESS_HAS, ACCESS_HAS,
ACCESS_DELETE, ACCESS_DELETE,
ACCESS_KEYS ACCESS_KEYS
}; };
skipping to change at line 2798 skipping to change at line 2833
* restore the connection between a global object and a context * restore the connection between a global object and a context
* after DetachGlobal has been called. * after DetachGlobal has been called.
* *
* \param global_object The global object to reattach to the * \param global_object The global object to reattach to the
* context. For this to work, the global object must be the global * context. For this to work, the global object must be the global
* object that was associated with this context before a call to * object that was associated with this context before a call to
* DetachGlobal. * DetachGlobal.
*/ */
void ReattachGlobal(Handle<Object> global_object); void ReattachGlobal(Handle<Object> global_object);
/** Creates a new context. */ /** Creates a new context.
*
* Returns a persistent handle to the newly allocated context. This
* persistent handle has to be disposed when the context is no
* longer used so the context can be garbage collected.
*/
static Persistent<Context> New( static Persistent<Context> New(
ExtensionConfiguration* extensions = NULL, ExtensionConfiguration* extensions = NULL,
Handle<ObjectTemplate> global_template = Handle<ObjectTemplate>(), Handle<ObjectTemplate> global_template = Handle<ObjectTemplate>(),
Handle<Value> global_object = Handle<Value>()); Handle<Value> global_object = Handle<Value>());
/** Returns the last entered context. */ /** Returns the last entered context. */
static Local<Context> GetEntered(); static Local<Context> GetEntered();
/** Returns the context that is on the top of the stack. */ /** Returns the context that is on the top of the stack. */
static Local<Context> GetCurrent(); static Local<Context> GetCurrent();
 End of changes. 10 change blocks. 
34 lines changed or deleted 75 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/