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 are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * 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 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
47 | 47 |
48 CSSSelectorWatch::CSSSelectorWatch(Document& document) | 48 CSSSelectorWatch::CSSSelectorWatch(Document& document) |
49 : m_document(document) | 49 : m_document(document) |
50 , m_callbackSelectorChangeTimer(this, &CSSSelectorWatch::callbackSelectorCha
ngeTimerFired) | 50 , m_callbackSelectorChangeTimer(this, &CSSSelectorWatch::callbackSelectorCha
ngeTimerFired) |
51 , m_timerExpirations(0) | 51 , m_timerExpirations(0) |
52 { | 52 { |
53 } | 53 } |
54 | 54 |
55 CSSSelectorWatch& CSSSelectorWatch::from(Document& document) | 55 CSSSelectorWatch& CSSSelectorWatch::from(Document& document) |
56 { | 56 { |
57 CSSSelectorWatch* watch = static_cast<CSSSelectorWatch*>(DocumentSupplement:
:from(&document, kSupplementName)); | 57 CSSSelectorWatch* watch = static_cast<CSSSelectorWatch*>(DocumentSupplement:
:from(document, kSupplementName)); |
58 if (!watch) { | 58 if (!watch) { |
59 watch = new CSSSelectorWatch(document); | 59 watch = new CSSSelectorWatch(document); |
60 DocumentSupplement::provideTo(&document, kSupplementName, adoptPtr(watch
)); | 60 DocumentSupplement::provideTo(document, kSupplementName, adoptPtr(watch)
); |
61 } | 61 } |
62 return *watch; | 62 return *watch; |
63 } | 63 } |
64 | 64 |
65 void CSSSelectorWatch::callbackSelectorChangeTimerFired(Timer<CSSSelectorWatch>*
) | 65 void CSSSelectorWatch::callbackSelectorChangeTimerFired(Timer<CSSSelectorWatch>*
) |
66 { | 66 { |
67 // Should be ensured by updateSelectorMatches(): | 67 // Should be ensured by updateSelectorMatches(): |
68 ASSERT(!m_addedSelectors.isEmpty() || !m_removedSelectors.isEmpty()); | 68 ASSERT(!m_addedSelectors.isEmpty() || !m_removedSelectors.isEmpty()); |
69 | 69 |
70 if (m_timerExpirations < 1) { | 70 if (m_timerExpirations < 1) { |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
158 | 158 |
159 RefPtr<StyleRule> rule = StyleRule::create(); | 159 RefPtr<StyleRule> rule = StyleRule::create(); |
160 rule->wrapperAdoptSelectorList(selectorList); | 160 rule->wrapperAdoptSelectorList(selectorList); |
161 rule->setProperties(callbackPropertySet); | 161 rule->setProperties(callbackPropertySet); |
162 m_watchedCallbackSelectors.append(rule.release()); | 162 m_watchedCallbackSelectors.append(rule.release()); |
163 } | 163 } |
164 m_document.changedSelectorWatch(); | 164 m_document.changedSelectorWatch(); |
165 } | 165 } |
166 | 166 |
167 } // namespace WebCore | 167 } // namespace WebCore |
OLD | NEW |