Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(400)

Side by Side Diff: Source/core/timing/PerformanceEntry.h

Issue 1198863006: First version of PerformanceObserver (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Code review comments Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2012 Google Inc. All rights reserved. 2 * Copyright (C) 2012 Google Inc. All rights reserved.
3 * Copyright (C) 2012 Intel Inc. All rights reserved. 3 * Copyright (C) 2012 Intel Inc. All rights reserved.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are 6 * modification, are permitted provided that the following conditions are
7 * met: 7 * met:
8 * 8 *
9 * * Redistributions of source code must retain the above copyright 9 * * Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer. 10 * notice, this list of conditions and the following disclaimer.
(...skipping 24 matching lines...) Expand all
35 #include "bindings/core/v8/ScriptWrappable.h" 35 #include "bindings/core/v8/ScriptWrappable.h"
36 #include "core/CoreExport.h" 36 #include "core/CoreExport.h"
37 #include "platform/heap/Handle.h" 37 #include "platform/heap/Handle.h"
38 #include "wtf/text/WTFString.h" 38 #include "wtf/text/WTFString.h"
39 39
40 namespace blink { 40 namespace blink {
41 41
42 class ScriptState; 42 class ScriptState;
43 class ScriptValue; 43 class ScriptValue;
44 44
45 using PerformanceEntryType = unsigned char;
46 using PerformanceEntryTypeMask = unsigned char;
47
45 class CORE_EXPORT PerformanceEntry : public GarbageCollectedFinalized<Performanc eEntry>, public ScriptWrappable { 48 class CORE_EXPORT PerformanceEntry : public GarbageCollectedFinalized<Performanc eEntry>, public ScriptWrappable {
46 DEFINE_WRAPPERTYPEINFO(); 49 DEFINE_WRAPPERTYPEINFO();
47 public: 50 public:
48 virtual ~PerformanceEntry(); 51 virtual ~PerformanceEntry();
49 52
53 enum EntryType {
54 Invalid = 0,
55 Composite = 1 << 1,
56 Mark = 1 << 2,
57 Measure = 1 << 3,
58 Render = 1 << 4,
59 Resource = 1 << 5,
60 };
61
50 String name() const; 62 String name() const;
51 String entryType() const; 63 String entryType() const;
52 double startTime() const; 64 double startTime() const;
53 double duration() const; 65 double duration() const;
54 66
55 ScriptValue toJSONForBinding(ScriptState*) const; 67 ScriptValue toJSONForBinding(ScriptState*) const;
56 68
57 virtual bool isResource() { return false; } 69 PerformanceEntryType entryTypeEnum() const { return m_entryTypeEnum; }
58 virtual bool isRender() { return false; } 70
59 virtual bool isComposite() { return false; } 71 bool isResource() const { return m_entryTypeEnum == Resource; }
60 virtual bool isMark() { return false; } 72 bool isRender() const { return m_entryTypeEnum == Render; }
61 virtual bool isMeasure() { return false; } 73 bool isComposite() const { return m_entryTypeEnum == Composite; }
74 bool isMark() const { return m_entryTypeEnum == Mark; }
75 bool isMeasure() const { return m_entryTypeEnum == Measure; }
62 76
63 static bool startTimeCompareLessThan(PerformanceEntry* a, PerformanceEntry* b) 77 static bool startTimeCompareLessThan(PerformanceEntry* a, PerformanceEntry* b)
64 { 78 {
65 return a->startTime() < b->startTime(); 79 return a->startTime() < b->startTime();
66 } 80 }
67 81
82 static EntryType toEntryTypeEnum(const String& entryType);
83
68 DEFINE_INLINE_VIRTUAL_TRACE() { } 84 DEFINE_INLINE_VIRTUAL_TRACE() { }
69 85
70 protected: 86 protected:
71 PerformanceEntry(const String& name, const String& entryType, double startTi me, double finishTime); 87 PerformanceEntry(const String& name, const String& entryType, double startTi me, double finishTime);
72 88
73 private: 89 private:
74 const String m_name; 90 const String m_name;
75 const String m_entryType; 91 const String m_entryType;
76 const double m_startTime; 92 const double m_startTime;
77 const double m_duration; 93 const double m_duration;
94 const PerformanceEntryType m_entryTypeEnum;
78 }; 95 };
79 96
80 } // namespace blink 97 } // namespace blink
81 98
82 #endif // PerformanceEntry_h 99 #endif // PerformanceEntry_h
OLDNEW
« no previous file with comments | « Source/core/timing/PerformanceCompositeTiming.h ('k') | Source/core/timing/PerformanceEntry.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698