mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 752578 - Use mfbt's guard object implementation in js/ipc. r=Ms2ger
--HG-- extra : rebase_source : 503ea2a8098440b99b27ba0b30e5ec0ca14d2db9
This commit is contained in:
parent
0ae591eef5
commit
25d5ce403c
@ -5,6 +5,8 @@
|
||||
* 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/. */
|
||||
|
||||
#include "mozilla/GuardObjects.h"
|
||||
|
||||
#include "base/basictypes.h"
|
||||
|
||||
#include "mozilla/jsipc/ContextWrapperChild.h"
|
||||
@ -28,18 +30,18 @@ namespace {
|
||||
JSAutoRequest mRequest;
|
||||
JSContext* const mContext;
|
||||
const uint32_t mSavedOptions;
|
||||
JS_DECL_USE_GUARD_OBJECT_NOTIFIER
|
||||
MOZ_DECL_USE_GUARD_OBJECT_NOTIFIER
|
||||
|
||||
public:
|
||||
|
||||
AutoContextPusher(JSContext* cx
|
||||
JS_GUARD_OBJECT_NOTIFIER_PARAM)
|
||||
MOZ_GUARD_OBJECT_NOTIFIER_PARAM)
|
||||
: mRequest(cx)
|
||||
, mContext(cx)
|
||||
, mSavedOptions(JS_SetOptions(cx, (JS_GetOptions(cx) |
|
||||
JSOPTION_DONT_REPORT_UNCAUGHT)))
|
||||
{
|
||||
JS_GUARD_OBJECT_NOTIFIER_INIT;
|
||||
MOZ_GUARD_OBJECT_NOTIFIER_INIT;
|
||||
mStack.Push(cx, false);
|
||||
}
|
||||
|
||||
@ -76,14 +78,14 @@ namespace {
|
||||
|
||||
class AutoCheckOperation : public ACOBase
|
||||
{
|
||||
JS_DECL_USE_GUARD_OBJECT_NOTIFIER
|
||||
MOZ_DECL_USE_GUARD_OBJECT_NOTIFIER
|
||||
public:
|
||||
AutoCheckOperation(ObjectWrapperChild* owc,
|
||||
OperationStatus* statusPtr
|
||||
JS_GUARD_OBJECT_NOTIFIER_PARAM)
|
||||
MOZ_GUARD_OBJECT_NOTIFIER_PARAM)
|
||||
: ACOBase(NULL, owc)
|
||||
{
|
||||
JS_GUARD_OBJECT_NOTIFIER_INIT;
|
||||
MOZ_GUARD_OBJECT_NOTIFIER_INIT;
|
||||
SetStatusPtr(statusPtr);
|
||||
}
|
||||
};
|
||||
|
@ -5,6 +5,8 @@
|
||||
* 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/. */
|
||||
|
||||
#include "mozilla/GuardObjects.h"
|
||||
|
||||
#include "mozilla/jsipc/ObjectWrapperParent.h"
|
||||
#include "mozilla/jsipc/ContextWrapperParent.h"
|
||||
#include "mozilla/jsipc/CPOWTypes.h"
|
||||
@ -28,7 +30,7 @@ namespace {
|
||||
{
|
||||
JSObject* mObj;
|
||||
unsigned mOldFlags;
|
||||
JS_DECL_USE_GUARD_OBJECT_NOTIFIER
|
||||
MOZ_DECL_USE_GUARD_OBJECT_NOTIFIER
|
||||
|
||||
static unsigned GetFlags(JSObject* obj) {
|
||||
jsval v = JS_GetReservedSlot(obj, sFlagsSlot);
|
||||
@ -45,11 +47,11 @@ namespace {
|
||||
public:
|
||||
|
||||
AutoResolveFlag(JSObject* obj
|
||||
JS_GUARD_OBJECT_NOTIFIER_PARAM)
|
||||
MOZ_GUARD_OBJECT_NOTIFIER_PARAM)
|
||||
: mObj(obj)
|
||||
, mOldFlags(SetFlags(obj, GetFlags(obj) | CPOW_FLAG_RESOLVING))
|
||||
{
|
||||
JS_GUARD_OBJECT_NOTIFIER_INIT;
|
||||
MOZ_GUARD_OBJECT_NOTIFIER_INIT;
|
||||
}
|
||||
|
||||
~AutoResolveFlag() {
|
||||
@ -76,14 +78,14 @@ namespace {
|
||||
|
||||
class AutoCheckOperation : public ACOBase
|
||||
{
|
||||
JS_DECL_USE_GUARD_OBJECT_NOTIFIER
|
||||
MOZ_DECL_USE_GUARD_OBJECT_NOTIFIER
|
||||
public:
|
||||
AutoCheckOperation(JSContext* cx,
|
||||
ObjectWrapperParent* owp
|
||||
JS_GUARD_OBJECT_NOTIFIER_PARAM)
|
||||
MOZ_GUARD_OBJECT_NOTIFIER_PARAM)
|
||||
: ACOBase(cx, owp)
|
||||
{
|
||||
JS_GUARD_OBJECT_NOTIFIER_INIT;
|
||||
MOZ_GUARD_OBJECT_NOTIFIER_INIT;
|
||||
}
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user