ChromeClientWinCE.cpp [plain text]
#include "config.h"
#include "ChromeClientWinCE.h"
#include "FileChooser.h"
#include "Icon.h"
#include "NotImplemented.h"
#include "NavigationAction.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&, const NavigationAction&)
{
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();
}
void ChromeClientWinCE::focusedFrameChanged(Frame*)
{
}
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;
}
KeyboardUIMode ChromeClientWinCE::keyboardUIMode()
{
return KeyboardAccessTabsToLinks;
}
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();
}
void ChromeClientWinCE::reachedApplicationCacheOriginQuota(SecurityOrigin*)
{
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::setCursorHiddenUntilMouseMoves(bool)
{
notImplemented();
}
void ChromeClientWinCE::setLastSetCursorToCurrentCursor()
{
notImplemented();
}
void ChromeClientWinCE::formStateDidChange(const Node*)
{
notImplemented();
}
void ChromeClientWinCE::requestGeolocationPermissionForFrame(Frame*, Geolocation*)
{
notImplemented();
}
void ChromeClientWinCE::cancelGeolocationPermissionRequestForFrame(Frame*, Geolocation*)
{
notImplemented();
}
bool ChromeClientWinCE::selectItemWritingDirectionIsNatural()
{
return false;
}
bool ChromeClientWinCE::selectItemAlignmentFollowsMenuWritingDirection()
{
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));
}
}