| 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 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 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) { |
| 71 m_timerExpirations++; | 71 m_timerExpirations++; |
| 72 m_callbackSelectorChangeTimer.startOneShot(0); | 72 m_callbackSelectorChangeTimer.startOneShot(0, FROM_HERE); |
| 73 return; | 73 return; |
| 74 } | 74 } |
| 75 if (m_document.frame()) { | 75 if (m_document.frame()) { |
| 76 Vector<String> addedSelectors; | 76 Vector<String> addedSelectors; |
| 77 Vector<String> removedSelectors; | 77 Vector<String> removedSelectors; |
| 78 copyToVector(m_addedSelectors, addedSelectors); | 78 copyToVector(m_addedSelectors, addedSelectors); |
| 79 copyToVector(m_removedSelectors, removedSelectors); | 79 copyToVector(m_removedSelectors, removedSelectors); |
| 80 m_document.frame()->loader().client()->selectorMatchChanged(addedSelecto
rs, removedSelectors); | 80 m_document.frame()->loader().client()->selectorMatchChanged(addedSelecto
rs, removedSelectors); |
| 81 } | 81 } |
| 82 m_addedSelectors.clear(); | 82 m_addedSelectors.clear(); |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 118 return; | 118 return; |
| 119 | 119 |
| 120 if (m_removedSelectors.isEmpty() && m_addedSelectors.isEmpty()) { | 120 if (m_removedSelectors.isEmpty() && m_addedSelectors.isEmpty()) { |
| 121 if (m_callbackSelectorChangeTimer.isActive()) { | 121 if (m_callbackSelectorChangeTimer.isActive()) { |
| 122 m_timerExpirations = 0; | 122 m_timerExpirations = 0; |
| 123 m_callbackSelectorChangeTimer.stop(); | 123 m_callbackSelectorChangeTimer.stop(); |
| 124 } | 124 } |
| 125 } else { | 125 } else { |
| 126 m_timerExpirations = 0; | 126 m_timerExpirations = 0; |
| 127 if (!m_callbackSelectorChangeTimer.isActive()) | 127 if (!m_callbackSelectorChangeTimer.isActive()) |
| 128 m_callbackSelectorChangeTimer.startOneShot(0); | 128 m_callbackSelectorChangeTimer.startOneShot(0, FROM_HERE); |
| 129 } | 129 } |
| 130 } | 130 } |
| 131 | 131 |
| 132 static bool allCompound(const CSSSelectorList& selectorList) | 132 static bool allCompound(const CSSSelectorList& selectorList) |
| 133 { | 133 { |
| 134 for (const CSSSelector* selector = selectorList.first(); selector; selector
= selectorList.next(*selector)) { | 134 for (const CSSSelector* selector = selectorList.first(); selector; selector
= selectorList.next(*selector)) { |
| 135 if (!selector->isCompound()) | 135 if (!selector->isCompound()) |
| 136 return false; | 136 return false; |
| 137 } | 137 } |
| 138 return true; | 138 return true; |
| (...skipping 19 matching lines...) Expand all Loading... |
| 158 | 158 |
| 159 RefPtrWillBeRawPtr<StyleRule> rule = StyleRule::create(); | 159 RefPtrWillBeRawPtr<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 |