mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
8a89e647fd
CLOSED TREE Backed out changeset 7613fc978d36 (bug 1142794) Backed out changeset e5f0cb31263d (bug 1142784) Backed out changeset dcd0af73ac84 (bug 1142784) Backed out changeset 034f9c8e79ee (bug 1142784) Backed out changeset ce0ee37e3ca9 (bug 1142775) Backed out changeset 1519b8f2bbba (bug 1142761) Backed out changeset 26fd55677841 (bug 1139683) Backed out changeset 7ebc76a450c3 (bug 1144819) Backed out changeset 92adb459d519 (bug 1143810)
75 lines
2.4 KiB
C++
75 lines
2.4 KiB
C++
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
/* vim: set ts=2 sw=2 et tw=78: */
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* 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/. */
|
|
|
|
#ifndef mozilla_dom_WindowNamedPropertiesHandler_h
|
|
#define mozilla_dom_WindowNamedPropertiesHandler_h
|
|
|
|
#include "mozilla/dom/DOMJSProxyHandler.h"
|
|
|
|
namespace mozilla {
|
|
namespace dom {
|
|
|
|
class WindowNamedPropertiesHandler : public BaseDOMProxyHandler
|
|
{
|
|
public:
|
|
MOZ_CONSTEXPR WindowNamedPropertiesHandler()
|
|
: BaseDOMProxyHandler(nullptr, /* hasPrototype = */ true)
|
|
{
|
|
}
|
|
virtual bool
|
|
getOwnPropDescriptor(JSContext* aCx, JS::Handle<JSObject*> aProxy,
|
|
JS::Handle<jsid> aId,
|
|
bool /* unused */,
|
|
JS::MutableHandle<JSPropertyDescriptor> aDesc)
|
|
const override;
|
|
virtual bool
|
|
defineProperty(JSContext* aCx, JS::Handle<JSObject*> aProxy,
|
|
JS::Handle<jsid> aId,
|
|
JS::MutableHandle<JSPropertyDescriptor> aDesc,
|
|
JS::ObjectOpResult &result) const override;
|
|
virtual bool
|
|
ownPropNames(JSContext* aCx, JS::Handle<JSObject*> aProxy, unsigned flags,
|
|
JS::AutoIdVector& aProps) const override;
|
|
virtual bool
|
|
delete_(JSContext* aCx, JS::Handle<JSObject*> aProxy, JS::Handle<jsid> aId,
|
|
JS::ObjectOpResult &aResult) const override;
|
|
virtual bool
|
|
preventExtensions(JSContext* aCx, JS::Handle<JSObject*> aProxy,
|
|
JS::ObjectOpResult& aResult) const override
|
|
{
|
|
return aResult.failCantPreventExtensions();
|
|
}
|
|
virtual bool
|
|
isExtensible(JSContext* aCx, JS::Handle<JSObject*> aProxy,
|
|
bool* aIsExtensible) const override
|
|
{
|
|
*aIsExtensible = true;
|
|
return true;
|
|
}
|
|
virtual const char*
|
|
className(JSContext *aCx, JS::Handle<JSObject*> aProxy) const override
|
|
{
|
|
return "WindowProperties";
|
|
}
|
|
|
|
static const WindowNamedPropertiesHandler*
|
|
getInstance()
|
|
{
|
|
static const WindowNamedPropertiesHandler instance;
|
|
return &instance;
|
|
}
|
|
|
|
// For Create, aProto is the parent of the interface prototype object of the
|
|
// Window we're associated with.
|
|
static JSObject*
|
|
Create(JSContext *aCx, JS::Handle<JSObject*> aProto);
|
|
};
|
|
|
|
} // namespace dom
|
|
} // namespace mozilla
|
|
|
|
#endif /* mozilla_dom_WindowNamedPropertiesHandler_h */
|