2009-11-18 Andrei Popescu <andreip@google.com>
authoreric@webkit.org <eric@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 18 Nov 2009 22:49:34 +0000 (22:49 +0000)
committereric@webkit.org <eric@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 18 Nov 2009 22:49:34 +0000 (22:49 +0000)
        Reviewed by Dimitri Glazkov.

        [Android] Add shared timer and sound utilities to platform/android
        https://bugs.webkit.org/show_bug.cgi?id=31584

        No new tests required, this is platform specific code.

        * platform/android/SharedTimerAndroid.cpp: Added.
        (WebCore::setSharedTimerFiredFunction):
        (WebCore::setSharedTimerFireTime):
        (WebCore::stopSharedTimer):
        * platform/android/SoundAndroid.cpp: Added.
        (WebCore::systemBeep):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@51140 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebCore/ChangeLog
WebCore/platform/android/SharedTimerAndroid.cpp [new file with mode: 0644]
WebCore/platform/android/SoundAndroid.cpp [new file with mode: 0644]

index 0951207332b00816c3f1cc822b82dc9bc6bb122f..350325dcec221e68d4950e0a4a63a764c6ba34a9 100644 (file)
@@ -1,3 +1,19 @@
+2009-11-18  Andrei Popescu  <andreip@google.com>
+
+        Reviewed by Dimitri Glazkov.
+
+        [Android] Add shared timer and sound utilities to platform/android
+        https://bugs.webkit.org/show_bug.cgi?id=31584
+
+        No new tests required, this is platform specific code.
+
+        * platform/android/SharedTimerAndroid.cpp: Added.
+        (WebCore::setSharedTimerFiredFunction):
+        (WebCore::setSharedTimerFireTime):
+        (WebCore::stopSharedTimer):
+        * platform/android/SoundAndroid.cpp: Added.
+        (WebCore::systemBeep):
+
 2009-11-18  Mikhail Naganov  <mnaganov@chromium.org>
 
         Reviewed by Timothy Hatcher.
diff --git a/WebCore/platform/android/SharedTimerAndroid.cpp b/WebCore/platform/android/SharedTimerAndroid.cpp
new file mode 100644 (file)
index 0000000..e4f3b36
--- /dev/null
@@ -0,0 +1,65 @@
+/*
+ * Copyright 2007, The Android Open Source Project
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "SharedTimer.h"
+
+#define LOG_TAG "Timers"
+
+#include <TimerClient.h>
+#include <JavaSharedClient.h>
+#include <utils/Log.h>
+#include <wtf/CurrentTime.h>
+
+using namespace android;
+
+namespace WebCore {
+
+// Single timer, shared to implement all the timers managed by the Timer class.
+// Not intended to be used directly; use the Timer class instead.
+void setSharedTimerFiredFunction(void (*f)())
+{
+    if (JavaSharedClient::GetTimerClient())
+        JavaSharedClient::GetTimerClient()->setSharedTimerCallback(f);
+}
+
+// The fire time is relative to the classic POSIX epoch of January 1, 1970,
+// as the result of currentTime() is.
+void setSharedTimerFireTime(double fireTime)
+{
+    long long timeInMs = static_cast<long long>((fireTime - WTF::currentTime()) * 1000);
+
+    LOGV("setSharedTimerFireTime: in %ld millisec", timeInMs);
+    if (JavaSharedClient::GetTimerClient())
+        JavaSharedClient::GetTimerClient()->setSharedTimer(timeInMs);
+}
+
+void stopSharedTimer()
+{
+    if (JavaSharedClient::GetTimerClient())
+        JavaSharedClient::GetTimerClient()->stopSharedTimer();
+}
+
+}  // namespace WebCore
diff --git a/WebCore/platform/android/SoundAndroid.cpp b/WebCore/platform/android/SoundAndroid.cpp
new file mode 100644 (file)
index 0000000..bc1aa76
--- /dev/null
@@ -0,0 +1,36 @@
+/*
+ * Copyright 2009, The Android Open Source Project
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "Sound.h"
+
+namespace WebCore {
+
+void systemBeep()
+{
+    // do nothing
+}
+
+}  // namespace WebCore