зеркало из https://github.com/mozilla/gecko-dev.git
Bug 836301 - Hoist enter() into BaseProxyHandler. r=mrbkap
This commit is contained in:
Родитель
0418ad061b
Коммит
428bacbd55
|
@ -60,6 +60,14 @@ BaseProxyHandler::~BaseProxyHandler()
|
|||
{
|
||||
}
|
||||
|
||||
bool
|
||||
BaseProxyHandler::enter(JSContext *cx, JSObject *wrapper, jsid id, Action act,
|
||||
bool *bp)
|
||||
{
|
||||
*bp = true;
|
||||
return true;
|
||||
}
|
||||
|
||||
bool
|
||||
BaseProxyHandler::has(JSContext *cx, JSObject *proxy_, jsid id_, bool *bp)
|
||||
{
|
||||
|
|
|
@ -77,6 +77,22 @@ class JS_FRIEND_API(BaseProxyHandler) {
|
|||
return false;
|
||||
}
|
||||
|
||||
/* Policy enforcement traps.
|
||||
*
|
||||
* enter() allows the policy to specify whether the caller may perform |act|
|
||||
* on the proxy's |id| property. In the case when |act| is CALL, |id| is
|
||||
* generally JSID_VOID.
|
||||
*
|
||||
* The |act| parameter to enter() specifies the action being performed.
|
||||
*/
|
||||
enum Action {
|
||||
GET,
|
||||
SET,
|
||||
CALL
|
||||
};
|
||||
virtual bool enter(JSContext *cx, JSObject *wrapper, jsid id, Action act,
|
||||
bool *bp);
|
||||
|
||||
/* ES5 Harmony fundamental proxy traps. */
|
||||
virtual bool getPropertyDescriptor(JSContext *cx, JSObject *proxy, jsid id,
|
||||
PropertyDescriptor *desc, unsigned flags) = 0;
|
||||
|
|
|
@ -70,13 +70,6 @@ Wrapper::wrappedObject(RawObject wrapper)
|
|||
return GetProxyTargetObject(wrapper);
|
||||
}
|
||||
|
||||
bool
|
||||
Wrapper::enter(JSContext *cx, JSObject *wrapper, jsid id, Action act, bool *bp)
|
||||
{
|
||||
*bp = true;
|
||||
return true;
|
||||
}
|
||||
|
||||
JS_FRIEND_API(JSObject *)
|
||||
js::UnwrapObject(JSObject *wrapped, bool stopAtOuter, unsigned *flagsp)
|
||||
{
|
||||
|
|
|
@ -32,11 +32,7 @@ class JS_FRIEND_API(Wrapper) : public DirectProxyHandler
|
|||
bool mSafeToUnwrap;
|
||||
|
||||
public:
|
||||
enum Action {
|
||||
GET,
|
||||
SET,
|
||||
CALL
|
||||
};
|
||||
using BaseProxyHandler::Action;
|
||||
|
||||
enum Flags {
|
||||
CROSS_COMPARTMENT = 1 << 0,
|
||||
|
@ -65,17 +61,6 @@ class JS_FRIEND_API(Wrapper) : public DirectProxyHandler
|
|||
return mFlags;
|
||||
}
|
||||
|
||||
/* Policy enforcement traps.
|
||||
*
|
||||
* enter() allows the policy to specify whether the caller may perform |act|
|
||||
* on the underlying object's |id| property. In the case when |act| is CALL,
|
||||
* |id| is generally JSID_VOID.
|
||||
*
|
||||
* The |act| parameter to enter() specifies the action being performed.
|
||||
*/
|
||||
virtual bool enter(JSContext *cx, JSObject *wrapper, jsid id, Action act,
|
||||
bool *bp);
|
||||
|
||||
explicit Wrapper(unsigned flags, bool hasPrototype = false);
|
||||
|
||||
virtual ~Wrapper();
|
||||
|
|
Загрузка…
Ссылка в новой задаче