18e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*
28e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Copyright (C) 2007 Kevin Ollivier <kevino@theolliviers.com>
3db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
48e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *
58e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * All rights reserved.
68e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *
78e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Redistribution and use in source and binary forms, with or without
88e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * modification, are permitted provided that the following conditions
98e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * are met:
108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 1. Redistributions of source code must retain the above copyright
118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *    notice, this list of conditions and the following disclaimer.
128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * 2. Redistributions in binary form must reproduce the above copyright
138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *    notice, this list of conditions and the following disclaimer in the
148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *    documentation and/or other materials provided with the distribution.
158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *
168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */
288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "config.h"
308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "ChromeClientWx.h"
310bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#include "Console.h"
32cac0f67c402d107cdb10971b95719e2ff9c7c76bSteve Block#if ENABLE(DATABASE)
33cac0f67c402d107cdb10971b95719e2ff9c7c76bSteve Block#include "DatabaseTracker.h"
34cac0f67c402d107cdb10971b95719e2ff9c7c76bSteve Block#endif
358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "FileChooser.h"
368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "FloatRect.h"
37cac0f67c402d107cdb10971b95719e2ff9c7c76bSteve Block#include "Frame.h"
388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "FrameLoadRequest.h"
39dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block#include "Icon.h"
40e14391e94c850b8bd03680c23b38978db68687a8John Reck#include "NavigationAction.h"
418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "NotImplemented.h"
428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "PlatformString.h"
43db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block#include "SecurityOrigin.h"
44db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block#include "PopupMenuWx.h"
45db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block#include "SearchPopupMenuWx.h"
465e2bc6953fe6923165b8a5d7679939693a1d58d6Steve Block#include "WindowFeatures.h"
478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include <stdio.h>
498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include <wx/wxprec.h>
518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#ifndef WX_PRECOMP
528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    #include <wx/wx.h>
538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#endif
548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include <wx/textdlg.h>
558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include <wx/tooltip.h>
568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "WebBrowserShell.h"
588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "WebView.h"
598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "WebViewPrivate.h"
608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectnamespace WebCore {
628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
635e2bc6953fe6923165b8a5d7679939693a1d58d6Steve BlockwxWebKitWindowFeatures wkFeaturesforWindowFeatures(const WindowFeatures& features)
645e2bc6953fe6923165b8a5d7679939693a1d58d6Steve Block{
655e2bc6953fe6923165b8a5d7679939693a1d58d6Steve Block    wxWebKitWindowFeatures wkFeatures;
665e2bc6953fe6923165b8a5d7679939693a1d58d6Steve Block    wkFeatures.menuBarVisible = features.menuBarVisible;
675e2bc6953fe6923165b8a5d7679939693a1d58d6Steve Block    wkFeatures.statusBarVisible = features.statusBarVisible;
685e2bc6953fe6923165b8a5d7679939693a1d58d6Steve Block    wkFeatures.toolBarVisible = features.toolBarVisible;
695e2bc6953fe6923165b8a5d7679939693a1d58d6Steve Block    wkFeatures.locationBarVisible = features.locationBarVisible;
705e2bc6953fe6923165b8a5d7679939693a1d58d6Steve Block    wkFeatures.scrollbarsVisible = features.scrollbarsVisible;
715e2bc6953fe6923165b8a5d7679939693a1d58d6Steve Block    wkFeatures.resizable = features.resizable;
725e2bc6953fe6923165b8a5d7679939693a1d58d6Steve Block    wkFeatures.fullscreen = features.fullscreen;
735e2bc6953fe6923165b8a5d7679939693a1d58d6Steve Block    wkFeatures.dialog = features.dialog;
745e2bc6953fe6923165b8a5d7679939693a1d58d6Steve Block
755e2bc6953fe6923165b8a5d7679939693a1d58d6Steve Block    return wkFeatures;
765e2bc6953fe6923165b8a5d7679939693a1d58d6Steve Block}
775e2bc6953fe6923165b8a5d7679939693a1d58d6Steve Block
788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectChromeClientWx::ChromeClientWx(wxWebView* webView)
798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    m_webView = webView;
818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectChromeClientWx::~ChromeClientWx()
848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid ChromeClientWx::chromeDestroyed()
888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid ChromeClientWx::setWindowRect(const FloatRect&)
938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectFloatRect ChromeClientWx::windowRect()
988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
1008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return FloatRect();
1018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
1028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectFloatRect ChromeClientWx::pageRect()
1048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
1058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
1068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return FloatRect();
1078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
1088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectfloat ChromeClientWx::scaleFactor()
1108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
1118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
112bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsen    return 1.0;
1138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
1148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid ChromeClientWx::focus()
1168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
1178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
1188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
1198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid ChromeClientWx::unfocus()
1218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
1228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
1238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
1248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbool ChromeClientWx::canTakeFocus(FocusDirection)
1268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
1278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
1288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return false;
1298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
1308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid ChromeClientWx::takeFocus(FocusDirection)
1328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
1338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
1348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
1358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
136643ca7872b450ea4efacab6188849e5aac2ba161Steve Blockvoid ChromeClientWx::focusedNodeChanged(Node*)
137643ca7872b450ea4efacab6188849e5aac2ba161Steve Block{
138643ca7872b450ea4efacab6188849e5aac2ba161Steve Block}
1398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
14028040489d744e0c5d475a88663056c9040ed5320Teng-Hui Zhuvoid ChromeClientWx::focusedFrameChanged(Frame*)
14128040489d744e0c5d475a88663056c9040ed5320Teng-Hui Zhu{
14228040489d744e0c5d475a88663056c9040ed5320Teng-Hui Zhu}
14328040489d744e0c5d475a88663056c9040ed5320Teng-Hui Zhu
14465f03d4f644ce73618e5f4f50dd694b26f55ae12Ben MurdochPage* ChromeClientWx::createWindow(Frame*, const FrameLoadRequest&, const WindowFeatures& features, const NavigationAction&)
1458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
1468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    Page* myPage = 0;
1475e2bc6953fe6923165b8a5d7679939693a1d58d6Steve Block    wxWebViewNewWindowEvent wkEvent(m_webView);
1488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1495e2bc6953fe6923165b8a5d7679939693a1d58d6Steve Block    wxWebKitWindowFeatures wkFeatures = wkFeaturesforWindowFeatures(features);
1505e2bc6953fe6923165b8a5d7679939693a1d58d6Steve Block    wkEvent.SetWindowFeatures(wkFeatures);
1515e2bc6953fe6923165b8a5d7679939693a1d58d6Steve Block
1525e2bc6953fe6923165b8a5d7679939693a1d58d6Steve Block    if (m_webView->GetEventHandler()->ProcessEvent(wkEvent)) {
1535e2bc6953fe6923165b8a5d7679939693a1d58d6Steve Block        if (wxWebView* webView = wkEvent.GetWebView()) {
1545e2bc6953fe6923165b8a5d7679939693a1d58d6Steve Block            WebViewPrivate* impl = webView->m_impl;
1555e2bc6953fe6923165b8a5d7679939693a1d58d6Steve Block            if (impl)
1565e2bc6953fe6923165b8a5d7679939693a1d58d6Steve Block                myPage = impl->page;
1575e2bc6953fe6923165b8a5d7679939693a1d58d6Steve Block        }
1588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    }
1598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return myPage;
1618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
1628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectPage* ChromeClientWx::createModalDialog(Frame*, const FrameLoadRequest&)
1648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
1658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
1668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return 0;
1678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
1688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid ChromeClientWx::show()
1708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
1718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
1728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
1738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbool ChromeClientWx::canRunModal()
1758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
1768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
1778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return false;
1788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
1798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid ChromeClientWx::runModal()
1818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
1828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
1838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
1848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid ChromeClientWx::setToolbarsVisible(bool)
1868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
1878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
1888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
1898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbool ChromeClientWx::toolbarsVisible()
1918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
1928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
1938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return false;
1948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
1958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid ChromeClientWx::setStatusbarVisible(bool)
1978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
1988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
1998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
2008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbool ChromeClientWx::statusbarVisible()
2028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
2038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
2048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return false;
2058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
2068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid ChromeClientWx::setScrollbarsVisible(bool)
2088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
2098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
2108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
2118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbool ChromeClientWx::scrollbarsVisible()
2138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
2148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
2158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return false;
2168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
2178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid ChromeClientWx::setMenubarVisible(bool)
2198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
2208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
2218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
2228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbool ChromeClientWx::menubarVisible()
2248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
2258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
2268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return false;
2278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
2288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid ChromeClientWx::setResizable(bool)
2308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
2318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
2328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
2338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2340bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid ChromeClientWx::addMessageToConsole(MessageSource source,
2350bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                                          MessageType type,
2360bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                                          MessageLevel level,
2370bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                                          const String& message,
2388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project                                          unsigned int lineNumber,
2398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project                                          const String& sourceID)
2408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
2418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (m_webView) {
2428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        wxWebViewConsoleMessageEvent wkEvent(m_webView);
2438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        wkEvent.SetMessage(message);
2448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        wkEvent.SetLineNumber(lineNumber);
2458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        wkEvent.SetSourceID(sourceID);
246231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        wkEvent.SetLevel(static_cast<wxWebViewConsoleMessageLevel>(level));
2478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        m_webView->GetEventHandler()->ProcessEvent(wkEvent);
2488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    }
2498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
2508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbool ChromeClientWx::canRunBeforeUnloadConfirmPanel()
2528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
2538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
2548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return true;
2558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
2568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbool ChromeClientWx::runBeforeUnloadConfirmPanel(const String& string,
2588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project                                                  Frame* frame)
2598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
2608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    wxMessageDialog dialog(NULL, string, wxT("Confirm Action?"), wxYES_NO);
2618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return dialog.ShowModal() == wxYES;
2628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
2638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid ChromeClientWx::closeWindowSoon()
2658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
2668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
2678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
2688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*
2708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    Sites for testing prompts:
2718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    Alert - just type in a bad web address or http://www.htmlite.com/JS002.php
2728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    Prompt - http://www.htmlite.com/JS007.php
2738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    Confirm - http://www.htmlite.com/JS006.php
2748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project*/
2758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid ChromeClientWx::runJavaScriptAlert(Frame* frame, const String& string)
2778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
2780bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    if (m_webView) {
2790bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        wxWebViewAlertEvent wkEvent(m_webView);
2800bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        wkEvent.SetMessage(string);
2810bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        if (!m_webView->GetEventHandler()->ProcessEvent(wkEvent))
2820bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch            wxMessageBox(string, wxT("JavaScript Alert"), wxOK);
2830bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    }
2848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
2858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbool ChromeClientWx::runJavaScriptConfirm(Frame* frame, const String& string)
2878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
2880bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    bool result = false;
2890bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    if (m_webView) {
2900bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        wxWebViewConfirmEvent wkEvent(m_webView);
2910bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        wkEvent.SetMessage(string);
2920bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        if (m_webView->GetEventHandler()->ProcessEvent(wkEvent))
2930bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch            result = wkEvent.GetReturnCode() == wxID_YES;
2940bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        else {
2950bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch            wxMessageDialog dialog(NULL, string, wxT("JavaScript Confirm"), wxYES_NO);
2960bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch            dialog.Centre();
2970bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch            result = (dialog.ShowModal() == wxID_YES);
2980bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        }
2990bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    }
3000bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    return result;
3018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
3028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbool ChromeClientWx::runJavaScriptPrompt(Frame* frame, const String& message, const String& defaultValue, String& result)
3048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
3050bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    if (m_webView) {
3060bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        wxWebViewPromptEvent wkEvent(m_webView);
3070bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        wkEvent.SetMessage(message);
3080bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        wkEvent.SetResponse(defaultValue);
3090bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        if (m_webView->GetEventHandler()->ProcessEvent(wkEvent)) {
3100bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch            result = wkEvent.GetResponse();
3110bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch            return true;
3120bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        }
3130bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        else {
3140bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch            wxTextEntryDialog dialog(NULL, message, wxT("JavaScript Prompt"), wxEmptyString, wxOK | wxCANCEL);
3150bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch            dialog.Centre();
3160bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch            if (dialog.ShowModal() == wxID_OK) {
3170bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                result = dialog.GetValue();
3180bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                return true;
3190bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch            }
3200bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        }
3218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    }
3228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return false;
3238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
3248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid ChromeClientWx::setStatusbarText(const String&)
3268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
3278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
3288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
3298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbool ChromeClientWx::shouldInterruptJavaScript()
3318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
3328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
3338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return false;
3348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
3358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
33681bc750723a18f21cd17d1b173cd2a4dda9cea6eBen MurdochKeyboardUIMode ChromeClientWx::keyboardUIMode()
3378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
3388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
33981bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    return KeyboardAccessDefault;
3408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
3418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectIntRect ChromeClientWx::windowResizerRect() const
3438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
3448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
3458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return IntRect();
3468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
3478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
348dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Blockvoid ChromeClientWx::invalidateWindow(const IntRect& rect, bool immediate)
349dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block{
350dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block    if (immediate)
351dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block        m_webView->Update();
352dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block}
353dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block
354dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Blockvoid ChromeClientWx::invalidateContentsForSlowScroll(const IntRect& rect, bool immediate)
355dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block{
356dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block    invalidateContentsAndWindow(rect, immediate);
357dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block}
358dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block
359dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Blockvoid ChromeClientWx::invalidateContentsAndWindow(const IntRect& rect, bool immediate)
3608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
3618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (!m_webView)
3628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        return;
363dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block
364dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block    m_webView->RefreshRect(rect);
365dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block
3668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (immediate) {
3678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        m_webView->Update();
3688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    }
3698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
3708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectIntRect ChromeClientWx::windowToScreen(const IntRect& rect) const
3728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
3738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
3748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return rect;
3758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
3768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectIntPoint ChromeClientWx::screenToWindow(const IntPoint& point) const
3788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
3798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
3808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return point;
3818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
3828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
383231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve BlockPlatformPageClient ChromeClientWx::platformPageClient() const
3848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
385231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    return m_webView;
3868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
3878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
388635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Projectvoid ChromeClientWx::contentsSizeChanged(Frame*, const IntSize&) const
389635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project{
390635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    notImplemented();
391635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project}
392635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
3938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid ChromeClientWx::scrollBackingStore(int dx, int dy,
3948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project                    const IntRect& scrollViewRect,
3958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project                    const IntRect& clipRect)
3968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
3978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
3988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
3998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid ChromeClientWx::updateBackingStore()
4018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
4028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
4038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
4048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid ChromeClientWx::mouseDidMoveOverElement(const HitTestResult&, unsigned modifierFlags)
4068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
4078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
4088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
4098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4100bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid ChromeClientWx::setToolTip(const String& tip, TextDirection)
4118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
4128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    wxToolTip* tooltip = m_webView->GetToolTip();
4138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (!tooltip || tooltip->GetTip() != wxString(tip))
4148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        m_webView->SetToolTip(tip);
4158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
4168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid ChromeClientWx::print(Frame*)
4188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
4198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
4208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
4218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4228ccf722629b08f2a06b2cadbdc3d0c9dc885e25dBen Murdoch#if ENABLE(DATABASE)
4238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid ChromeClientWx::exceededDatabaseQuota(Frame*, const String&)
4248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
425cac0f67c402d107cdb10971b95719e2ff9c7c76bSteve Block    unsigned long long quota = 5 * 1024 * 1024;
426cac0f67c402d107cdb10971b95719e2ff9c7c76bSteve Block
427cac0f67c402d107cdb10971b95719e2ff9c7c76bSteve Block    if (wxWebFrame* webFrame = m_webView->GetMainFrame())
428cac0f67c402d107cdb10971b95719e2ff9c7c76bSteve Block        if (Frame* frame = webFrame->GetFrame())
429cac0f67c402d107cdb10971b95719e2ff9c7c76bSteve Block            if (Document* document = frame->document())
430cac0f67c402d107cdb10971b95719e2ff9c7c76bSteve Block                if (!DatabaseTracker::tracker().hasEntryForOrigin(document->securityOrigin()))
431cac0f67c402d107cdb10971b95719e2ff9c7c76bSteve Block                    DatabaseTracker::tracker().setQuota(document->securityOrigin(), quota);
4328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
4338ccf722629b08f2a06b2cadbdc3d0c9dc885e25dBen Murdoch#endif
4348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
435c60802dd50f86c37e0596d41c3ef6fc2c8804da4Andrei Popescu#if ENABLE(OFFLINE_WEB_APPLICATIONS)
436c60802dd50f86c37e0596d41c3ef6fc2c8804da4Andrei Popescuvoid ChromeClientWx::reachedMaxAppCacheSize(int64_t spaceNeeded)
437c60802dd50f86c37e0596d41c3ef6fc2c8804da4Andrei Popescu{
438c60802dd50f86c37e0596d41c3ef6fc2c8804da4Andrei Popescu    notImplemented();
439c60802dd50f86c37e0596d41c3ef6fc2c8804da4Andrei Popescu}
440db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block
441db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Blockvoid ChromeClientWx::reachedApplicationCacheOriginQuota(SecurityOrigin*)
442db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block{
443db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block    notImplemented();
444db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block}
445c60802dd50f86c37e0596d41c3ef6fc2c8804da4Andrei Popescu#endif
446c60802dd50f86c37e0596d41c3ef6fc2c8804da4Andrei Popescu
4478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid ChromeClientWx::scroll(const IntSize&, const IntRect&, const IntRect&)
4488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
449231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    m_webView->Refresh();
4508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
4518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
4528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid ChromeClientWx::runOpenPanel(Frame*, PassRefPtr<FileChooser>)
4548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
4558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
4568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
4578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
458dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Blockvoid ChromeClientWx::chooseIconForFiles(const Vector<String>& filenames, FileChooser* chooser)
459692e5dbf12901edacf14812a6fae25462920af42Steve Block{
460dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block    chooser->iconLoaded(Icon::createIconForFiles(filenames));
461692e5dbf12901edacf14812a6fae25462920af42Steve Block}
462692e5dbf12901edacf14812a6fae25462920af42Steve Block
4632daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdochvoid ChromeClientWx::setCursor(const Cursor& cursor)
4640bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
4652daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch    if (m_webView && cursor.impl())
4662daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch        m_webView->SetCursor(*cursor.impl());
4670bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
4680bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
4690bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid ChromeClientWx::requestGeolocationPermissionForFrame(Frame*, Geolocation*)
4700bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
4710bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    // See the comment in WebCore/page/ChromeClient.h
4720bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    notImplemented();
4730bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
4740bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
475db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Blockbool ChromeClientWx::selectItemWritingDirectionIsNatural()
476db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block{
477db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block    return false;
478db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block}
479db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block
4802fc2651226baac27029e38c9d6ef883fa32084dbSteve Blockbool ChromeClientWx::selectItemAlignmentFollowsMenuWritingDirection()
4812fc2651226baac27029e38c9d6ef883fa32084dbSteve Block{
4822fc2651226baac27029e38c9d6ef883fa32084dbSteve Block    return false;
4832fc2651226baac27029e38c9d6ef883fa32084dbSteve Block}
4842fc2651226baac27029e38c9d6ef883fa32084dbSteve Block
485db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve BlockPassRefPtr<PopupMenu> ChromeClientWx::createPopupMenu(PopupMenuClient* client) const
486db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block{
487db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block    return adoptRef(new PopupMenuWx(client));
488db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block}
489db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block
490db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve BlockPassRefPtr<SearchPopupMenu> ChromeClientWx::createSearchPopupMenu(PopupMenuClient* client) const
491db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block{
492db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block    return adoptRef(new SearchPopupMenuWx(client));
493db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block}
494db14019a23d96bc8a444b6576a5da8bd1cfbc8b0Steve Block
4958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
496