2014-04-03 04:58:00 -07:00
|
|
|
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
|
|
|
/* vim: set ts=8 sts=4 et sw=4 tw=99: */
|
|
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
2012-05-21 04:12:37 -07:00
|
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
2010-07-02 14:09:48 -07:00
|
|
|
|
|
|
|
#ifndef __CrossOriginWrapper_h__
|
|
|
|
#define __CrossOriginWrapper_h__
|
|
|
|
|
2011-12-15 11:32:25 -08:00
|
|
|
#include "mozilla/Attributes.h"
|
|
|
|
|
2010-07-02 14:09:48 -07:00
|
|
|
#include "jswrapper.h"
|
|
|
|
|
|
|
|
namespace xpc {
|
|
|
|
|
2012-07-16 08:53:16 -07:00
|
|
|
class WaiveXrayWrapper : public js::CrossCompartmentWrapper {
|
2010-07-02 14:09:48 -07:00
|
|
|
public:
|
2014-08-28 13:47:16 -07:00
|
|
|
explicit MOZ_CONSTEXPR WaiveXrayWrapper(unsigned flags) : js::CrossCompartmentWrapper(flags) { }
|
2010-07-02 14:09:48 -07:00
|
|
|
|
2013-03-21 15:23:48 -07:00
|
|
|
virtual bool getOwnPropertyDescriptor(JSContext *cx, JS::Handle<JSObject*> wrapper,
|
|
|
|
JS::Handle<jsid> id,
|
2014-06-27 04:44:06 -07:00
|
|
|
JS::MutableHandle<JSPropertyDescriptor> desc) const MOZ_OVERRIDE;
|
2014-10-08 10:09:08 -07:00
|
|
|
virtual bool getPrototypeOf(JSContext *cx, JS::Handle<JSObject*> wrapper,
|
|
|
|
JS::MutableHandle<JSObject*> protop) const MOZ_OVERRIDE;
|
2013-03-21 15:23:48 -07:00
|
|
|
virtual bool get(JSContext *cx, JS::Handle<JSObject*> wrapper, JS::Handle<JSObject*> receiver,
|
2014-06-27 04:44:06 -07:00
|
|
|
JS::Handle<jsid> id, JS::MutableHandle<JS::Value> vp) const MOZ_OVERRIDE;
|
2013-04-04 00:02:24 -07:00
|
|
|
virtual bool call(JSContext *cx, JS::Handle<JSObject*> wrapper,
|
2014-06-27 04:44:06 -07:00
|
|
|
const JS::CallArgs &args) const MOZ_OVERRIDE;
|
2013-03-21 15:23:48 -07:00
|
|
|
virtual bool construct(JSContext *cx, JS::Handle<JSObject*> wrapper,
|
2014-06-27 04:44:06 -07:00
|
|
|
const JS::CallArgs &args) const MOZ_OVERRIDE;
|
2010-12-03 19:00:23 -08:00
|
|
|
|
2014-12-16 15:28:38 -08:00
|
|
|
virtual bool enumerate(JSContext *cx, JS::Handle<JSObject*> proxy,
|
|
|
|
JS::MutableHandle<JSObject*> objp) const MOZ_OVERRIDE;
|
2013-04-03 11:41:23 -07:00
|
|
|
virtual bool nativeCall(JSContext *cx, JS::IsAcceptableThis test,
|
2014-06-27 04:44:06 -07:00
|
|
|
JS::NativeImpl impl, JS::CallArgs args) const MOZ_OVERRIDE;
|
2014-10-08 10:09:08 -07:00
|
|
|
virtual bool getPropertyDescriptor(JSContext *cx, JS::Handle<JSObject*> wrapper,
|
|
|
|
JS::Handle<jsid> id,
|
|
|
|
JS::MutableHandle<JSPropertyDescriptor> desc) const MOZ_OVERRIDE;
|
2013-12-13 12:01:30 -08:00
|
|
|
|
2014-06-27 04:44:04 -07:00
|
|
|
static const WaiveXrayWrapper singleton;
|
2010-07-02 14:09:48 -07:00
|
|
|
};
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|