.: Add a new API for the Vibration API(W3C).
https://bugs.webkit.org/show_bug.cgi?id=72010
Patch by Kihong Kwon <kihong.kwon@samsung.com> on 2012-02-20
Reviewed by Hajime Morita.
Add Implementation for the Vibration API to the WebKit-EFL port.
http://dev.w3.org/2009/dap/vibration/
* Source/cmake/OptionsEfl.cmake: Add ENABLE_VIBRATION feature.
* Source/cmakeconfig.h.cmake:
Source/WebCore: Add a new API for the Vibration API(W3C).
https://bugs.webkit.org/show_bug.cgi?id=72010
http://dev.w3.org/2009/dap/vibration/
This patch implements navigator.webkitvibrate() API.
This API operates differently depending upon a given parameter:
1. It cancels vibration when given 0 or [].
2. It gives a vibration duration in milliseconds when given as a single integer value.
3. It gives a vibration pattern when given as an integer array. For instance, [1000 300 1000] generates a vibration of 1000ms followed by 300ms of idle time, and then creates another vibration of 1000ms.
Patch by Kihong Kwon <kihong.kwon@samsung.com> on 2012-02-20
Reviewed by Hajime Morita.
Test: fast/dom/navigator-vibration.html
* CMakeLists.txt:
* Modules/vibration/NavigatorVibration.cpp: Added.
(WebCore):
(WebCore::NavigatorVibration::NavigatorVibration):
(WebCore::NavigatorVibration::~NavigatorVibration):
(WebCore::NavigatorVibration::webkitVibrate):
Add webkitVibrate method to get an array or single integer parameter for vibrating.
They check vibration is activated in the platform, and then call vibrate() in the Vibration class.
* Modules/vibration/NavigatorVibration.h: Added.
(WebCore):
(NavigatorVibration):
* Modules/vibration/NavigatorVibration.idl: Added.
* Modules/vibration/Vibration.cpp: Added.
This class implements the entire vibration logic.
(WebCore):
(WebCore::Vibration::Vibration):
(WebCore::Vibration::~Vibration):
(WebCore::Vibration::create):
(WebCore::Vibration::vibrate):
(WebCore::Vibration::cancelVibration):
(WebCore::Vibration::suspendVibration):
(WebCore::Vibration::resumeVibration):
(WebCore::Vibration::timerStartFired):
(WebCore::Vibration::timerStopFired):
(WebCore::Vibration::supplementName):
(WebCore::Vibration::isActive):
(WebCore::provideVibrationTo):
* Modules/vibration/Vibration.h: Added.
(WebCore):
(Vibration):
(WebCore::Vibration::from):
* Modules/vibration/VibrationClient.h: Added.
vibrate() and cancelVibrate() need to be implemented in the VibrationClient.
(WebCore):
(VibrationClient):
(WebCore::VibrationClient::~VibrationClient):
Source/WebKit/efl: Add a new API for the Vibration API(W3C).
https://bugs.webkit.org/show_bug.cgi?id=72010
Patch by Kihong Kwon <kihong.kwon@samsung.com> on 2012-02-20
Reviewed by Hajime Morita.
Implementation for the Vibration API feature to the EFL-port layer.
http://dev.w3.org/2009/dap/vibration/
There are two methods for vibration API.
- vibrate : Vibrate device for receiving as a parameter.
- cancelVibrate : Cancel current vibration.
* CMakeListsEfl.txt:
* WebCoreSupport/VibrationClientEfl.cpp: Added.
(WebCore):
(WebCore::VibrationClientEfl::VibrationClientEfl):
(WebCore::VibrationClientEfl::vibrate):
(WebCore::VibrationClientEfl::cancelVibration):
(WebCore::VibrationClientEfl::vibrationDestroyed):
* WebCoreSupport/VibrationClientEfl.h: Added.
(WebCore):
(VibrationClientEfl):
(WebCore::VibrationClientEfl::~VibrationClientEfl):
* ewk/ewk_view.cpp:
(_Ewk_View_Private_Data):
(_ewk_view_priv_new):
Tools: Add a new API for the Vibration API(W3C).
https://bugs.webkit.org/show_bug.cgi?id=72010
Patch by Kihong Kwon <kihong.kwon@samsung.com> on 2012-02-20
Reviewed by Hajime Morita.
* Scripts/build-webkit: Enable ENABLE_VIBRATION feature.
LayoutTests: Add a new test case for the Vibration API.
https://bugs.webkit.org/show_bug.cgi?id=72010
Patch by Kihong Kwon <kihong.kwon@samsung.com> on 2012-02-20
Reviewed by Hajime Morita.
* fast/dom/navigator-vibration-expected.txt: Added.
* fast/dom/navigator-vibration.html: Added.
* platform/chromium/test_expectations.txt:
* platform/gtk/Skipped:
* platform/mac/Skipped:
* platform/qt/Skipped:
* platform/win/Skipped:
* platform/wincairo/Skipped:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108272 268f45cc-cd09-0410-ab3c-d52691b4dbfc
27 files changed