| OLD | NEW | 
|    1 /* |    1 /* | 
|    2  *  Copyright (C) 2012 Samsung Electronics |    2  *  Copyright (C) 2012 Samsung Electronics | 
|    3  * |    3  * | 
|    4  *  This library is free software; you can redistribute it and/or |    4  *  This library is free software; you can redistribute it and/or | 
|    5  *  modify it under the terms of the GNU Library General Public |    5  *  modify it under the terms of the GNU Library General Public | 
|    6  *  License as published by the Free Software Foundation; either |    6  *  License as published by the Free Software Foundation; either | 
|    7  *  version 2 of the License, or (at your option) any later version. |    7  *  version 2 of the License, or (at your option) any later version. | 
|    8  * |    8  * | 
|    9  *  This library is distributed in the hope that it will be useful, |    9  *  This library is distributed in the hope that it will be useful, | 
|   10  *  but WITHOUT ANY WARRANTY; without even the implied warranty of |   10  *  but WITHOUT ANY WARRANTY; without even the implied warranty of | 
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   76         m_timerStart.stop(); |   76         m_timerStart.stop(); | 
|   77  |   77  | 
|   78     if (!m_pattern.size()) |   78     if (!m_pattern.size()) | 
|   79         return true; |   79         return true; | 
|   80  |   80  | 
|   81     if (m_pattern.size() == 1 && !m_pattern[0]) { |   81     if (m_pattern.size() == 1 && !m_pattern[0]) { | 
|   82         m_pattern.clear(); |   82         m_pattern.clear(); | 
|   83         return true; |   83         return true; | 
|   84     } |   84     } | 
|   85  |   85  | 
|   86     m_timerStart.startOneShot(0); |   86     m_timerStart.startOneShot(0, FROM_HERE); | 
|   87     m_isVibrating = true; |   87     m_isVibrating = true; | 
|   88     return true; |   88     return true; | 
|   89 } |   89 } | 
|   90  |   90  | 
|   91 void NavigatorVibration::cancelVibration() |   91 void NavigatorVibration::cancelVibration() | 
|   92 { |   92 { | 
|   93     m_pattern.clear(); |   93     m_pattern.clear(); | 
|   94     if (m_isVibrating) { |   94     if (m_isVibrating) { | 
|   95         blink::Platform::current()->cancelVibration(); |   95         blink::Platform::current()->cancelVibration(); | 
|   96         m_isVibrating = false; |   96         m_isVibrating = false; | 
|   97         m_timerStop.stop(); |   97         m_timerStop.stop(); | 
|   98     } |   98     } | 
|   99 } |   99 } | 
|  100  |  100  | 
|  101 void NavigatorVibration::timerStartFired(Timer<NavigatorVibration>* timer) |  101 void NavigatorVibration::timerStartFired(Timer<NavigatorVibration>* timer) | 
|  102 { |  102 { | 
|  103     ASSERT_UNUSED(timer, timer == &m_timerStart); |  103     ASSERT_UNUSED(timer, timer == &m_timerStart); | 
|  104  |  104  | 
|  105     if (m_pattern.size()) { |  105     if (m_pattern.size()) { | 
|  106         m_isVibrating = true; |  106         m_isVibrating = true; | 
|  107         blink::Platform::current()->vibrate(m_pattern[0]); |  107         blink::Platform::current()->vibrate(m_pattern[0]); | 
|  108         m_timerStop.startOneShot(m_pattern[0] / 1000.0); |  108         m_timerStop.startOneShot(m_pattern[0] / 1000.0, FROM_HERE); | 
|  109         m_pattern.remove(0); |  109         m_pattern.remove(0); | 
|  110     } |  110     } | 
|  111 } |  111 } | 
|  112  |  112  | 
|  113 void NavigatorVibration::timerStopFired(Timer<NavigatorVibration>* timer) |  113 void NavigatorVibration::timerStopFired(Timer<NavigatorVibration>* timer) | 
|  114 { |  114 { | 
|  115     ASSERT_UNUSED(timer, timer == &m_timerStop); |  115     ASSERT_UNUSED(timer, timer == &m_timerStop); | 
|  116  |  116  | 
|  117     if (m_pattern.isEmpty()) |  117     if (m_pattern.isEmpty()) | 
|  118         m_isVibrating = false; |  118         m_isVibrating = false; | 
|  119  |  119  | 
|  120     if (m_pattern.size()) { |  120     if (m_pattern.size()) { | 
|  121         m_timerStart.startOneShot(m_pattern[0] / 1000.0); |  121         m_timerStart.startOneShot(m_pattern[0] / 1000.0, FROM_HERE); | 
|  122         m_pattern.remove(0); |  122         m_pattern.remove(0); | 
|  123     } |  123     } | 
|  124 } |  124 } | 
|  125  |  125  | 
|  126 void NavigatorVibration::pageVisibilityChanged() |  126 void NavigatorVibration::pageVisibilityChanged() | 
|  127 { |  127 { | 
|  128     if (page()->visibilityState() != PageVisibilityStateVisible) |  128     if (page()->visibilityState() != PageVisibilityStateVisible) | 
|  129         cancelVibration(); |  129         cancelVibration(); | 
|  130 } |  130 } | 
|  131  |  131  | 
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  164     } |  164     } | 
|  165     return *navigatorVibration; |  165     return *navigatorVibration; | 
|  166 } |  166 } | 
|  167  |  167  | 
|  168 const char* NavigatorVibration::supplementName() |  168 const char* NavigatorVibration::supplementName() | 
|  169 { |  169 { | 
|  170     return "NavigatorVibration"; |  170     return "NavigatorVibration"; | 
|  171 } |  171 } | 
|  172  |  172  | 
|  173 } // namespace WebCore |  173 } // namespace WebCore | 
| OLD | NEW |