Line data Source code
1 : /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 : /* vim: set ts=8 sts=2 et sw=2 tw=80: */
3 : /* This Source Code Form is subject to the terms of the Mozilla Public
4 : * License, v. 2.0. If a copy of the MPL was not distributed with this
5 : * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 :
7 : #ifndef mozilla_dom_PerformanceWorker_h
8 : #define mozilla_dom_PerformanceWorker_h
9 :
10 : #include "Performance.h"
11 :
12 : namespace mozilla {
13 : namespace dom {
14 :
15 : namespace workers {
16 : class WorkerPrivate;
17 : }
18 :
19 : class PerformanceWorker final : public Performance
20 : {
21 : public:
22 : explicit PerformanceWorker(workers::WorkerPrivate* aWorkerPrivate);
23 :
24 0 : virtual PerformanceTiming* Timing() override
25 : {
26 0 : MOZ_CRASH("This should not be called on workers.");
27 : return nullptr;
28 : }
29 :
30 0 : virtual PerformanceNavigation* Navigation() override
31 : {
32 0 : MOZ_CRASH("This should not be called on workers.");
33 : return nullptr;
34 : }
35 :
36 0 : virtual void AddEntry(nsIHttpChannel* channel,
37 : nsITimedChannel* timedChannel) override
38 : {
39 0 : MOZ_CRASH("This should not be called on workers.");
40 : }
41 :
42 : TimeStamp CreationTimeStamp() const override;
43 :
44 : DOMHighResTimeStamp CreationTime() const override;
45 :
46 0 : virtual void GetMozMemory(JSContext *aCx,
47 : JS::MutableHandle<JSObject*> aObj) override
48 : {
49 0 : MOZ_CRASH("This should not be called on workers.");
50 : }
51 :
52 0 : virtual nsDOMNavigationTiming* GetDOMTiming() const override
53 : {
54 0 : MOZ_CRASH("This should not be called on workers.");
55 : return nullptr;
56 : }
57 :
58 0 : virtual nsITimedChannel* GetChannel() const override
59 : {
60 0 : MOZ_CRASH("This should not be called on workers.");
61 : return nullptr;
62 : }
63 :
64 : protected:
65 : ~PerformanceWorker();
66 :
67 0 : nsISupports* GetAsISupports() override
68 : {
69 0 : return nullptr;
70 : }
71 :
72 : void InsertUserEntry(PerformanceEntry* aEntry) override;
73 :
74 0 : void DispatchBufferFullEvent() override
75 : {
76 0 : MOZ_CRASH("This should not be called on workers.");
77 : }
78 :
79 : private:
80 : workers::WorkerPrivate* mWorkerPrivate;
81 : };
82 :
83 : } // namespace dom
84 : } // namespace mozilla
85 :
86 : #endif // mozilla_dom_PerformanceWorker_h
|