diff options
author | Ben Murdoch <benm@google.com> | 2009-11-26 14:11:05 +0000 |
---|---|---|
committer | Ben Murdoch <benm@google.com> | 2009-12-03 11:37:32 +0000 |
commit | 5c7b027ae1636ed27f6917385c2b3ec37af33237 (patch) | |
tree | a647f6bb5d2f54ca251a49178e7a230054d89ec4 | |
parent | 4e95824e8ae0b33b964420c5cd6dc13580adeafd (diff) | |
download | external_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.h | 27 | ||||
-rw-r--r-- | WebCore/history/android/AndroidWebHistoryBridge.h | 61 | ||||
-rw-r--r-- | WebCore/history/android/HistoryItemAndroid.cpp | 46 |
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 + |