| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "core/dom/DocumentParserTiming.h" | 5 #include "core/dom/DocumentParserTiming.h" |
| 6 | 6 |
| 7 #include "core/dom/Document.h" | 7 #include "core/dom/Document.h" |
| 8 #include "core/loader/DocumentLoader.h" | 8 #include "core/loader/DocumentLoader.h" |
| 9 #include "platform/instrumentation/tracing/TraceEvent.h" | 9 #include "platform/instrumentation/tracing/TraceEvent.h" |
| 10 | 10 |
| 11 namespace blink { | 11 namespace blink { |
| 12 | 12 |
| 13 static const char kSupplementName[] = "DocumentParserTiming"; | 13 static const char kSupplementNameTiming[] = "DocumentParserTiming"; |
| 14 | 14 |
| 15 DocumentParserTiming& DocumentParserTiming::from(Document& document) { | 15 DocumentParserTiming& DocumentParserTiming::from(Document& document) { |
| 16 DocumentParserTiming* timing = static_cast<DocumentParserTiming*>( | 16 DocumentParserTiming* timing = static_cast<DocumentParserTiming*>( |
| 17 Supplement<Document>::from(document, kSupplementName)); | 17 Supplement<Document>::from(document, kSupplementNameTiming)); |
| 18 if (!timing) { | 18 if (!timing) { |
| 19 timing = new DocumentParserTiming(document); | 19 timing = new DocumentParserTiming(document); |
| 20 Supplement<Document>::provideTo(document, kSupplementName, timing); | 20 Supplement<Document>::provideTo(document, kSupplementNameTiming, timing); |
| 21 } | 21 } |
| 22 return *timing; | 22 return *timing; |
| 23 } | 23 } |
| 24 | 24 |
| 25 void DocumentParserTiming::markParserStart() { | 25 void DocumentParserTiming::markParserStart() { |
| 26 if (m_parserDetached || m_parserStart > 0.0) | 26 if (m_parserDetached || m_parserStart > 0.0) |
| 27 return; | 27 return; |
| 28 DCHECK_EQ(m_parserStop, 0.0); | 28 DCHECK_EQ(m_parserStop, 0.0); |
| 29 m_parserStart = monotonicallyIncreasingTime(); | 29 m_parserStart = monotonicallyIncreasingTime(); |
| 30 notifyDocumentParserTimingChanged(); | 30 notifyDocumentParserTimingChanged(); |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 70 | 70 |
| 71 DocumentParserTiming::DocumentParserTiming(Document& document) | 71 DocumentParserTiming::DocumentParserTiming(Document& document) |
| 72 : Supplement<Document>(document) {} | 72 : Supplement<Document>(document) {} |
| 73 | 73 |
| 74 void DocumentParserTiming::notifyDocumentParserTimingChanged() { | 74 void DocumentParserTiming::notifyDocumentParserTimingChanged() { |
| 75 if (supplementable()->loader()) | 75 if (supplementable()->loader()) |
| 76 supplementable()->loader()->didChangePerformanceTiming(); | 76 supplementable()->loader()->didChangePerformanceTiming(); |
| 77 } | 77 } |
| 78 | 78 |
| 79 } // namespace blink | 79 } // namespace blink |
| OLD | NEW |