summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBen Murdoch <benm@google.com>2009-11-26 14:11:05 +0000
committerBen Murdoch <benm@google.com>2009-12-03 11:37:32 +0000
commit5c7b027ae1636ed27f6917385c2b3ec37af33237 (patch)
treea647f6bb5d2f54ca251a49178e7a230054d89ec4
parent4e95824e8ae0b33b964420c5cd6dc13580adeafd (diff)
downloadexternal_webkit-5c7b027ae1636ed27f6917385c2b3ec37af33237.zip
external_webkit-5c7b027ae1636ed27f6917385c2b3ec37af33237.tar.gz
external_webkit-5c7b027ae1636ed27f6917385c2b3ec37af33237.tar.bz2
Android history unforking pt 1: Add Android specific files and #if PLATFORM(ANDROID) guarded code in WebCore/history/HistoryItem.cpp
This should be upstreamed to webkit.org Change-Id: I3f822d5a6579080658242f846214e1c3fe31fa01
-rw-r--r--WebCore/history/HistoryItem.h27
-rw-r--r--WebCore/history/android/AndroidWebHistoryBridge.h61
-rw-r--r--WebCore/history/android/HistoryItemAndroid.cpp46
3 files changed, 121 insertions, 13 deletions
diff --git a/WebCore/history/HistoryItem.h b/WebCore/history/HistoryItem.h
index 21d2293..d153a1f 100644
--- a/WebCore/history/HistoryItem.h
+++ b/WebCore/history/HistoryItem.h
@@ -36,16 +36,16 @@
typedef struct objc_object* id;
#endif
-#ifdef ANDROID_HISTORY_CLIENT
-#include "WebHistory.h"
-#endif
-
#if PLATFORM(QT)
#include <QVariant>
#include <QByteArray>
#include <QDataStream>
#endif
+#if PLATFORM(ANDROID)
+#include "AndroidWebHistoryBridge.h"
+#endif
+
namespace WebCore {
class CachedPage;
@@ -183,15 +183,15 @@ 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;
#endif
-
-#ifdef ANDROID_HISTORY_CLIENT
- void setBridge(android::WebHistoryItem* bridge) { m_bridge = adoptRef(bridge); }
- android::WebHistoryItem* bridge() const { return m_bridge.get(); }
-#endif
void adoptVisitCounts(Vector<int>& dailyCounts, Vector<int>& weeklyCounts);
const Vector<int>& dailyVisitCounts() const { return m_dailyVisitCounts; }
@@ -252,14 +252,15 @@ private:
RetainPtr<id> m_viewState;
OwnPtr<HashMap<String, RetainPtr<id> > > m_transientProperties;
#endif
-
-#ifdef ANDROID_HISTORY_CLIENT
- RefPtr<android::WebHistoryItem> m_bridge;
-#endif
#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
+