toolkit/devtools/server/nsJSInspector.h
author Phil Ringnalda <philringnalda@gmail.com>
Sat, 13 Sep 2014 09:59:06 -0700
changeset 205205 d070787de8f7b56e32bf5800b30f143c4d02d474
parent 153712 4fca788bd150715a8426fb5eab127c3b66ca649a
child 234863 ac4464790ec4896a5188fa50cfc69ae0ffeddc08
permissions -rw-r--r--
Merge b-i to m-c

/* -*-  Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2; -*- */
/* 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 COMPONENTS_JSINSPECTOR_H
#define COMPONENTS_JSINSPECTOR_H

#include "nsIJSInspector.h"
#include "mozilla/Attributes.h"
#include "nsCycleCollectionParticipant.h"
#include "nsTArray.h"
#include "js/Value.h"
#include "js/RootingAPI.h"

namespace mozilla {
namespace jsinspector {

class nsJSInspector MOZ_FINAL : public nsIJSInspector
{
public:
  NS_DECL_CYCLE_COLLECTING_ISUPPORTS
  NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS(nsJSInspector)
  NS_DECL_NSIJSINSPECTOR

  nsJSInspector();

private:
  ~nsJSInspector();

  uint32_t mNestedLoopLevel;
  nsTArray<JS::Heap<JS::Value> > mRequestors;
  JS::Heap<JS::Value> mLastRequestor;
};

}
}

#endif