summaryrefslogtreecommitdiffstats
path: root/WebKit/wince
diff options
context:
space:
mode:
Diffstat (limited to 'WebKit/wince')
-rw-r--r--WebKit/wince/ChangeLog57
-rw-r--r--WebKit/wince/WebCoreSupport/ChromeClientWinCE.cpp393
-rw-r--r--WebKit/wince/WebCoreSupport/ChromeClientWinCE.h174
-rw-r--r--WebKit/wince/WebCoreSupport/ContextMenuClientWinCE.cpp22
-rw-r--r--WebKit/wince/WebCoreSupport/ContextMenuClientWinCE.h4
-rw-r--r--WebKit/wince/WebCoreSupport/DragClientWinCE.cpp14
-rw-r--r--WebKit/wince/WebCoreSupport/DragClientWinCE.h2
-rw-r--r--WebKit/wince/WebCoreSupport/EditorClientWinCE.cpp106
-rw-r--r--WebKit/wince/WebCoreSupport/EditorClientWinCE.h6
-rw-r--r--WebKit/wince/WebCoreSupport/FrameLoaderClientWinCE.cpp9
-rw-r--r--WebKit/wince/WebCoreSupport/FrameLoaderClientWinCE.h3
-rw-r--r--WebKit/wince/WebCoreSupport/InspectorClientWinCE.cpp20
-rw-r--r--WebKit/wince/WebCoreSupport/InspectorClientWinCE.h6
-rw-r--r--WebKit/wince/WebCoreSupport/PlatformStrategiesWinCE.cpp663
-rw-r--r--WebKit/wince/WebCoreSupport/PlatformStrategiesWinCE.h148
15 files changed, 1535 insertions, 92 deletions
diff --git a/WebKit/wince/ChangeLog b/WebKit/wince/ChangeLog
index fba4def..c85f902 100644
--- a/WebKit/wince/ChangeLog
+++ b/WebKit/wince/ChangeLog
@@ -1,3 +1,60 @@
+2010-09-28 Jenn Braithwaite <jennb@chromium.org>
+
+ Reviewed by Dmitry Titov.
+
+ Added oldPage param to FrameLoaderClient::didTransferChildFrameToNewDocument.
+ https://bugs.webkit.org/show_bug.cgi?id=46663
+
+ * WebCoreSupport/FrameLoaderClientWinCE.cpp:
+ (WebKit::FrameLoaderClientWinCE::didTransferChildFrameToNewDocument):
+ * WebCoreSupport/FrameLoaderClientWinCE.h:
+
+2010-09-23 Patrick Gansterer <paroga@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ Add PlatformStrategiesWinCE
+ https://bugs.webkit.org/show_bug.cgi?id=46371
+
+ * WebCoreSupport/PlatformStrategiesWinCE.cpp: Copied from WebKit/win/WebCoreSupport/WebPlatformStrategies.cpp.
+ * WebCoreSupport/PlatformStrategiesWinCE.h: Copied from WebKit/win/WebCoreSupport/WebPlatformStrategies.h.
+
+2010-09-23 Patrick Gansterer <paroga@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ Add ChromeClientWinCE
+ https://bugs.webkit.org/show_bug.cgi?id=46294
+
+ * WebCoreSupport/ChromeClientWinCE.cpp: Added.
+ * WebCoreSupport/ChromeClientWinCE.h: Added.
+
+2010-09-23 Patrick Gansterer <paroga@webkit.org>
+
+ Unreviewed.
+
+ Build fix for FrameLoaderClientWinCE.
+
+ * WebCoreSupport/FrameLoaderClientWinCE.cpp:
+ (WebKit::FrameLoaderClientWinCE::canShowMIMETypeAsHTML): Add missing method.
+ * WebCoreSupport/FrameLoaderClientWinCE.h:
+
+2010-09-21 Patrick Gansterer <paroga@webkit.org>
+
+ Reviewed by Adam Roben.
+
+ Add "WinCE" to classname for all WebCoreSupport classes to match filename.
+ https://bugs.webkit.org/show_bug.cgi?id=46175
+
+ * WebCoreSupport/ContextMenuClientWinCE.cpp: Rename ContextMenuClient to ContextMenuClientWinCE.
+ * WebCoreSupport/ContextMenuClientWinCE.h: Ditto.
+ * WebCoreSupport/DragClientWinCE.cpp: Rename DragClient to DragClientWinCE.
+ * WebCoreSupport/DragClientWinCE.h: Ditto.
+ * WebCoreSupport/EditorClientWinCE.cpp: Rename EditorClient to EditorClientWinCE.
+ * WebCoreSupport/EditorClientWinCE.h: Ditto.
+ * WebCoreSupport/InspectorClientWinCE.cpp: Rename InspectorClient to InspectorClientWinCE.
+ * WebCoreSupport/InspectorClientWinCE.h: Ditto.
+
2010-09-20 Patrick Gansterer <paroga@paroga.com>
Reviewed by Adam Roben.
diff --git a/WebKit/wince/WebCoreSupport/ChromeClientWinCE.cpp b/WebKit/wince/WebCoreSupport/ChromeClientWinCE.cpp
new file mode 100644
index 0000000..468d86c
--- /dev/null
+++ b/WebKit/wince/WebCoreSupport/ChromeClientWinCE.cpp
@@ -0,0 +1,393 @@
+/*
+ * Copyright (C) 2010 Patrick Gansterer <paroga@paroga.com>
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. 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 APPLE AND ITS CONTRIBUTORS "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 OR ITS 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 "ChromeClientWinCE.h"
+
+#include "FileChooser.h"
+#include "Icon.h"
+#include "NotImplemented.h"
+#include "PopupMenuWin.h"
+#include "SearchPopupMenuWin.h"
+#include "WebView.h"
+#include <wtf/text/CString.h>
+
+using namespace WebCore;
+
+namespace WebKit {
+
+ChromeClientWinCE::ChromeClientWinCE(WebView* webView)
+ : m_webView(webView)
+{
+ ASSERT(m_webView);
+}
+
+void ChromeClientWinCE::chromeDestroyed()
+{
+ delete this;
+}
+
+FloatRect ChromeClientWinCE::windowRect()
+{
+ if (!m_webView)
+ return FloatRect();
+
+ RECT rect;
+ m_webView->frameRect(&rect);
+ return rect;
+}
+
+void ChromeClientWinCE::setWindowRect(const FloatRect&)
+{
+ notImplemented();
+}
+
+FloatRect ChromeClientWinCE::pageRect()
+{
+ return windowRect();
+}
+
+float ChromeClientWinCE::scaleFactor()
+{
+ return 1.0;
+}
+
+void ChromeClientWinCE::focus()
+{
+ notImplemented();
+}
+
+void ChromeClientWinCE::unfocus()
+{
+ notImplemented();
+}
+
+Page* ChromeClientWinCE::createWindow(Frame*, const FrameLoadRequest&, const WindowFeatures&)
+{
+ notImplemented();
+ return 0;
+}
+
+void ChromeClientWinCE::show()
+{
+ notImplemented();
+}
+
+bool ChromeClientWinCE::canRunModal()
+{
+ notImplemented();
+ return false;
+}
+
+void ChromeClientWinCE::runModal()
+{
+ notImplemented();
+}
+
+void ChromeClientWinCE::setToolbarsVisible(bool)
+{
+ notImplemented();
+}
+
+bool ChromeClientWinCE::toolbarsVisible()
+{
+ return false;
+}
+
+void ChromeClientWinCE::setStatusbarVisible(bool)
+{
+ notImplemented();
+}
+
+bool ChromeClientWinCE::statusbarVisible()
+{
+ notImplemented();
+ return false;
+}
+
+void ChromeClientWinCE::setScrollbarsVisible(bool)
+{
+ notImplemented();
+}
+
+bool ChromeClientWinCE::scrollbarsVisible()
+{
+ notImplemented();
+ return false;
+}
+
+void ChromeClientWinCE::setMenubarVisible(bool)
+{
+ notImplemented();
+}
+
+bool ChromeClientWinCE::menubarVisible()
+{
+ notImplemented();
+ return false;
+}
+
+void ChromeClientWinCE::setResizable(bool)
+{
+ notImplemented();
+}
+
+void ChromeClientWinCE::closeWindowSoon()
+{
+ PostMessageW(m_webView->windowHandle(), WM_CLOSE, 0, 0);
+}
+
+bool ChromeClientWinCE::canTakeFocus(FocusDirection)
+{
+ return true;
+}
+
+void ChromeClientWinCE::takeFocus(FocusDirection)
+{
+ unfocus();
+}
+
+void ChromeClientWinCE::focusedNodeChanged(Node*)
+{
+ notImplemented();
+}
+
+bool ChromeClientWinCE::canRunBeforeUnloadConfirmPanel()
+{
+ return true;
+}
+
+bool ChromeClientWinCE::runBeforeUnloadConfirmPanel(const String& message, Frame* frame)
+{
+ return runJavaScriptConfirm(frame, message);
+}
+
+void ChromeClientWinCE::addMessageToConsole(MessageSource, MessageType, MessageLevel, const String&, unsigned int, const String&)
+{
+ notImplemented();
+}
+
+void ChromeClientWinCE::runJavaScriptAlert(Frame*, const String& message)
+{
+ m_webView->runJavaScriptAlert(message);
+}
+
+bool ChromeClientWinCE::runJavaScriptConfirm(Frame*, const String& message)
+{
+ return m_webView->runJavaScriptConfirm(message);
+}
+
+bool ChromeClientWinCE::runJavaScriptPrompt(Frame*, const String& message, const String& defaultValue, String& result)
+{
+ return m_webView->runJavaScriptPrompt(message, defaultValue, result);
+}
+
+void ChromeClientWinCE::setStatusbarText(const String&)
+{
+ notImplemented();
+}
+
+bool ChromeClientWinCE::shouldInterruptJavaScript()
+{
+ notImplemented();
+ return false;
+}
+
+bool ChromeClientWinCE::tabsToLinks() const
+{
+ return true;
+}
+
+IntRect ChromeClientWinCE::windowResizerRect() const
+{
+ notImplemented();
+ return IntRect();
+}
+
+void ChromeClientWinCE::invalidateWindow(const IntRect&, bool)
+{
+ notImplemented();
+}
+
+void ChromeClientWinCE::invalidateContentsAndWindow(const IntRect& updateRect, bool immediate)
+{
+ RECT rect = updateRect;
+ InvalidateRect(m_webView->windowHandle(), &rect, FALSE);
+
+ if (immediate)
+ UpdateWindow(m_webView->windowHandle());
+}
+
+void ChromeClientWinCE::invalidateContentsForSlowScroll(const IntRect& updateRect, bool immediate)
+{
+ invalidateContentsAndWindow(updateRect, immediate);
+}
+
+void ChromeClientWinCE::scroll(const IntSize&, const IntRect& rectToScroll, const IntRect&)
+{
+ invalidateContentsAndWindow(rectToScroll, false);
+}
+
+IntRect ChromeClientWinCE::windowToScreen(const IntRect& rect) const
+{
+ notImplemented();
+ return rect;
+}
+
+IntPoint ChromeClientWinCE::screenToWindow(const IntPoint& point) const
+{
+ notImplemented();
+ return point;
+}
+
+PlatformPageClient ChromeClientWinCE::platformPageClient() const
+{
+ notImplemented();
+ return 0;
+}
+
+void ChromeClientWinCE::contentsSizeChanged(Frame*, const IntSize&) const
+{
+ notImplemented();
+}
+
+void ChromeClientWinCE::scrollRectIntoView(const IntRect&, const ScrollView*) const
+{
+ notImplemented();
+}
+
+void ChromeClientWinCE::scrollbarsModeDidChange() const
+{
+ notImplemented();
+}
+
+void ChromeClientWinCE::mouseDidMoveOverElement(const HitTestResult&, unsigned)
+{
+ notImplemented();
+}
+
+void ChromeClientWinCE::setToolTip(const String&, TextDirection)
+{
+ notImplemented();
+}
+
+void ChromeClientWinCE::print(Frame*)
+{
+ notImplemented();
+}
+
+#if ENABLE(DATABASE)
+void ChromeClientWinCE::exceededDatabaseQuota(Frame*, const String&)
+{
+ notImplemented()
+}
+#endif
+
+#if ENABLE(OFFLINE_WEB_APPLICATIONS)
+void ChromeClientWinCE::reachedMaxAppCacheSize(int64_t)
+{
+ notImplemented();
+}
+#endif
+
+#if ENABLE(TOUCH_EVENTS)
+void ChromeClientWinCE::needTouchEvents(bool)
+{
+ notImplemented();
+}
+#endif
+
+#if USE(ACCELERATED_COMPOSITING)
+void ChromeClientWinCE::attachRootGraphicsLayer(Frame*, GraphicsLayer*)
+{
+ notImplemented();
+}
+
+void ChromeClientWinCE::setNeedsOneShotDrawingSynchronization()
+{
+ notImplemented();
+}
+
+void ChromeClientWinCE::scheduleCompositingLayerSync()
+{
+ notImplemented();
+}
+#endif
+
+void ChromeClientWinCE::runOpenPanel(Frame*, PassRefPtr<FileChooser> prpFileChooser)
+{
+ notImplemented();
+}
+
+void ChromeClientWinCE::chooseIconForFiles(const Vector<String>& filenames, FileChooser* chooser)
+{
+ chooser->iconLoaded(Icon::createIconForFiles(filenames));
+}
+
+void ChromeClientWinCE::setCursor(const Cursor&)
+{
+ notImplemented();
+}
+
+void ChromeClientWinCE::setLastSetCursorToCurrentCursor()
+{
+ notImplemented();
+}
+
+void ChromeClientWinCE::formStateDidChange(const Node*)
+{
+ notImplemented();
+}
+
+PassOwnPtr<HTMLParserQuirks> ChromeClientWinCE::createHTMLParserQuirks()
+{
+ return 0;
+}
+
+void ChromeClientWinCE::requestGeolocationPermissionForFrame(Frame*, Geolocation*)
+{
+ notImplemented();
+}
+
+void ChromeClientWinCE::cancelGeolocationPermissionRequestForFrame(Frame*, Geolocation*)
+{
+ notImplemented();
+}
+
+bool ChromeClientWinCE::selectItemWritingDirectionIsNatural()
+{
+ return false;
+}
+
+PassRefPtr<PopupMenu> ChromeClientWinCE::createPopupMenu(PopupMenuClient* client) const
+{
+ return adoptRef(new PopupMenuWin(client));
+}
+
+PassRefPtr<SearchPopupMenu> ChromeClientWinCE::createSearchPopupMenu(PopupMenuClient* client) const
+{
+ return adoptRef(new SearchPopupMenuWin(client));
+}
+
+} // namespace WebKit
diff --git a/WebKit/wince/WebCoreSupport/ChromeClientWinCE.h b/WebKit/wince/WebCoreSupport/ChromeClientWinCE.h
new file mode 100644
index 0000000..be9f643
--- /dev/null
+++ b/WebKit/wince/WebCoreSupport/ChromeClientWinCE.h
@@ -0,0 +1,174 @@
+/*
+ * Copyright (C) 2010 Patrick Gansterer <paroga@paroga.com>
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. 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 APPLE AND ITS CONTRIBUTORS "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 OR ITS 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 ChromeClientWinCE_h
+#define ChromeClientWinCE_h
+
+#include "ChromeClient.h"
+
+class WebView;
+
+namespace WebKit {
+
+class ChromeClientWinCE : public WebCore::ChromeClient {
+public:
+ ChromeClientWinCE(WebView* webView);
+
+ virtual void chromeDestroyed();
+
+ virtual void setWindowRect(const WebCore::FloatRect&);
+ virtual WebCore::FloatRect windowRect();
+
+ virtual WebCore::FloatRect pageRect();
+
+ virtual float scaleFactor();
+
+ virtual void focus();
+ virtual void unfocus();
+
+ virtual bool canTakeFocus(WebCore::FocusDirection);
+ virtual void takeFocus(WebCore::FocusDirection);
+
+ virtual void focusedNodeChanged(WebCore::Node*);
+
+ // The Frame pointer provides the ChromeClient with context about which
+ // Frame wants to create the new Page. Also, the newly created window
+ // should not be shown to the user until the ChromeClient of the newly
+ // created Page has its show method called.
+ virtual WebCore::Page* createWindow(WebCore::Frame*, const WebCore::FrameLoadRequest&, const WebCore::WindowFeatures&);
+ virtual void show();
+
+ virtual bool canRunModal();
+ virtual void runModal();
+
+ virtual void setToolbarsVisible(bool);
+ virtual bool toolbarsVisible();
+
+ virtual void setStatusbarVisible(bool);
+ virtual bool statusbarVisible();
+
+ virtual void setScrollbarsVisible(bool);
+ virtual bool scrollbarsVisible();
+
+ virtual void setMenubarVisible(bool);
+ virtual bool menubarVisible();
+
+ virtual void setResizable(bool);
+
+ virtual void addMessageToConsole(WebCore::MessageSource, WebCore::MessageType, WebCore::MessageLevel, const WTF::String& message, unsigned int lineNumber, const WTF::String& sourceID);
+
+ virtual bool canRunBeforeUnloadConfirmPanel();
+ virtual bool runBeforeUnloadConfirmPanel(const WTF::String& message, WebCore::Frame* frame);
+
+ virtual void closeWindowSoon();
+
+ virtual void runJavaScriptAlert(WebCore::Frame*, const WTF::String&);
+ virtual bool runJavaScriptConfirm(WebCore::Frame*, const WTF::String&);
+ virtual bool runJavaScriptPrompt(WebCore::Frame*, const WTF::String& message, const WTF::String& defaultValue, WTF::String& result);
+ virtual void setStatusbarText(const WTF::String&);
+ virtual bool shouldInterruptJavaScript();
+ virtual bool tabsToLinks() const;
+
+ virtual WebCore::IntRect windowResizerRect() const;
+
+ // Methods used by HostWindow.
+ virtual void invalidateWindow(const WebCore::IntRect&, bool);
+ virtual void invalidateContentsAndWindow(const WebCore::IntRect&, bool);
+ virtual void invalidateContentsForSlowScroll(const WebCore::IntRect&, bool);
+ virtual void scroll(const WebCore::IntSize&, const WebCore::IntRect&, const WebCore::IntRect&);
+ virtual WebCore::IntPoint screenToWindow(const WebCore::IntPoint&) const;
+ virtual WebCore::IntRect windowToScreen(const WebCore::IntRect&) const;
+ virtual PlatformPageClient platformPageClient() const;
+ virtual void contentsSizeChanged(WebCore::Frame*, const WebCore::IntSize&) const;
+ virtual void scrollRectIntoView(const WebCore::IntRect&, const WebCore::ScrollView*) const; // Currently only Mac has a non empty implementation.
+ virtual void scrollbarsModeDidChange() const;
+ virtual void setCursor(const WebCore::Cursor&);
+ // End methods used by HostWindow.
+
+ virtual void mouseDidMoveOverElement(const WebCore::HitTestResult&, unsigned modifierFlags);
+
+ virtual void setToolTip(const WTF::String&, WebCore::TextDirection);
+
+ virtual void print(WebCore::Frame*);
+
+#if ENABLE(DATABASE)
+ virtual void exceededDatabaseQuota(WebCore::Frame*, const WTF::String& databaseName) = 0;
+#endif
+
+#if ENABLE(OFFLINE_WEB_APPLICATIONS)
+ // Callback invoked when the application cache fails to save a cache object
+ // because storing it would grow the database file past its defined maximum
+ // size or past the amount of free space on the device.
+ // The chrome client would need to take some action such as evicting some
+ // old caches.
+ virtual void reachedMaxAppCacheSize(int64_t spaceNeeded) = 0;
+#endif
+
+#if ENABLE(NOTIFICATIONS)
+ virtual WebCore::NotificationPresenter* notificationPresenter() const = 0;
+#endif
+
+ // This can be either a synchronous or asynchronous call. The ChromeClient can display UI asking the user for permission
+ // to use Geolocation.
+ virtual void requestGeolocationPermissionForFrame(WebCore::Frame*, WebCore::Geolocation*);
+ virtual void cancelGeolocationPermissionRequestForFrame(WebCore::Frame*, WebCore::Geolocation*);
+
+ virtual void runOpenPanel(WebCore::Frame*, PassRefPtr<WebCore::FileChooser>);
+ // Asynchronous request to load an icon for specified filenames.
+ virtual void chooseIconForFiles(const Vector<WTF::String>&, WebCore::FileChooser*);
+
+ // Notification that the given form element has changed. This function
+ // will be called frequently, so handling should be very fast.
+ virtual void formStateDidChange(const WebCore::Node*);
+
+ virtual PassOwnPtr<WebCore::HTMLParserQuirks> createHTMLParserQuirks();
+
+#if USE(ACCELERATED_COMPOSITING)
+ // Pass 0 as the GraphicsLayer to detatch the root layer.
+ virtual void attachRootGraphicsLayer(WebCore::Frame*, WebCore::GraphicsLayer*);
+ // Sets a flag to specify that the next time content is drawn to the window,
+ // the changes appear on the screen in synchrony with updates to GraphicsLayers.
+ virtual void setNeedsOneShotDrawingSynchronization();
+ // Sets a flag to specify that the view needs to be updated, so we need
+ // to do an eager layout before the drawing.
+ virtual void scheduleCompositingLayerSync();
+#endif
+
+ virtual void setLastSetCursorToCurrentCursor();
+
+#if ENABLE(TOUCH_EVENTS)
+ virtual void needTouchEvents(bool);
+#endif
+
+ virtual bool selectItemWritingDirectionIsNatural();
+ virtual PassRefPtr<WebCore::PopupMenu> createPopupMenu(WebCore::PopupMenuClient*) const;
+ virtual PassRefPtr<WebCore::SearchPopupMenu> createSearchPopupMenu(WebCore::PopupMenuClient*) const;
+
+private:
+ WebView* m_webView;
+};
+
+} // namespace WebKit
+
+#endif // ChromeClientWinCE_h
diff --git a/WebKit/wince/WebCoreSupport/ContextMenuClientWinCE.cpp b/WebKit/wince/WebCoreSupport/ContextMenuClientWinCE.cpp
index 011c2ea..7358f2a 100644
--- a/WebKit/wince/WebCoreSupport/ContextMenuClientWinCE.cpp
+++ b/WebKit/wince/WebCoreSupport/ContextMenuClientWinCE.cpp
@@ -32,57 +32,57 @@ using namespace WebCore;
namespace WebKit {
-ContextMenuClient::ContextMenuClient(WebView *webView)
+ContextMenuClientWinCE::ContextMenuClientWinCE(WebView *webView)
: m_webView(webView)
{
}
-void ContextMenuClient::contextMenuDestroyed()
+void ContextMenuClientWinCE::contextMenuDestroyed()
{
delete this;
}
-PlatformMenuDescription ContextMenuClient::getCustomMenuFromDefaultItems(ContextMenu* menu)
+PlatformMenuDescription ContextMenuClientWinCE::getCustomMenuFromDefaultItems(ContextMenu* menu)
{
return menu->releasePlatformDescription();
}
-void ContextMenuClient::contextMenuItemSelected(ContextMenuItem*, const ContextMenu*)
+void ContextMenuClientWinCE::contextMenuItemSelected(ContextMenuItem*, const ContextMenu*)
{
notImplemented();
}
-void ContextMenuClient::downloadURL(const KURL& url)
+void ContextMenuClientWinCE::downloadURL(const KURL& url)
{
notImplemented();
}
-void ContextMenuClient::copyImageToClipboard(const HitTestResult&)
+void ContextMenuClientWinCE::copyImageToClipboard(const HitTestResult&)
{
notImplemented();
}
-void ContextMenuClient::searchWithGoogle(const Frame*)
+void ContextMenuClientWinCE::searchWithGoogle(const Frame*)
{
notImplemented();
}
-void ContextMenuClient::lookUpInDictionary(Frame*)
+void ContextMenuClientWinCE::lookUpInDictionary(Frame*)
{
notImplemented();
}
-void ContextMenuClient::speak(const String&)
+void ContextMenuClientWinCE::speak(const String&)
{
notImplemented();
}
-void ContextMenuClient::stopSpeaking()
+void ContextMenuClientWinCE::stopSpeaking()
{
notImplemented();
}
-bool ContextMenuClient::isSpeaking()
+bool ContextMenuClientWinCE::isSpeaking()
{
notImplemented();
return false;
diff --git a/WebKit/wince/WebCoreSupport/ContextMenuClientWinCE.h b/WebKit/wince/WebCoreSupport/ContextMenuClientWinCE.h
index 3d51f3c..13d91d1 100644
--- a/WebKit/wince/WebCoreSupport/ContextMenuClientWinCE.h
+++ b/WebKit/wince/WebCoreSupport/ContextMenuClientWinCE.h
@@ -31,9 +31,9 @@ class WebView;
namespace WebKit {
-class ContextMenuClient : public WebCore::ContextMenuClient {
+class ContextMenuClientWinCE : public WebCore::ContextMenuClient {
public:
- ContextMenuClient(WebView*);
+ ContextMenuClientWinCE(WebView*);
virtual void contextMenuDestroyed();
diff --git a/WebKit/wince/WebCoreSupport/DragClientWinCE.cpp b/WebKit/wince/WebCoreSupport/DragClientWinCE.cpp
index cd94547..1fc4379 100644
--- a/WebKit/wince/WebCoreSupport/DragClientWinCE.cpp
+++ b/WebKit/wince/WebCoreSupport/DragClientWinCE.cpp
@@ -31,40 +31,40 @@ using namespace WebCore;
namespace WebKit {
-void DragClient::willPerformDragDestinationAction(DragDestinationAction, DragData*)
+void DragClientWinCE::willPerformDragDestinationAction(DragDestinationAction, DragData*)
{
notImplemented();
}
-void DragClient::willPerformDragSourceAction(DragSourceAction, const IntPoint&, Clipboard*)
+void DragClientWinCE::willPerformDragSourceAction(DragSourceAction, const IntPoint&, Clipboard*)
{
notImplemented();
}
-DragDestinationAction DragClient::actionMaskForDrag(DragData*)
+DragDestinationAction DragClientWinCE::actionMaskForDrag(DragData*)
{
notImplemented();
return DragDestinationActionAny;
}
-DragSourceAction DragClient::dragSourceActionMaskForPoint(const IntPoint&)
+DragSourceAction DragClientWinCE::dragSourceActionMaskForPoint(const IntPoint&)
{
notImplemented();
return DragSourceActionAny;
}
-void DragClient::startDrag(DragImageRef, const IntPoint&, const IntPoint&, Clipboard*, Frame*, bool)
+void DragClientWinCE::startDrag(DragImageRef, const IntPoint&, const IntPoint&, Clipboard*, Frame*, bool)
{
notImplemented();
}
-DragImageRef DragClient::createDragImageForLink(KURL&, const String& label, Frame*)
+DragImageRef DragClientWinCE::createDragImageForLink(KURL&, const String& label, Frame*)
{
notImplemented();
return 0;
}
-void DragClient::dragControllerDestroyed()
+void DragClientWinCE::dragControllerDestroyed()
{
delete this;
}
diff --git a/WebKit/wince/WebCoreSupport/DragClientWinCE.h b/WebKit/wince/WebCoreSupport/DragClientWinCE.h
index 01dba3c..dc5168c 100644
--- a/WebKit/wince/WebCoreSupport/DragClientWinCE.h
+++ b/WebKit/wince/WebCoreSupport/DragClientWinCE.h
@@ -29,7 +29,7 @@
namespace WebKit {
-class DragClient : public WebCore::DragClient {
+class DragClientWinCE : public WebCore::DragClient {
public:
virtual void willPerformDragDestinationAction(WebCore::DragDestinationAction, WebCore::DragData*);
virtual void willPerformDragSourceAction(WebCore::DragSourceAction, const WebCore::IntPoint&, WebCore::Clipboard*);
diff --git a/WebKit/wince/WebCoreSupport/EditorClientWinCE.cpp b/WebKit/wince/WebCoreSupport/EditorClientWinCE.cpp
index d81fc02..a806cf9 100644
--- a/WebKit/wince/WebCoreSupport/EditorClientWinCE.cpp
+++ b/WebKit/wince/WebCoreSupport/EditorClientWinCE.cpp
@@ -32,282 +32,282 @@ using namespace WebCore;
namespace WebKit {
-EditorClient::EditorClient(WebView* webView)
+EditorClientWinCE::EditorClientWinCE(WebView* webView)
: m_webView(webView)
{
}
-EditorClient::~EditorClient()
+EditorClientWinCE::~EditorClientWinCE()
{
}
-void EditorClient::setInputMethodState(bool active)
+void EditorClientWinCE::setInputMethodState(bool active)
{
notImplemented();
}
-bool EditorClient::shouldDeleteRange(Range*)
+bool EditorClientWinCE::shouldDeleteRange(Range*)
{
notImplemented();
return true;
}
-bool EditorClient::shouldShowDeleteInterface(HTMLElement*)
+bool EditorClientWinCE::shouldShowDeleteInterface(HTMLElement*)
{
return false;
}
-bool EditorClient::isContinuousSpellCheckingEnabled()
+bool EditorClientWinCE::isContinuousSpellCheckingEnabled()
{
notImplemented();
return false;
}
-bool EditorClient::isGrammarCheckingEnabled()
+bool EditorClientWinCE::isGrammarCheckingEnabled()
{
notImplemented();
return false;
}
-int EditorClient::spellCheckerDocumentTag()
+int EditorClientWinCE::spellCheckerDocumentTag()
{
notImplemented();
return 0;
}
-bool EditorClient::shouldBeginEditing(WebCore::Range*)
+bool EditorClientWinCE::shouldBeginEditing(WebCore::Range*)
{
notImplemented();
return true;
}
-bool EditorClient::shouldEndEditing(WebCore::Range*)
+bool EditorClientWinCE::shouldEndEditing(WebCore::Range*)
{
notImplemented();
return true;
}
-bool EditorClient::shouldInsertText(const String&, Range*, EditorInsertAction)
+bool EditorClientWinCE::shouldInsertText(const String&, Range*, EditorInsertAction)
{
notImplemented();
return true;
}
-bool EditorClient::shouldChangeSelectedRange(Range*, Range*, EAffinity, bool)
+bool EditorClientWinCE::shouldChangeSelectedRange(Range*, Range*, EAffinity, bool)
{
notImplemented();
return true;
}
-bool EditorClient::shouldApplyStyle(WebCore::CSSStyleDeclaration*, WebCore::Range*)
+bool EditorClientWinCE::shouldApplyStyle(WebCore::CSSStyleDeclaration*, WebCore::Range*)
{
notImplemented();
return true;
}
-bool EditorClient::shouldMoveRangeAfterDelete(WebCore::Range*, WebCore::Range*)
+bool EditorClientWinCE::shouldMoveRangeAfterDelete(WebCore::Range*, WebCore::Range*)
{
notImplemented();
return true;
}
-void EditorClient::didBeginEditing()
+void EditorClientWinCE::didBeginEditing()
{
notImplemented();
}
-void EditorClient::respondToChangedContents()
+void EditorClientWinCE::respondToChangedContents()
{
notImplemented();
}
-void EditorClient::respondToChangedSelection()
+void EditorClientWinCE::respondToChangedSelection()
{
notImplemented();
}
-void EditorClient::didEndEditing()
+void EditorClientWinCE::didEndEditing()
{
notImplemented();
}
-void EditorClient::didWriteSelectionToPasteboard()
+void EditorClientWinCE::didWriteSelectionToPasteboard()
{
notImplemented();
}
-void EditorClient::didSetSelectionTypesForPasteboard()
+void EditorClientWinCE::didSetSelectionTypesForPasteboard()
{
notImplemented();
}
-bool EditorClient::isEditable()
+bool EditorClientWinCE::isEditable()
{
notImplemented();
return false;
}
-void EditorClient::registerCommandForUndo(WTF::PassRefPtr<WebCore::EditCommand> command)
+void EditorClientWinCE::registerCommandForUndo(WTF::PassRefPtr<WebCore::EditCommand> command)
{
notImplemented();
}
-void EditorClient::registerCommandForRedo(WTF::PassRefPtr<WebCore::EditCommand> command)
+void EditorClientWinCE::registerCommandForRedo(WTF::PassRefPtr<WebCore::EditCommand> command)
{
notImplemented();
}
-void EditorClient::clearUndoRedoOperations()
+void EditorClientWinCE::clearUndoRedoOperations()
{
notImplemented();
}
-bool EditorClient::canUndo() const
+bool EditorClientWinCE::canUndo() const
{
notImplemented();
return false;
}
-bool EditorClient::canRedo() const
+bool EditorClientWinCE::canRedo() const
{
notImplemented();
return false;
}
-void EditorClient::undo()
+void EditorClientWinCE::undo()
{
notImplemented();
}
-void EditorClient::redo()
+void EditorClientWinCE::redo()
{
notImplemented();
}
-bool EditorClient::shouldInsertNode(Node*, Range*, EditorInsertAction)
+bool EditorClientWinCE::shouldInsertNode(Node*, Range*, EditorInsertAction)
{
notImplemented();
return true;
}
-void EditorClient::pageDestroyed()
+void EditorClientWinCE::pageDestroyed()
{
delete this;
}
-bool EditorClient::smartInsertDeleteEnabled()
+bool EditorClientWinCE::smartInsertDeleteEnabled()
{
notImplemented();
return false;
}
-bool EditorClient::isSelectTrailingWhitespaceEnabled()
+bool EditorClientWinCE::isSelectTrailingWhitespaceEnabled()
{
notImplemented();
return false;
}
-void EditorClient::toggleContinuousSpellChecking()
+void EditorClientWinCE::toggleContinuousSpellChecking()
{
notImplemented();
}
-void EditorClient::toggleGrammarChecking()
+void EditorClientWinCE::toggleGrammarChecking()
{
notImplemented();
}
-void EditorClient::handleKeyboardEvent(KeyboardEvent* event)
+void EditorClientWinCE::handleKeyboardEvent(KeyboardEvent* event)
{
notImplemented();
}
-void EditorClient::handleInputMethodKeydown(KeyboardEvent* event)
+void EditorClientWinCE::handleInputMethodKeydown(KeyboardEvent* event)
{
notImplemented();
}
-void EditorClient::textFieldDidBeginEditing(Element*)
+void EditorClientWinCE::textFieldDidBeginEditing(Element*)
{
}
-void EditorClient::textFieldDidEndEditing(Element*)
+void EditorClientWinCE::textFieldDidEndEditing(Element*)
{
}
-void EditorClient::textDidChangeInTextField(Element*)
+void EditorClientWinCE::textDidChangeInTextField(Element*)
{
}
-bool EditorClient::doTextFieldCommandFromEvent(Element*, KeyboardEvent*)
+bool EditorClientWinCE::doTextFieldCommandFromEvent(Element*, KeyboardEvent*)
{
return false;
}
-void EditorClient::textWillBeDeletedInTextField(Element*)
+void EditorClientWinCE::textWillBeDeletedInTextField(Element*)
{
notImplemented();
}
-void EditorClient::textDidChangeInTextArea(Element*)
+void EditorClientWinCE::textDidChangeInTextArea(Element*)
{
notImplemented();
}
-void EditorClient::ignoreWordInSpellDocument(const String& text)
+void EditorClientWinCE::ignoreWordInSpellDocument(const String& text)
{
notImplemented();
}
-void EditorClient::learnWord(const String& text)
+void EditorClientWinCE::learnWord(const String& text)
{
notImplemented();
}
-void EditorClient::checkSpellingOfString(const UChar* text, int length, int* misspellingLocation, int* misspellingLength)
+void EditorClientWinCE::checkSpellingOfString(const UChar* text, int length, int* misspellingLocation, int* misspellingLength)
{
notImplemented();
}
-String EditorClient::getAutoCorrectSuggestionForMisspelledWord(const String& inputWord)
+String EditorClientWinCE::getAutoCorrectSuggestionForMisspelledWord(const String& inputWord)
{
// This method can be implemented using customized algorithms for the particular browser.
// Currently, it computes an empty string.
return String();
}
-void EditorClient::checkGrammarOfString(const UChar*, int, Vector<GrammarDetail>&, int*, int*)
+void EditorClientWinCE::checkGrammarOfString(const UChar*, int, Vector<GrammarDetail>&, int*, int*)
{
notImplemented();
}
-void EditorClient::updateSpellingUIWithGrammarString(const String&, const GrammarDetail&)
+void EditorClientWinCE::updateSpellingUIWithGrammarString(const String&, const GrammarDetail&)
{
notImplemented();
}
-void EditorClient::updateSpellingUIWithMisspelledWord(const String&)
+void EditorClientWinCE::updateSpellingUIWithMisspelledWord(const String&)
{
notImplemented();
}
-void EditorClient::showSpellingUI(bool)
+void EditorClientWinCE::showSpellingUI(bool)
{
notImplemented();
}
-bool EditorClient::spellingUIIsShowing()
+bool EditorClientWinCE::spellingUIIsShowing()
{
notImplemented();
return false;
}
-void EditorClient::getGuessesForWord(const String& word, WTF::Vector<String>& guesses)
+void EditorClientWinCE::getGuessesForWord(const String& word, WTF::Vector<String>& guesses)
{
notImplemented();
}
-void EditorClient::willSetInputMethodState()
+void EditorClientWinCE::willSetInputMethodState()
{
notImplemented();
}
diff --git a/WebKit/wince/WebCoreSupport/EditorClientWinCE.h b/WebKit/wince/WebCoreSupport/EditorClientWinCE.h
index 943f591..0ad0a19 100644
--- a/WebKit/wince/WebCoreSupport/EditorClientWinCE.h
+++ b/WebKit/wince/WebCoreSupport/EditorClientWinCE.h
@@ -31,10 +31,10 @@ class WebView;
namespace WebKit {
-class EditorClient : public WebCore::EditorClient {
+class EditorClientWinCE : public WebCore::EditorClient {
public:
- EditorClient(WebView*);
- ~EditorClient();
+ EditorClientWinCE(WebView*);
+ ~EditorClientWinCE();
virtual void pageDestroyed();
diff --git a/WebKit/wince/WebCoreSupport/FrameLoaderClientWinCE.cpp b/WebKit/wince/WebCoreSupport/FrameLoaderClientWinCE.cpp
index b11df84..e841ab9 100644
--- a/WebKit/wince/WebCoreSupport/FrameLoaderClientWinCE.cpp
+++ b/WebKit/wince/WebCoreSupport/FrameLoaderClientWinCE.cpp
@@ -32,6 +32,7 @@
#include "HTMLFormElement.h"
#include "MIMETypeRegistry.h"
#include "NotImplemented.h"
+#include "Page.h"
#include "PluginDatabase.h"
#include "RenderPart.h"
#include "WebView.h"
@@ -160,7 +161,7 @@ PassRefPtr<Frame> FrameLoaderClientWinCE::createFrame(const KURL& url, const Str
return m_webView->createFrame(url, name, ownerElement, referrer, allowsScrolling, marginWidth, marginHeight);
}
-void FrameLoaderClientWinCE::didTransferChildFrameToNewDocument()
+void FrameLoaderClientWinCE::didTransferChildFrameToNewDocument(Page*)
{
}
@@ -424,6 +425,12 @@ bool FrameLoaderClientWinCE::canShowMIMEType(const String& type) const
|| PluginDatabase::installedPlugins()->isMIMETypeRegistered(type));
}
+bool FrameLoaderClientWinCE::canShowMIMETypeAsHTML(const String&) const
+{
+ notImplemented();
+ return false;
+}
+
bool FrameLoaderClientWinCE::representationExistsForURLScheme(const String&) const
{
notImplemented();
diff --git a/WebKit/wince/WebCoreSupport/FrameLoaderClientWinCE.h b/WebKit/wince/WebCoreSupport/FrameLoaderClientWinCE.h
index 94810bc..b64efed 100644
--- a/WebKit/wince/WebCoreSupport/FrameLoaderClientWinCE.h
+++ b/WebKit/wince/WebCoreSupport/FrameLoaderClientWinCE.h
@@ -108,7 +108,7 @@ public:
virtual PassRefPtr<WebCore::Frame> createFrame(const WebCore::KURL& url, const WTF::String& name, WebCore::HTMLFrameOwnerElement* ownerElement,
const WTF::String& referrer, bool allowsScrolling, int marginWidth, int marginHeight);
- virtual void didTransferChildFrameToNewDocument();
+ virtual void didTransferChildFrameToNewDocument(WebCore::Page*);
virtual PassRefPtr<WebCore::Widget> createPlugin(const WebCore::IntSize&, WebCore::HTMLPlugInElement*, const WebCore::KURL&, const WTF::Vector<WTF::String>&, const WTF::Vector<WTF::String>&, const WTF::String&, bool);
virtual void redirectDataToPlugin(WebCore::Widget* pluginWidget);
virtual PassRefPtr<WebCore::Widget> createJavaAppletWidget(const WebCore::IntSize&, WebCore::HTMLAppletElement*, const WebCore::KURL& baseURL, const WTF::Vector<WTF::String>& paramNames, const WTF::Vector<WTF::String>& paramValues);
@@ -154,6 +154,7 @@ public:
virtual bool canHandleRequest(const WebCore::ResourceRequest&) const;
virtual bool canShowMIMEType(const WTF::String&) const;
+ virtual bool canShowMIMETypeAsHTML(const WTF::String&) const;
virtual bool representationExistsForURLScheme(const WTF::String&) const;
virtual WTF::String generatedMIMETypeForURLScheme(const WTF::String&) const;
diff --git a/WebKit/wince/WebCoreSupport/InspectorClientWinCE.cpp b/WebKit/wince/WebCoreSupport/InspectorClientWinCE.cpp
index debc611..5168885 100644
--- a/WebKit/wince/WebCoreSupport/InspectorClientWinCE.cpp
+++ b/WebKit/wince/WebCoreSupport/InspectorClientWinCE.cpp
@@ -31,51 +31,51 @@ using namespace WebCore;
namespace WebKit {
-InspectorClient::InspectorClient(WebView* webView)
+InspectorClientWinCE::InspectorClientWinCE(WebView* webView)
: m_inspectedWebView(webView)
{
}
-InspectorClient::~InspectorClient()
+InspectorClientWinCE::~InspectorClientWinCE()
{
}
-void InspectorClient::inspectorDestroyed()
+void InspectorClientWinCE::inspectorDestroyed()
{
delete this;
}
-void InspectorClient::openInspectorFrontend(InspectorController* controller)
+void InspectorClientWinCE::openInspectorFrontend(InspectorController* controller)
{
notImplemented();
}
-void InspectorClient::releaseFrontendPage()
+void InspectorClientWinCE::releaseFrontendPage()
{
notImplemented();
}
-void InspectorClient::highlight(Node* node)
+void InspectorClientWinCE::highlight(Node* node)
{
notImplemented();
}
-void InspectorClient::hideHighlight()
+void InspectorClientWinCE::hideHighlight()
{
notImplemented();
}
-void InspectorClient::populateSetting(const String& key, String* value)
+void InspectorClientWinCE::populateSetting(const String& key, String* value)
{
notImplemented();
}
-void InspectorClient::storeSetting(const String& key, const String& value)
+void InspectorClientWinCE::storeSetting(const String& key, const String& value)
{
notImplemented();
}
-bool InspectorClient::sendMessageToFrontend(const String& message)
+bool InspectorClientWinCE::sendMessageToFrontend(const String& message)
{
notImplemented();
return false;
diff --git a/WebKit/wince/WebCoreSupport/InspectorClientWinCE.h b/WebKit/wince/WebCoreSupport/InspectorClientWinCE.h
index 45fcc5b..37d7577 100644
--- a/WebKit/wince/WebCoreSupport/InspectorClientWinCE.h
+++ b/WebKit/wince/WebCoreSupport/InspectorClientWinCE.h
@@ -31,10 +31,10 @@ class WebView;
namespace WebKit {
-class InspectorClient : public WebCore::InspectorClient {
+class InspectorClientWinCE : public WebCore::InspectorClient {
public:
- InspectorClient(WebView* webView);
- ~InspectorClient();
+ InspectorClientWinCE(WebView* webView);
+ ~InspectorClientWinCE();
virtual void inspectorDestroyed();
diff --git a/WebKit/wince/WebCoreSupport/PlatformStrategiesWinCE.cpp b/WebKit/wince/WebCoreSupport/PlatformStrategiesWinCE.cpp
new file mode 100644
index 0000000..514fdf4
--- /dev/null
+++ b/WebKit/wince/WebCoreSupport/PlatformStrategiesWinCE.cpp
@@ -0,0 +1,663 @@
+/*
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
+ * Copyright (C) 2010 Patrick Gansterer <paroga@paroga.com>
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. 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 APPLE AND ITS CONTRIBUTORS "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 OR ITS 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 "PlatformStrategiesWinCE.h"
+
+#include "IntSize.h"
+#include "MathExtras.h"
+#include "Page.h"
+#include "PageGroup.h"
+#include "PluginDatabase.h"
+#include <wtf/text/CString.h>
+
+#define UI_STRING(text, desciprion) text
+#define UI_STRING_KEY(text, key, desciprion) text
+
+using namespace WebCore;
+
+void PlatformStrategiesWinCE::initialize()
+{
+ DEFINE_STATIC_LOCAL(PlatformStrategiesWinCE, platformStrategies, ());
+}
+
+PlatformStrategiesWinCE::PlatformStrategiesWinCE()
+{
+ setPlatformStrategies(this);
+}
+
+// PluginStrategy
+
+PluginStrategy* PlatformStrategiesWinCE::createPluginStrategy()
+{
+ return this;
+}
+
+LocalizationStrategy* PlatformStrategiesWinCE::createLocalizationStrategy()
+{
+ return this;
+}
+
+VisitedLinkStrategy* PlatformStrategiesWinCE::createVisitedLinkStrategy()
+{
+ return this;
+}
+
+void PlatformStrategiesWinCE::refreshPlugins()
+{
+ PluginDatabase::installedPlugins()->refresh();
+}
+
+void PlatformStrategiesWinCE::getPluginInfo(const Page*, Vector<PluginInfo>& outPlugins)
+{
+ const Vector<PluginPackage*>& plugins = PluginDatabase::installedPlugins()->plugins();
+
+ outPlugins.resize(plugins.size());
+
+ for (size_t i = 0; i < plugins.size(); ++i) {
+ PluginPackage* package = plugins[i];
+
+ PluginInfo info;
+ info.name = package->name();
+ info.file = package->fileName();
+ info.desc = package->description();
+
+ const MIMEToDescriptionsMap& mimeToDescriptions = package->mimeToDescriptions();
+
+ info.mimes.reserveCapacity(mimeToDescriptions.size());
+
+ MIMEToDescriptionsMap::const_iterator end = mimeToDescriptions.end();
+ for (MIMEToDescriptionsMap::const_iterator it = mimeToDescriptions.begin(); it != end; ++it) {
+ MimeClassInfo mime;
+
+ mime.type = it->first;
+ mime.desc = it->second;
+ mime.extensions = package->mimeToExtensions().get(mime.type);
+
+ info.mimes.append(mime);
+ }
+
+ outPlugins[i] = info;
+ }
+}
+
+// LocalizationStrategy
+
+String PlatformStrategiesWinCE::searchableIndexIntroduction()
+{
+ return UI_STRING("This is a searchable index. Enter search keywords: ", "text that appears at the start of nearly-obsolete web pages in the form of a 'searchable index'");
+}
+
+String PlatformStrategiesWinCE::submitButtonDefaultLabel()
+{
+ return UI_STRING("Submit", "default label for Submit buttons in forms on web pages");
+}
+
+String PlatformStrategiesWinCE::inputElementAltText()
+{
+ return UI_STRING_KEY("Submit", "Submit (input element)", "alt text for <input> elements with no alt, title, or value");
+}
+
+String PlatformStrategiesWinCE::resetButtonDefaultLabel()
+{
+ return UI_STRING("Reset", "default label for Reset buttons in forms on web pages");
+}
+
+String PlatformStrategiesWinCE::fileButtonChooseFileLabel()
+{
+ return UI_STRING("Choose File", "title for file button used in HTML forms");
+}
+
+String PlatformStrategiesWinCE::fileButtonNoFileSelectedLabel()
+{
+ return UI_STRING("no file selected", "text to display in file button used in HTML forms when no file is selected");
+}
+
+String PlatformStrategiesWinCE::contextMenuItemTagOpenLinkInNewWindow()
+{
+ return UI_STRING("Open Link in New Window", "Open in New Window context menu item");
+}
+
+String PlatformStrategiesWinCE::contextMenuItemTagDownloadLinkToDisk()
+{
+ return UI_STRING("Download Linked File", "Download Linked File context menu item");
+}
+
+String PlatformStrategiesWinCE::contextMenuItemTagCopyLinkToClipboard()
+{
+ return UI_STRING("Copy Link", "Copy Link context menu item");
+}
+
+String PlatformStrategiesWinCE::contextMenuItemTagOpenImageInNewWindow()
+{
+ return UI_STRING("Open Image in New Window", "Open Image in New Window context menu item");
+}
+
+String PlatformStrategiesWinCE::contextMenuItemTagDownloadImageToDisk()
+{
+ return UI_STRING("Download Image", "Download Image context menu item");
+}
+
+String PlatformStrategiesWinCE::contextMenuItemTagCopyImageToClipboard()
+{
+ return UI_STRING("Copy Image", "Copy Image context menu item");
+}
+
+String PlatformStrategiesWinCE::contextMenuItemTagOpenVideoInNewWindow()
+{
+ return UI_STRING("Open Video in New Window", "Open Video in New Window context menu item");
+}
+
+String PlatformStrategiesWinCE::contextMenuItemTagOpenAudioInNewWindow()
+{
+ return UI_STRING("Open Audio in New Window", "Open Audio in New Window context menu item");
+}
+
+String PlatformStrategiesWinCE::contextMenuItemTagCopyVideoLinkToClipboard()
+{
+ return UI_STRING("Copy Video Address", "Copy Video Address Location context menu item");
+}
+
+String PlatformStrategiesWinCE::contextMenuItemTagCopyAudioLinkToClipboard()
+{
+ return UI_STRING("Copy Audio Address", "Copy Audio Address Location context menu item");
+}
+
+String PlatformStrategiesWinCE::contextMenuItemTagToggleMediaControls()
+{
+ return UI_STRING("Controls", "Media Controls context menu item");
+}
+
+String PlatformStrategiesWinCE::contextMenuItemTagToggleMediaLoop()
+{
+ return UI_STRING("Loop", "Media Loop context menu item");
+}
+
+String PlatformStrategiesWinCE::contextMenuItemTagEnterVideoFullscreen()
+{
+ return UI_STRING("Enter Fullscreen", "Video Enter Fullscreen context menu item");
+}
+
+String PlatformStrategiesWinCE::contextMenuItemTagMediaPlay()
+{
+ return UI_STRING("Play", "Media Play context menu item");
+}
+
+String PlatformStrategiesWinCE::contextMenuItemTagMediaPause()
+{
+ return UI_STRING("Pause", "Media Pause context menu item");
+}
+
+String PlatformStrategiesWinCE::contextMenuItemTagMediaMute()
+{
+ return UI_STRING("Mute", "Media Mute context menu item");
+}
+
+String PlatformStrategiesWinCE::contextMenuItemTagOpenFrameInNewWindow()
+{
+ return UI_STRING("Open Frame in New Window", "Open Frame in New Window context menu item");
+}
+
+String PlatformStrategiesWinCE::contextMenuItemTagCopy()
+{
+ return UI_STRING("Copy", "Copy context menu item");
+}
+
+String PlatformStrategiesWinCE::contextMenuItemTagGoBack()
+{
+ return UI_STRING("Back", "Back context menu item");
+}
+
+String PlatformStrategiesWinCE::contextMenuItemTagGoForward()
+{
+ return UI_STRING("Forward", "Forward context menu item");
+}
+
+String PlatformStrategiesWinCE::contextMenuItemTagStop()
+{
+ return UI_STRING("Stop", "Stop context menu item");
+}
+
+String PlatformStrategiesWinCE::contextMenuItemTagReload()
+{
+ return UI_STRING("Reload", "Reload context menu item");
+}
+
+String PlatformStrategiesWinCE::contextMenuItemTagCut()
+{
+ return UI_STRING("Cut", "Cut context menu item");
+}
+
+String PlatformStrategiesWinCE::contextMenuItemTagPaste()
+{
+ return UI_STRING("Paste", "Paste context menu item");
+}
+
+String PlatformStrategiesWinCE::contextMenuItemTagNoGuessesFound()
+{
+ return UI_STRING("No Guesses Found", "No Guesses Found context menu item");
+}
+
+String PlatformStrategiesWinCE::contextMenuItemTagIgnoreSpelling()
+{
+ return UI_STRING("Ignore Spelling", "Ignore Spelling context menu item");
+}
+
+String PlatformStrategiesWinCE::contextMenuItemTagLearnSpelling()
+{
+ return UI_STRING("Learn Spelling", "Learn Spelling context menu item");
+}
+
+String PlatformStrategiesWinCE::contextMenuItemTagSearchWeb()
+{
+ return UI_STRING("Search with Google", "Search in Google context menu item");
+}
+
+String PlatformStrategiesWinCE::contextMenuItemTagLookUpInDictionary()
+{
+ return UI_STRING("Look Up in Dictionary", "Look Up in Dictionary context menu item");
+}
+
+String PlatformStrategiesWinCE::contextMenuItemTagOpenLink()
+{
+ return UI_STRING("Open Link", "Open Link context menu item");
+}
+
+String PlatformStrategiesWinCE::contextMenuItemTagIgnoreGrammar()
+{
+ return UI_STRING("Ignore Grammar", "Ignore Grammar context menu item");
+}
+
+String PlatformStrategiesWinCE::contextMenuItemTagSpellingMenu()
+{
+ return UI_STRING("Spelling and Grammar", "Spelling and Grammar context sub-menu item");
+}
+
+String PlatformStrategiesWinCE::contextMenuItemTagCheckSpelling()
+{
+ return UI_STRING("Check Document Now", "Check spelling context menu item");
+}
+
+String PlatformStrategiesWinCE::contextMenuItemTagCheckSpellingWhileTyping()
+{
+ return UI_STRING("Check Spelling While Typing", "Check spelling while typing context menu item");
+}
+
+String PlatformStrategiesWinCE::contextMenuItemTagCheckGrammarWithSpelling()
+{
+ return UI_STRING("Check Grammar With Spelling", "Check grammar with spelling context menu item");
+}
+
+String PlatformStrategiesWinCE::contextMenuItemTagFontMenu()
+{
+ return UI_STRING("Font", "Font context sub-menu item");
+}
+
+String PlatformStrategiesWinCE::contextMenuItemTagBold()
+{
+ return UI_STRING("Bold", "Bold context menu item");
+}
+
+String PlatformStrategiesWinCE::contextMenuItemTagItalic()
+{
+ return UI_STRING("Italic", "Italic context menu item");
+}
+
+String PlatformStrategiesWinCE::contextMenuItemTagUnderline()
+{
+ return UI_STRING("Underline", "Underline context menu item");
+}
+
+String PlatformStrategiesWinCE::contextMenuItemTagOutline()
+{
+ return UI_STRING("Outline", "Outline context menu item");
+}
+
+String PlatformStrategiesWinCE::contextMenuItemTagWritingDirectionMenu()
+{
+ return UI_STRING("Paragraph Direction", "Paragraph direction context sub-menu item");
+}
+
+String PlatformStrategiesWinCE::contextMenuItemTagTextDirectionMenu()
+{
+ return UI_STRING("Selection Direction", "Selection direction context sub-menu item");
+}
+
+String PlatformStrategiesWinCE::contextMenuItemTagDefaultDirection()
+{
+ return UI_STRING("Default", "Default writing direction context menu item");
+}
+
+String PlatformStrategiesWinCE::contextMenuItemTagLeftToRight()
+{
+ return UI_STRING("Left to Right", "Left to Right context menu item");
+}
+
+String PlatformStrategiesWinCE::contextMenuItemTagRightToLeft()
+{
+ return UI_STRING("Right to Left", "Right to Left context menu item");
+}
+
+String PlatformStrategiesWinCE::contextMenuItemTagShowSpellingPanel(bool show)
+{
+ if (show)
+ return UI_STRING("Show Spelling and Grammar", "menu item title");
+ return UI_STRING("Hide Spelling and Grammar", "menu item title");
+}
+
+String PlatformStrategiesWinCE::contextMenuItemTagInspectElement()
+{
+ return UI_STRING("Inspect Element", "Inspect Element context menu item");
+}
+
+String PlatformStrategiesWinCE::searchMenuNoRecentSearchesText()
+{
+ return UI_STRING("No recent searches", "Label for only item in menu that appears when clicking on the search field image, when no searches have been performed");
+}
+
+String PlatformStrategiesWinCE::searchMenuRecentSearchesText()
+{
+ return UI_STRING("Recent Searches", "label for first item in the menu that appears when clicking on the search field image, used as embedded menu title");
+}
+
+String PlatformStrategiesWinCE::searchMenuClearRecentSearchesText()
+{
+ return UI_STRING("Clear Recent Searches", "menu item in Recent Searches menu that empties menu's contents");
+}
+
+String PlatformStrategiesWinCE::AXWebAreaText()
+{
+ return UI_STRING("web area", "accessibility role description for web area");
+}
+
+String PlatformStrategiesWinCE::AXLinkText()
+{
+ return UI_STRING("link", "accessibility role description for link");
+}
+
+String PlatformStrategiesWinCE::AXListMarkerText()
+{
+ return UI_STRING("list marker", "accessibility role description for list marker");
+}
+
+String PlatformStrategiesWinCE::AXImageMapText()
+{
+ return UI_STRING("image map", "accessibility role description for image map");
+}
+
+String PlatformStrategiesWinCE::AXHeadingText()
+{
+ return UI_STRING("heading", "accessibility role description for headings");
+}
+
+String PlatformStrategiesWinCE::AXDefinitionListTermText()
+{
+ return UI_STRING("term", "term word of a definition");
+}
+
+String PlatformStrategiesWinCE::AXDefinitionListDefinitionText()
+{
+ return UI_STRING("definition", "definition phrase");
+}
+
+String PlatformStrategiesWinCE::AXButtonActionVerb()
+{
+ return UI_STRING("press", "Verb stating the action that will occur when a button is pressed, as used by accessibility");
+}
+
+String PlatformStrategiesWinCE::AXRadioButtonActionVerb()
+{
+ return UI_STRING("select", "Verb stating the action that will occur when a radio button is clicked, as used by accessibility");
+}
+
+String PlatformStrategiesWinCE::AXTextFieldActionVerb()
+{
+ return UI_STRING("activate", "Verb stating the action that will occur when a text field is selected, as used by accessibility");
+}
+
+String PlatformStrategiesWinCE::AXCheckedCheckBoxActionVerb()
+{
+ return UI_STRING("uncheck", "Verb stating the action that will occur when a checked checkbox is clicked, as used by accessibility");
+}
+
+String PlatformStrategiesWinCE::AXUncheckedCheckBoxActionVerb()
+{
+ return UI_STRING("check", "Verb stating the action that will occur when an unchecked checkbox is clicked, as used by accessibility");
+}
+
+String PlatformStrategiesWinCE::AXLinkActionVerb()
+{
+ return UI_STRING("jump", "Verb stating the action that will occur when a link is clicked, as used by accessibility");
+}
+
+String PlatformStrategiesWinCE::AXMenuListActionVerb()
+{
+ return UI_STRING("open", "Verb stating the action that will occur when a select element is clicked, as used by accessibility");
+}
+
+String PlatformStrategiesWinCE::AXMenuListPopupActionVerb()
+{
+ return UI_STRING_KEY("press", "press (select element)", "Verb stating the action that will occur when a select element's popup list is clicked, as used by accessibility");
+}
+
+String PlatformStrategiesWinCE::unknownFileSizeText()
+{
+ return UI_STRING("Unknown", "Unknown filesize FTP directory listing item");
+}
+
+String PlatformStrategiesWinCE::uploadFileText()
+{
+ return UI_STRING("Upload file", "(Windows) Form submit file upload dialog title");
+}
+
+String PlatformStrategiesWinCE::allFilesText()
+{
+ return UI_STRING("All Files", "(Windows) Form submit file upload all files pop-up");
+}
+
+String PlatformStrategiesWinCE::missingPluginText()
+{
+ return UI_STRING("Missing Plug-in", "Label text to be used when a plugin is missing");
+}
+
+String PlatformStrategiesWinCE::crashedPluginText()
+{
+ return UI_STRING("Plug-in Failure", "Label text to be used if plugin host process has crashed");
+}
+
+String PlatformStrategiesWinCE::imageTitle(const String& filename, const IntSize& size)
+{
+ CString filenameCString = filename.utf8();
+ return String::format(UI_STRING("%s %d\xC3\x97%d pixels", "window title for a standalone image (uses multiplication symbol, not x)"), filenameCString.data(), size.width(), size.height());
+}
+
+String PlatformStrategiesWinCE::multipleFileUploadText(unsigned numberOfFiles)
+{
+ return String::format(UI_STRING("%d files", "Label to describe the number of files selected in a file upload control that allows multiple files"), numberOfFiles);
+}
+
+String PlatformStrategiesWinCE::mediaElementLoadingStateText()
+{
+ return UI_STRING("Loading...", "Media controller status message when the media is loading");
+}
+
+String PlatformStrategiesWinCE::mediaElementLiveBroadcastStateText()
+{
+ return UI_STRING("Live Broadcast", "Media controller status message when watching a live broadcast");
+}
+
+String PlatformStrategiesWinCE::localizedMediaControlElementString(const String& name)
+{
+ if (name == "AudioElement")
+ return UI_STRING("audio element controller", "accessibility role description for audio element controller");
+ if (name == "VideoElement")
+ return UI_STRING("video element controller", "accessibility role description for video element controller");
+ if (name == "MuteButton")
+ return UI_STRING("mute", "accessibility role description for mute button");
+ if (name == "UnMuteButton")
+ return UI_STRING("unmute", "accessibility role description for turn mute off button");
+ if (name == "PlayButton")
+ return UI_STRING("play", "accessibility role description for play button");
+ if (name == "PauseButton")
+ return UI_STRING("pause", "accessibility role description for pause button");
+ if (name == "Slider")
+ return UI_STRING("movie time", "accessibility role description for timeline slider");
+ if (name == "SliderThumb")
+ return UI_STRING("timeline slider thumb", "accessibility role description for timeline thumb");
+ if (name == "RewindButton")
+ return UI_STRING("back 30 seconds", "accessibility role description for seek back 30 seconds button");
+ if (name == "ReturnToRealtimeButton")
+ return UI_STRING("return to realtime", "accessibility role description for return to real time button");
+ if (name == "CurrentTimeDisplay")
+ return UI_STRING("elapsed time", "accessibility role description for elapsed time display");
+ if (name == "TimeRemainingDisplay")
+ return UI_STRING("remaining time", "accessibility role description for time remaining display");
+ if (name == "StatusDisplay")
+ return UI_STRING("status", "accessibility role description for movie status");
+ if (name == "FullscreenButton")
+ return UI_STRING("fullscreen", "accessibility role description for enter fullscreen button");
+ if (name == "SeekForwardButton")
+ return UI_STRING("fast forward", "accessibility role description for fast forward button");
+ if (name == "SeekBackButton")
+ return UI_STRING("fast reverse", "accessibility role description for fast reverse button");
+ if (name == "ShowClosedCaptionsButton")
+ return UI_STRING("show closed captions", "accessibility role description for show closed captions button");
+ if (name == "HideClosedCaptionsButton")
+ return UI_STRING("hide closed captions", "accessibility role description for hide closed captions button");
+
+ ASSERT_NOT_REACHED();
+ return String();
+}
+
+String PlatformStrategiesWinCE::localizedMediaControlElementHelpText(const String& name)
+{
+ if (name == "AudioElement")
+ return UI_STRING("audio element playback controls and status display", "accessibility role description for audio element controller");
+ if (name == "VideoElement")
+ return UI_STRING("video element playback controls and status display", "accessibility role description for video element controller");
+ if (name == "MuteButton")
+ return UI_STRING("mute audio tracks", "accessibility help text for mute button");
+ if (name == "UnMuteButton")
+ return UI_STRING("unmute audio tracks", "accessibility help text for un mute button");
+ if (name == "PlayButton")
+ return UI_STRING("begin playback", "accessibility help text for play button");
+ if (name == "PauseButton")
+ return UI_STRING("pause playback", "accessibility help text for pause button");
+ if (name == "Slider")
+ return UI_STRING("movie time scrubber", "accessibility help text for timeline slider");
+ if (name == "SliderThumb")
+ return UI_STRING("movie time scrubber thumb", "accessibility help text for timeline slider thumb");
+ if (name == "RewindButton")
+ return UI_STRING("seek movie back 30 seconds", "accessibility help text for jump back 30 seconds button");
+ if (name == "ReturnToRealtimeButton")
+ return UI_STRING("return streaming movie to real time", "accessibility help text for return streaming movie to real time button");
+ if (name == "CurrentTimeDisplay")
+ return UI_STRING("current movie time in seconds", "accessibility help text for elapsed time display");
+ if (name == "TimeRemainingDisplay")
+ return UI_STRING("number of seconds of movie remaining", "accessibility help text for remaining time display");
+ if (name == "StatusDisplay")
+ return UI_STRING("current movie status", "accessibility help text for movie status display");
+ if (name == "SeekBackButton")
+ return UI_STRING("seek quickly back", "accessibility help text for fast rewind button");
+ if (name == "SeekForwardButton")
+ return UI_STRING("seek quickly forward", "accessibility help text for fast forward button");
+ if (name == "FullscreenButton")
+ return UI_STRING("Play movie in fullscreen mode", "accessibility help text for enter fullscreen button");
+ if (name == "ShowClosedCaptionsButton")
+ return UI_STRING("start displaying closed captions", "accessibility help text for show closed captions button");
+ if (name == "HideClosedCaptionsButton")
+ return UI_STRING("stop displaying closed captions", "accessibility help text for hide closed captions button");
+
+ ASSERT_NOT_REACHED();
+ return String();
+}
+
+String PlatformStrategiesWinCE::localizedMediaTimeDescription(float time)
+{
+ if (!isfinite(time))
+ return UI_STRING("indefinite time", "accessibility help text for an indefinite media controller time value");
+
+ int seconds = (int)fabsf(time);
+ int days = seconds / (60 * 60 * 24);
+ int hours = seconds / (60 * 60);
+ int minutes = (seconds / 60) % 60;
+ seconds %= 60;
+
+ if (days)
+ return String::format(UI_STRING("%1$d days %2$d hours %3$d minutes %4$d seconds", "accessibility help text for media controller time value >= 1 day"), days, hours, minutes, seconds);
+
+ if (hours)
+ return String::format(UI_STRING("%1$d hours %2$d minutes %3$d seconds", "accessibility help text for media controller time value >= 60 minutes"), hours, minutes, seconds);
+
+ if (minutes)
+ return String::format(UI_STRING("%1$d minutes %2$d seconds", "accessibility help text for media controller time value >= 60 seconds"), minutes, seconds);
+
+ return String::format(UI_STRING("%1$d seconds", "accessibility help text for media controller time value < 60 seconds"), seconds);
+}
+
+String PlatformStrategiesWinCE::validationMessageValueMissingText()
+{
+ return UI_STRING("value missing", "Validation message for required form control elements that have no value");
+}
+
+String PlatformStrategiesWinCE::validationMessageTypeMismatchText()
+{
+ return UI_STRING("type mismatch", "Validation message for input form controls with a value not matching type");
+}
+
+String PlatformStrategiesWinCE::validationMessagePatternMismatchText()
+{
+ return UI_STRING("pattern mismatch", "Validation message for input form controls requiring a constrained value according to pattern");
+}
+
+String PlatformStrategiesWinCE::validationMessageTooLongText()
+{
+ return UI_STRING("too long", "Validation message for form control elements with a value longer than maximum allowed length");
+}
+
+String PlatformStrategiesWinCE::validationMessageRangeUnderflowText()
+{
+ return UI_STRING("range underflow", "Validation message for input form controls with value lower than allowed minimum");
+}
+
+String PlatformStrategiesWinCE::validationMessageRangeOverflowText()
+{
+ return UI_STRING("range overflow", "Validation message for input form controls with value higher than allowed maximum");
+}
+
+String PlatformStrategiesWinCE::validationMessageStepMismatchText()
+{
+ return UI_STRING("step mismatch", "Validation message for input form controls with value not respecting the step attribute");
+}
+
+bool PlatformStrategiesWinCE::isLinkVisited(Page* page, LinkHash hash)
+{
+ return page->group().isLinkVisited(hash);
+}
+
+void PlatformStrategiesWinCE::addVisitedLink(Page* page, LinkHash hash)
+{
+ page->group().addVisitedLinkHash(hash);
+}
diff --git a/WebKit/wince/WebCoreSupport/PlatformStrategiesWinCE.h b/WebKit/wince/WebCoreSupport/PlatformStrategiesWinCE.h
new file mode 100644
index 0000000..02d87d3
--- /dev/null
+++ b/WebKit/wince/WebCoreSupport/PlatformStrategiesWinCE.h
@@ -0,0 +1,148 @@
+/*
+ * Copyright (C) 2010 Patrick Gansterer <paroga@paroga.com>
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. 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 APPLE AND ITS CONTRIBUTORS "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 OR ITS 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 PlatformStrategiesWinCE_h
+#define PlatformStrategiesWinCE_h
+
+#include "LocalizationStrategy.h"
+#include "PlatformStrategies.h"
+#include "PluginStrategy.h"
+#include "VisitedLinkStrategy.h"
+
+class PlatformStrategiesWinCE : public WebCore::PlatformStrategies, private WebCore::PluginStrategy, private WebCore::LocalizationStrategy, private WebCore::VisitedLinkStrategy {
+public:
+ static void initialize();
+
+private:
+ PlatformStrategiesWinCE();
+
+ // WebCore::PlatformStrategies
+ virtual WebCore::PluginStrategy* createPluginStrategy();
+ virtual WebCore::LocalizationStrategy* createLocalizationStrategy();
+ virtual WebCore::VisitedLinkStrategy* createVisitedLinkStrategy();
+
+ // WebCore::PluginStrategy
+ virtual void refreshPlugins();
+ virtual void getPluginInfo(const WebCore::Page*, Vector<WebCore::PluginInfo>&);
+
+ // WebCore::LocalizationStrategy
+ virtual WTF::String inputElementAltText();
+ virtual WTF::String resetButtonDefaultLabel();
+ virtual WTF::String searchableIndexIntroduction();
+ virtual WTF::String submitButtonDefaultLabel();
+ virtual WTF::String fileButtonChooseFileLabel();
+ virtual WTF::String fileButtonNoFileSelectedLabel();
+#if ENABLE(CONTEXT_MENUS)
+ virtual WTF::String contextMenuItemTagOpenLinkInNewWindow();
+ virtual WTF::String contextMenuItemTagDownloadLinkToDisk();
+ virtual WTF::String contextMenuItemTagCopyLinkToClipboard();
+ virtual WTF::String contextMenuItemTagOpenImageInNewWindow();
+ virtual WTF::String contextMenuItemTagDownloadImageToDisk();
+ virtual WTF::String contextMenuItemTagCopyImageToClipboard();
+ virtual WTF::String contextMenuItemTagOpenFrameInNewWindow();
+ virtual WTF::String contextMenuItemTagCopy();
+ virtual WTF::String contextMenuItemTagGoBack();
+ virtual WTF::String contextMenuItemTagGoForward();
+ virtual WTF::String contextMenuItemTagStop();
+ virtual WTF::String contextMenuItemTagReload();
+ virtual WTF::String contextMenuItemTagCut();
+ virtual WTF::String contextMenuItemTagPaste();
+ virtual WTF::String contextMenuItemTagNoGuessesFound();
+ virtual WTF::String contextMenuItemTagIgnoreSpelling();
+ virtual WTF::String contextMenuItemTagLearnSpelling();
+ virtual WTF::String contextMenuItemTagSearchWeb();
+ virtual WTF::String contextMenuItemTagLookUpInDictionary();
+ virtual WTF::String contextMenuItemTagOpenLink();
+ virtual WTF::String contextMenuItemTagIgnoreGrammar();
+ virtual WTF::String contextMenuItemTagSpellingMenu();
+ virtual WTF::String contextMenuItemTagShowSpellingPanel(bool show);
+ virtual WTF::String contextMenuItemTagCheckSpelling();
+ virtual WTF::String contextMenuItemTagCheckSpellingWhileTyping();
+ virtual WTF::String contextMenuItemTagCheckGrammarWithSpelling();
+ virtual WTF::String contextMenuItemTagFontMenu();
+ virtual WTF::String contextMenuItemTagBold();
+ virtual WTF::String contextMenuItemTagItalic();
+ virtual WTF::String contextMenuItemTagUnderline();
+ virtual WTF::String contextMenuItemTagOutline();
+ virtual WTF::String contextMenuItemTagWritingDirectionMenu();
+ virtual WTF::String contextMenuItemTagTextDirectionMenu();
+ virtual WTF::String contextMenuItemTagDefaultDirection();
+ virtual WTF::String contextMenuItemTagLeftToRight();
+ virtual WTF::String contextMenuItemTagRightToLeft();
+ virtual WTF::String contextMenuItemTagInspectElement();
+ virtual WTF::String contextMenuItemTagOpenVideoInNewWindow();
+ virtual WTF::String contextMenuItemTagOpenAudioInNewWindow();
+ virtual WTF::String contextMenuItemTagCopyVideoLinkToClipboard();
+ virtual WTF::String contextMenuItemTagCopyAudioLinkToClipboard();
+ virtual WTF::String contextMenuItemTagToggleMediaControls();
+ virtual WTF::String contextMenuItemTagToggleMediaLoop();
+ virtual WTF::String contextMenuItemTagEnterVideoFullscreen();
+ virtual WTF::String contextMenuItemTagMediaPlay();
+ virtual WTF::String contextMenuItemTagMediaPause();
+ virtual WTF::String contextMenuItemTagMediaMute();
+#endif // ENABLE(CONTEXT_MENUS)
+ virtual WTF::String searchMenuNoRecentSearchesText();
+ virtual WTF::String searchMenuRecentSearchesText();
+ virtual WTF::String searchMenuClearRecentSearchesText();
+ virtual WTF::String AXWebAreaText();
+ virtual WTF::String AXLinkText();
+ virtual WTF::String AXListMarkerText();
+ virtual WTF::String AXImageMapText();
+ virtual WTF::String AXHeadingText();
+ virtual WTF::String AXDefinitionListTermText();
+ virtual WTF::String AXDefinitionListDefinitionText();
+ virtual WTF::String AXButtonActionVerb();
+ virtual WTF::String AXRadioButtonActionVerb();
+ virtual WTF::String AXTextFieldActionVerb();
+ virtual WTF::String AXCheckedCheckBoxActionVerb();
+ virtual WTF::String AXUncheckedCheckBoxActionVerb();
+ virtual WTF::String AXMenuListActionVerb();
+ virtual WTF::String AXMenuListPopupActionVerb();
+ virtual WTF::String AXLinkActionVerb();
+ virtual WTF::String missingPluginText();
+ virtual WTF::String crashedPluginText();
+ virtual WTF::String multipleFileUploadText(unsigned numberOfFiles);
+ virtual WTF::String unknownFileSizeText();
+ virtual WTF::String uploadFileText();
+ virtual WTF::String allFilesText();
+ virtual WTF::String imageTitle(const WTF::String& filename, const WebCore::IntSize&);
+ virtual WTF::String mediaElementLoadingStateText();
+ virtual WTF::String mediaElementLiveBroadcastStateText();
+ virtual WTF::String localizedMediaControlElementString(const WTF::String&);
+ virtual WTF::String localizedMediaControlElementHelpText(const WTF::String&);
+ virtual WTF::String localizedMediaTimeDescription(float);
+ virtual WTF::String validationMessageValueMissingText();
+ virtual WTF::String validationMessageTypeMismatchText();
+ virtual WTF::String validationMessagePatternMismatchText();
+ virtual WTF::String validationMessageTooLongText();
+ virtual WTF::String validationMessageRangeUnderflowText();
+ virtual WTF::String validationMessageRangeOverflowText();
+ virtual WTF::String validationMessageStepMismatchText();
+
+ // WebCore::VisitedLinkStrategy
+ virtual bool isLinkVisited(WebCore::Page*, WebCore::LinkHash);
+ virtual void addVisitedLink(WebCore::Page*, WebCore::LinkHash);
+};
+
+#endif // PlatformStrategiesWinCE_h