[SCM] WebKit Debian packaging branch, webkit-1.2, updated. upstream/1.1.90-6072-g9a69373

benm at google.com benm at google.com
Thu Apr 8 00:13:47 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit cae1e66f2f0b7607ababcf2a1f0f4e2713081597
Author: benm at google.com <benm at google.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Dec 3 11:52:29 2009 +0000

    [Android] Upstream WebCore/history/android: Require some platform specific state attached to HistoryItem.
    https://bugs.webkit.org/show_bug.cgi?id=31913
    
    Reviewed by Brady Eidson.
    
    Android stores information such as the zoom scale factor and bridge back to the Java counterpart with HistoryItem.
    
    No new tests required as this is Android specific code.
    
    * history/HistoryItem.h: Add Android specific member data to HistoryItem.
    * history/android: Added.
    * history/android/AndroidWebHistoryBridge.h: Added.
    * history/android/HistoryItemAndroid.cpp: Added, provides implementation for Android specific member functions in HistoryItem.
    (WebCore::HistoryItem::bridge): Added.
    (WebCore::HistoryItem::setBridge): Added.
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@51628 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 5bd5164..736b6e5 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,21 @@
+2009-12-03  Ben Murdoch  <benm at google.com>
+
+        Reviewed by Brady Eidson.
+
+        [Android] Upstream WebCore/history/android: Require some platform specific state attached to HistoryItem.
+        https://bugs.webkit.org/show_bug.cgi?id=31913
+
+        Android stores information such as the zoom scale factor and bridge back to the Java counterpart with HistoryItem.
+
+        No new tests required as this is Android specific code.
+
+        * history/HistoryItem.h: Add Android specific member data to HistoryItem.
+        * history/android: Added.
+        * history/android/AndroidWebHistoryBridge.h: Added.
+        * history/android/HistoryItemAndroid.cpp: Added, provides implementation for Android specific member functions in HistoryItem.
+        (WebCore::HistoryItem::bridge): Added.
+        (WebCore::HistoryItem::setBridge): Added.
+
 2009-12-03  Oliver Hunt  <oliver at apple.com>
 
         Reviewed by Maciej Stachowiak.
diff --git a/WebCore/history/HistoryItem.h b/WebCore/history/HistoryItem.h
index 6c1c385..39694d4 100644
--- a/WebCore/history/HistoryItem.h
+++ b/WebCore/history/HistoryItem.h
@@ -42,6 +42,10 @@ typedef struct objc_object* id;
 #include <QDataStream>
 #endif
 
+#if PLATFORM(ANDROID)
+#include "AndroidWebHistoryBridge.h"
+#endif
+
 namespace WebCore {
 
 class CachedPage;
@@ -175,6 +179,11 @@ public:
     QDataStream& saveState(QDataStream& out, int version) const;
 #endif
 
+#if PLATFORM(ANDROID)
+    void setBridge(AndroidWebHistoryBridge* bridge);
+    AndroidWebHistoryBridge* bridge() const;
+#endif
+
 #ifndef NDEBUG
     int showTree() const;
     int showTreeWithIndent(unsigned indentLevel) const;
@@ -243,6 +252,11 @@ private:
 #if PLATFORM(QT)
     QVariant m_userData;
 #endif
+
+#if PLATFORM(ANDROID)
+    RefPtr<AndroidWebHistoryBridge> m_bridge;
+#endif
+
 }; //class HistoryItem
 
 } //namespace WebCore
diff --git a/WebCore/history/android/AndroidWebHistoryBridge.h b/WebCore/history/android/AndroidWebHistoryBridge.h
new file mode 100644
index 0000000..338f37c
--- /dev/null
+++ b/WebCore/history/android/AndroidWebHistoryBridge.h
@@ -0,0 +1,61 @@
+/*
+ * 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.
+ */
+
+#ifndef AndroidWebHistoryBridge_h
+#define AndroidWebHistoryBridge_h
+
+#include <wtf/RefCounted.h>
+
+namespace WebCore {
+
+class HistoryItem;
+
+class AndroidWebHistoryBridge : public RefCounted<AndroidWebHistoryBridge> {
+public:
+    AndroidWebHistoryBridge()
+        : m_scale(100)
+        , m_screenWidthScale(100)
+        , m_active(false)
+        , m_historyItem(0) { }
+    virtual ~AndroidWebHistoryBridge() { }
+    virtual void updateHistoryItem(HistoryItem* item) = 0;
+
+    void setScale(int s) { m_scale = s; }
+    void setScreenWidthScale(int s) { m_screenWidthScale = s; }
+    int scale() const { return m_scale; }
+    int screenWidthScale() const { return m_screenWidthScale; }
+    HistoryItem* historyItem() const { return m_historyItem; }
+    void setActive() { m_active = true; }
+
+protected:
+    int m_scale;
+    int m_screenWidthScale;
+    bool m_active;
+    HistoryItem* m_historyItem;
+};
+
+} // namespace WebCore
+
+#endif // AndroidWebHistoryBridge_h
diff --git a/WebCore/history/android/HistoryItemAndroid.cpp b/WebCore/history/android/HistoryItemAndroid.cpp
new file mode 100644
index 0000000..7c0f4ba
--- /dev/null
+++ b/WebCore/history/android/HistoryItemAndroid.cpp
@@ -0,0 +1,46 @@
+/*
+ * 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 "HistoryItem.h"
+
+namespace WebCore {
+
+class AndroidWebHistoryBridge;
+
+AndroidWebHistoryBridge* HistoryItem::bridge() const
+{
+    if (!m_bridge)
+        return 0;
+    return m_bridge.get();
+}
+
+void HistoryItem::setBridge(AndroidWebHistoryBridge* bridge)
+{
+    m_bridge = adoptRef(bridge);
+}
+
+} // namespace WebCore
+

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list