-
kihong.kwon@samsung.com authored
https://bugs.webkit.org/show_bug.cgi?id=117822 Reviewed by Gyuyoung Kim. Source/WebCore: Vibration can not cancel during pattern vibration is working. If resting time which are even numbers of pattern m_isVibraing will be false and cancel will thus return early. In addition, m_timerStart needs to be stopped in the cancelVibration(). If cancelVibration() is called right after m_timerStart is fired, timerStartFired function can be called even if vibration is already canceled because of timing issue of timer. Test: vibration/cancelVibration-during-pattern-vibrating.html * Modules/vibration/Vibration.cpp: (WebCore::Vibration::vibrate): (WebCore::Vibration::cancelVibration): (WebCore::Vibration::suspendVibration): (WebCore::Vibration::resumeVibration): (WebCore::Vibration::stopVibration): (WebCore::Vibration::timerStartFired): (WebCore::Vibration::timerStopFired): * Modules/vibration/Vibration.h: LayoutTests: Add a test case for vibration cancelation during pattern vibration. In addition, restore visibilityState before executing cancelVibration-after-pagevisibility-changed-to-hidden.html. * vibration/cancelVibration-after-pagevisibility-changed-to-hidden.html: * vibration/cancelVibration-during-pattern-vibrating-expected.txt: Added. * vibration/cancelVibration-during-pattern-vibrating.html: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@152070 268f45cc-cd09-0410-ab3c-d52691b4dbfc
50b329f6