nsJSInspector.h (955B)
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2; -*- */ 2 /* This Source Code Form is subject to the terms of the Mozilla Public 3 * License, v. 2.0. If a copy of the MPL was not distributed with this 4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 5 6 #ifndef COMPONENTS_JSINSPECTOR_H 7 #define COMPONENTS_JSINSPECTOR_H 8 9 #include "nsIJSInspector.h" 10 #include "nsCycleCollectionParticipant.h" 11 #include "nsTArray.h" 12 #include "js/Value.h" 13 #include "js/RootingAPI.h" 14 15 namespace mozilla { 16 namespace jsinspector { 17 18 class nsJSInspector final : public nsIJSInspector { 19 public: 20 NS_DECL_CYCLE_COLLECTING_ISUPPORTS 21 NS_DECL_CYCLE_COLLECTION_SCRIPT_HOLDER_CLASS(nsJSInspector) 22 NS_DECL_NSIJSINSPECTOR 23 24 nsJSInspector(); 25 26 private: 27 ~nsJSInspector(); 28 29 uint32_t mNestedLoopLevel; 30 nsTArray<JS::Heap<JS::Value> > mRequestors; 31 JS::Heap<JS::Value> mLastRequestor; 32 }; 33 34 } // namespace jsinspector 35 } // namespace mozilla 36 37 #endif