| Index: include/v8.h
|
| diff --git a/include/v8.h b/include/v8.h
|
| index 79f4478ea6f626ff297314b4ed227d5dc088abed..4206105424d4ed73be4e67c071e810f68d3f57f3 100644
|
| --- a/include/v8.h
|
| +++ b/include/v8.h
|
| @@ -480,6 +480,22 @@ class NonCopyablePersistentTraits {
|
|
|
|
|
| /**
|
| + * Helper class traits to allow copying and assignment of Persistent.
|
| + * This will clone the contents of storage cell, but not any of the flags, etc.
|
| + */
|
| +template<class T>
|
| +struct CopyablePersistentTraits {
|
| + typedef Persistent<T, CopyablePersistentTraits<T> > CopyablePersistent;
|
| + static const bool kResetInDestructor = true;
|
| + template<class S, class M>
|
| + static V8_INLINE void Copy(const Persistent<S, M>& source,
|
| + CopyablePersistent* dest) {
|
| + // do nothing, just allow copy
|
| + }
|
| +};
|
| +
|
| +
|
| +/**
|
| * An object reference that is independent of any handle scope. Where
|
| * a Local handle only lives as long as the HandleScope in which it was
|
| * allocated, a Persistent handle remains valid until it is explicitly
|
| @@ -4018,10 +4034,23 @@ class V8_EXPORT Isolate {
|
| */
|
| CpuProfiler* GetCpuProfiler();
|
|
|
| + /** Returns true if this isolate has a current context. */
|
| + bool InContext();
|
| +
|
| /** Returns the context that is on the top of the stack. */
|
| Local<Context> GetCurrentContext();
|
|
|
| /**
|
| + * Returns the context of the calling JavaScript code. That is the
|
| + * context of the top-most JavaScript frame. If there are no
|
| + * JavaScript frames an empty handle is returned.
|
| + */
|
| + Local<Context> GetCallingContext();
|
| +
|
| + /** Returns the last entered context. */
|
| + Local<Context> GetEnteredContext();
|
| +
|
| + /**
|
| * Allows the host application to group objects together. If one
|
| * object in the group is alive, all objects in the group are alive.
|
| * After each garbage collection, object groups are removed. It is
|
| @@ -4923,24 +4952,16 @@ class V8_EXPORT Context {
|
| Handle<ObjectTemplate> global_template = Handle<ObjectTemplate>(),
|
| Handle<Value> global_object = Handle<Value>());
|
|
|
| - /** Deprecated. Use Isolate version instead. */
|
| - V8_DEPRECATED(static Persistent<Context> New(
|
| - ExtensionConfiguration* extensions = NULL,
|
| - Handle<ObjectTemplate> global_template = Handle<ObjectTemplate>(),
|
| - Handle<Value> global_object = Handle<Value>()));
|
| -
|
| - /** Returns the last entered context. */
|
| + // TODO(dcarney): Remove this function.
|
| + /** Deprecated. Use Isolate::GetEnteredContext */
|
| static Local<Context> GetEntered();
|
|
|
| - // TODO(svenpanne) Actually deprecate this.
|
| + // TODO(dcarney) Remove this function.
|
| /** Deprecated. Use Isolate::GetCurrentContext instead. */
|
| static Local<Context> GetCurrent();
|
|
|
| - /**
|
| - * Returns the context of the calling JavaScript code. That is the
|
| - * context of the top-most JavaScript frame. If there are no
|
| - * JavaScript frames an empty handle is returned.
|
| - */
|
| + // TODO(dcarney) Remove this function.
|
| + /** Deprecated. Use Isolate::GetCallingContext instead. */
|
| static Local<Context> GetCalling();
|
|
|
| /**
|
| @@ -4972,7 +4993,8 @@ class V8_EXPORT Context {
|
| /** Returns true if the context has experienced an out of memory situation. */
|
| bool HasOutOfMemoryException();
|
|
|
| - /** Returns true if V8 has a current context. */
|
| + // TODO(dcarney) Remove this function.
|
| + /** Deprecated. Use Isolate::InContext instead. */
|
| static bool InContext();
|
|
|
| /** Returns an isolate associated with a current context. */
|
|
|