2009-06-10 Feng Qian <feng@chromium.org>
authorbfulgham@webkit.org <bfulgham@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 10 Jun 2009 19:19:48 +0000 (19:19 +0000)
committerbfulgham@webkit.org <bfulgham@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 10 Jun 2009 19:19:48 +0000 (19:19 +0000)
        Reviewed by Eric Seidel.

        Add Android platform specific files.
        https://bugs.webkit/org/show_bug.cgi?id=26265 (part 8).

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

WebCore/ChangeLog
WebCore/platform/android/SystemTimeAndroid.cpp [new file with mode: 0644]
WebCore/platform/android/WidgetAndroid.cpp [new file with mode: 0644]

index 0872f85..dbe61fe 100644 (file)
@@ -2,6 +2,16 @@
 
         Reviewed by Eric Seidel.
 
+        Add Android platform specific files.
+        https://bugs.webkit/org/show_bug.cgi?id=26265 (part 8).
+
+        * platform/android/SystemTimeAndroid.cpp: Added.
+        * platform/android/WidgetAndroid.cpp: Added.
+
+2009-06-10  Feng Qian  <feng@chromium.org>
+
+        Reviewed by Eric Seidel.
+
         Add Android port files to WebCore/platform. (part 6).
         https://bugs.webkit.org/show_bug.cgi?id=26264
 
diff --git a/WebCore/platform/android/SystemTimeAndroid.cpp b/WebCore/platform/android/SystemTimeAndroid.cpp
new file mode 100644 (file)
index 0000000..a9c862a
--- /dev/null
@@ -0,0 +1,37 @@
+/*
+ * 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 APPLE COMPUTER, INC. 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 "SystemTime.h"
+
+namespace WebCore {
+
+float userIdleTime()
+{
+    // Needed for PageCache, which we currently have disabled.
+    return 0.0F;
+}
+
+}  // namespace WebCore
diff --git a/WebCore/platform/android/WidgetAndroid.cpp b/WebCore/platform/android/WidgetAndroid.cpp
new file mode 100644 (file)
index 0000000..850721d
--- /dev/null
@@ -0,0 +1,128 @@
+/*
+ * 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 APPLE COMPUTER, INC. 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 "Widget.h"
+
+#include "Font.h"
+#include "FrameView.h"
+#include "GraphicsContext.h"
+#include "NotImplemented.h"
+#include "WebCoreFrameBridge.h"
+#include "WebCoreViewBridge.h"
+#include "WebViewCore.h"
+
+namespace WebCore {
+
+Widget::Widget(PlatformWidget widget)
+{
+    init(widget);
+}
+
+Widget::~Widget()
+{
+    ASSERT(!parent());
+    releasePlatformWidget();
+}
+
+IntRect Widget::frameRect() const
+{
+    // FIXME: use m_frame instead?
+    if (!platformWidget())
+        return IntRect(0, 0, 0, 0);
+    return platformWidget()->getBounds();
+}
+
+void Widget::setFocus()
+{
+    notImplemented();
+}
+
+void Widget::paint(GraphicsContext* ctx, const IntRect& r)
+{
+    // FIXME: in what case, will this be called for the top frame?
+    if (!platformWidget())
+        return;
+    platformWidget()->draw(ctx, r);
+}
+
+void Widget::releasePlatformWidget()
+{
+    Release(platformWidget());
+}
+
+void Widget::retainPlatformWidget()
+{
+    Retain(platformWidget());
+}
+
+void Widget::setCursor(const Cursor& cursor)
+{
+    notImplemented();
+}
+
+void Widget::show()
+{
+    notImplemented(); 
+}
+
+void Widget::hide()
+{
+    notImplemented(); 
+}
+
+void Widget::setFrameRect(const IntRect& rect)
+{
+    // FIXME: set m_frame instead?
+    // platformWidget() is NULL when called from Scrollbar
+    if (!platformWidget())
+        return;
+    platformWidget()->setLocation(rect.x(), rect.y());
+    platformWidget()->setSize(rect.width(), rect.height());
+}
+
+void Widget::setIsSelected(bool isSelected)
+{
+    notImplemented();
+}
+
+int Widget::screenWidth() const
+{
+    const Widget* widget = this;
+    while (!widget->isFrameView()) {
+        widget = widget->parent();
+        if (!widget)
+            break;
+    }
+    if (!widget)
+        return 0;
+    android::WebViewCore* core = android::WebViewCore::getWebViewCore(
+        static_cast<const ScrollView*>(widget));
+    if (!core)
+        return 0;
+    return core->screenWidth();
+}
+
+} // WebCore namepsace