OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * | 7 * |
8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
(...skipping 23 matching lines...) Expand all Loading... |
34 #include "core/dom/custom/V0CustomElementScheduler.h" | 34 #include "core/dom/custom/V0CustomElementScheduler.h" |
35 | 35 |
36 namespace blink { | 36 namespace blink { |
37 | 37 |
38 size_t V0CustomElementProcessingStack::s_elementQueueStart = 0; | 38 size_t V0CustomElementProcessingStack::s_elementQueueStart = 0; |
39 | 39 |
40 // The base of the stack has a null sentinel value. | 40 // The base of the stack has a null sentinel value. |
41 size_t V0CustomElementProcessingStack::s_elementQueueEnd = kNumSentinels; | 41 size_t V0CustomElementProcessingStack::s_elementQueueEnd = kNumSentinels; |
42 | 42 |
43 V0CustomElementProcessingStack& V0CustomElementProcessingStack::instance() { | 43 V0CustomElementProcessingStack& V0CustomElementProcessingStack::instance() { |
| 44 ALLOW_UNSAFE_SINGLETON() |
44 DEFINE_STATIC_LOCAL(V0CustomElementProcessingStack, instance, | 45 DEFINE_STATIC_LOCAL(V0CustomElementProcessingStack, instance, |
45 (new V0CustomElementProcessingStack)); | 46 (new V0CustomElementProcessingStack)); |
46 return instance; | 47 return instance; |
47 } | 48 } |
48 | 49 |
49 // Dispatches callbacks when popping the processing stack. | 50 // Dispatches callbacks when popping the processing stack. |
50 void V0CustomElementProcessingStack::processElementQueueAndPop() { | 51 void V0CustomElementProcessingStack::processElementQueueAndPop() { |
51 instance().processElementQueueAndPop(s_elementQueueStart, s_elementQueueEnd); | 52 instance().processElementQueueAndPop(s_elementQueueStart, s_elementQueueEnd); |
52 } | 53 } |
53 | 54 |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
88 | 89 |
89 m_flattenedProcessingStack.push_back(callbackQueue); | 90 m_flattenedProcessingStack.push_back(callbackQueue); |
90 ++s_elementQueueEnd; | 91 ++s_elementQueueEnd; |
91 } | 92 } |
92 | 93 |
93 DEFINE_TRACE(V0CustomElementProcessingStack) { | 94 DEFINE_TRACE(V0CustomElementProcessingStack) { |
94 visitor->trace(m_flattenedProcessingStack); | 95 visitor->trace(m_flattenedProcessingStack); |
95 } | 96 } |
96 | 97 |
97 } // namespace blink | 98 } // namespace blink |
OLD | NEW |