Bug 752578 - Use mfbt's guard object implementation in js/ipc. r=Ms2ger

--HG--
extra : rebase_source : 503ea2a8098440b99b27ba0b30e5ec0ca14d2db9
This commit is contained in:
Jeff Walden 2012-12-27 11:20:22 -06:00
parent 0ae591eef5
commit 25d5ce403c
2 changed files with 16 additions and 12 deletions

View File

@ -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);
}
};

View File

@ -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;
}
};