mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-28 15:23:51 +00:00
90bafd1f42
PerformanceCounters are currently disabled in two ways: - a preference that's off by default "dom.performance.enable_scheduler_timing" - calls made only for nightly using #ifndef RELEASE_OR_BETA In order to simplify the code, let's remove the #ifndef and rely only on the pref. That will also allows us to use the feature in every version going forward. The performance will not be impacted since the current code is already using the (cached) pref value to determine if the counters are used. MozReview-Commit-ID: 47t2M1O13aH --HG-- extra : rebase_source : e129e1829f1dc37c019e50e156474c4876d6d6cb
71 lines
1.7 KiB
C++
71 lines
1.7 KiB
C++
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
|
|
/* 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_workers_WorkerDebugger_h
|
|
#define mozilla_dom_workers_WorkerDebugger_h
|
|
|
|
#include "mozilla/dom/DOMTypes.h"
|
|
#include "mozilla/dom/WorkerCommon.h"
|
|
#include "nsIWorkerDebugger.h"
|
|
|
|
namespace mozilla {
|
|
namespace dom {
|
|
|
|
class WorkerPrivate;
|
|
|
|
class WorkerDebugger : public nsIWorkerDebugger
|
|
{
|
|
class ReportDebuggerErrorRunnable;
|
|
class PostDebuggerMessageRunnable;
|
|
|
|
WorkerPrivate* mWorkerPrivate;
|
|
bool mIsInitialized;
|
|
nsTArray<nsCOMPtr<nsIWorkerDebuggerListener>> mListeners;
|
|
|
|
public:
|
|
explicit WorkerDebugger(WorkerPrivate* aWorkerPrivate);
|
|
|
|
NS_DECL_ISUPPORTS
|
|
NS_DECL_NSIWORKERDEBUGGER
|
|
|
|
void
|
|
AssertIsOnParentThread();
|
|
|
|
void
|
|
Close();
|
|
|
|
void
|
|
PostMessageToDebugger(const nsAString& aMessage);
|
|
|
|
void
|
|
ReportErrorToDebugger(const nsAString& aFilename, uint32_t aLineno,
|
|
const nsAString& aMessage);
|
|
|
|
/*
|
|
* Sends back a PerformanceInfo struct from the counters
|
|
* in mWorkerPrivate. Counters are reset to zero after this call.
|
|
*/
|
|
PerformanceInfo
|
|
ReportPerformanceInfo();
|
|
|
|
private:
|
|
virtual
|
|
~WorkerDebugger();
|
|
|
|
void
|
|
PostMessageToDebuggerOnMainThread(const nsAString& aMessage);
|
|
|
|
void
|
|
ReportErrorToDebuggerOnMainThread(const nsAString& aFilename,
|
|
uint32_t aLineno,
|
|
const nsAString& aMessage);
|
|
};
|
|
|
|
} // dom namespace
|
|
} // mozilla namespace
|
|
|
|
#endif // mozilla_dom_workers_WorkerDebugger_h
|