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