Commit cae1e66f authored by benm@google.com's avatar benm@google.com
Browse files

[Android] Upstream WebCore/history/android: Require some platform specific...

[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
parent 33ea1761
2009-12-03 Ben Murdoch <benm@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@apple.com>
 
Reviewed by Maciej Stachowiak.
......@@ -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
......
/*
* 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
/*
* 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
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment