| 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 |