18e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*
28e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Copyright (C) 2007 Kevin Ollivier <kevino@theolliviers.com>
32bde8e466a4451c7319e3a072d118917957d6554Steve Block * Copyright (C) 2011 Apple Inc. All rights reserved.
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 "FrameLoaderClientWx.h"
318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
320bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#include <JavaScriptCore/JavaScript.h>
330bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#include <JavaScriptCore/APICast.h>
340bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "DocumentLoader.h"
360bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#include "FormState.h"
378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "Frame.h"
388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "FrameLoaderTypes.h"
398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "FrameView.h"
408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "FrameTree.h"
41643ca7872b450ea4efacab6188849e5aac2ba161Steve Block#include "PluginView.h"
428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "HTMLFormElement.h"
438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "HTMLFrameOwnerElement.h"
448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "NotImplemented.h"
458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "Page.h"
468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "PlatformString.h"
47643ca7872b450ea4efacab6188849e5aac2ba161Steve Block#include "PluginView.h"
488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "ProgressTracker.h"
498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "RenderPart.h"
508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "ResourceError.h"
518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "ResourceResponse.h"
520bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#include "ScriptController.h"
53231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block#include <wtf/PassRefPtr.h>
54231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block#include <wtf/RefPtr.h>
558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include <stdio.h>
578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5868513a70bcd92384395513322f1b801e7bf9c729Steve Block#include "FrameNetworkingContextWx.h"
590bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#include "WebFrame.h"
60231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block#include "WebFramePrivate.h"
618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "WebView.h"
628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "WebViewPrivate.h"
638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectnamespace WebCore {
658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectinline int wxNavTypeFromWebNavType(NavigationType type){
678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (type == NavigationTypeLinkClicked)
688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        return wxWEBVIEW_NAV_LINK_CLICKED;
698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (type == NavigationTypeFormSubmitted)
718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        return wxWEBVIEW_NAV_FORM_SUBMITTED;
728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (type == NavigationTypeBackForward)
748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        return wxWEBVIEW_NAV_BACK_NEXT;
758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (type == NavigationTypeReload)
778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        return wxWEBVIEW_NAV_RELOAD;
788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (type == NavigationTypeFormResubmitted)
808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        return wxWEBVIEW_NAV_FORM_RESUBMITTED;
818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return wxWEBVIEW_NAV_OTHER;
838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectFrameLoaderClientWx::FrameLoaderClientWx()
86643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    : m_frame(0)
87643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    , m_pluginView(0)
88643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    , m_hasSentResponseToPlugin(false)
89643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    , m_webFrame(0)
908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectFrameLoaderClientWx::~FrameLoaderClientWx()
958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
98231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Blockvoid FrameLoaderClientWx::setFrame(wxWebFrame *frame)
998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
100231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    m_webFrame = frame;
101231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    m_frame = m_webFrame->m_impl->frame;
1028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
1038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::setWebView(wxWebView *webview)
1058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
1068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    m_webView = webview;
1078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
1088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbool FrameLoaderClientWx::hasWebView() const
1108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
1110bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    return m_webView != NULL;
1128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
1138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbool FrameLoaderClientWx::hasBackForwardList() const
1158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
1168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
1178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return true;
1188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
1198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::resetBackForwardList()
1228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
1238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
1248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
1258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbool FrameLoaderClientWx::provisionalItemIsTarget() const
1288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
1298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
1308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return false;
1318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
1328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::makeRepresentation(DocumentLoader*)
1348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
1358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
1368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
1378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::forceLayout()
1408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
1418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
1428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
1438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::forceLayoutForNonHTML()
1468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
1478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
1488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
1498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::updateHistoryForCommit()
1528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
1538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
1548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
1558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::updateHistoryForBackForwardNavigation()
1588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
1598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
1608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
1618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::updateHistoryForReload()
1648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
1658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
1668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
1678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::updateHistoryForStandardLoad()
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 Project
1758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::updateHistoryForInternalLoad()
1768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
1778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
1788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
1798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::updateHistoryAfterClientRedirect()
1828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
1838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
1848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
1858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::setCopiesOnScroll()
1888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
1898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    // apparently mac specific
1908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
1918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
1928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
1948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectLoadErrorResetToken* FrameLoaderClientWx::tokenForLoadErrorReset()
1958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
1968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
1978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return 0;
1988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
1998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::resetAfterLoadError(LoadErrorResetToken*)
2028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
2038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
2048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
2058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::doNotResetAfterLoadError(LoadErrorResetToken*)
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 Project
2138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::willCloseDocument()
2148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
2158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
2168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
2178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::detachedFromParent2()
2208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
2218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
2228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
2238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::detachedFromParent3()
2268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
2278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
2288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
2298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::dispatchDidHandleOnloadEvents()
2318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
2328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (m_webView) {
2338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        wxWebViewLoadEvent wkEvent(m_webView);
2348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        wkEvent.SetState(wxWEBVIEW_LOAD_ONLOAD_HANDLED);
2358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        wkEvent.SetURL(m_frame->loader()->documentLoader()->request().url().string());
2368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        m_webView->GetEventHandler()->ProcessEvent(wkEvent);
2378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    }
2388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
2398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::dispatchDidReceiveServerRedirectForProvisionalLoad()
2428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
2438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
2448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
2458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::dispatchDidCancelClientRedirect()
2488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
2498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
2508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
2518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::dispatchWillPerformClientRedirect(const KURL&,
2548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project                                                            double interval,
2558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project                                                            double fireDate)
2568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
2578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
2588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
2598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::dispatchDidChangeLocationWithinPage()
2628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
2638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
2648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
2658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
266643ca7872b450ea4efacab6188849e5aac2ba161Steve Blockvoid FrameLoaderClientWx::dispatchDidPushStateWithinPage()
267643ca7872b450ea4efacab6188849e5aac2ba161Steve Block{
268643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    notImplemented();
269643ca7872b450ea4efacab6188849e5aac2ba161Steve Block}
270643ca7872b450ea4efacab6188849e5aac2ba161Steve Block
271643ca7872b450ea4efacab6188849e5aac2ba161Steve Blockvoid FrameLoaderClientWx::dispatchDidReplaceStateWithinPage()
272643ca7872b450ea4efacab6188849e5aac2ba161Steve Block{
273643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    notImplemented();
274643ca7872b450ea4efacab6188849e5aac2ba161Steve Block}
275643ca7872b450ea4efacab6188849e5aac2ba161Steve Block
276643ca7872b450ea4efacab6188849e5aac2ba161Steve Blockvoid FrameLoaderClientWx::dispatchDidPopStateWithinPage()
277643ca7872b450ea4efacab6188849e5aac2ba161Steve Block{
278643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    notImplemented();
279643ca7872b450ea4efacab6188849e5aac2ba161Steve Block}
2808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::dispatchWillClose()
2828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
2838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
2848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
2858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::dispatchDidStartProvisionalLoad()
2888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
2898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (m_webView) {
2908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        wxWebViewLoadEvent wkEvent(m_webView);
2918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        wkEvent.SetState(wxWEBVIEW_LOAD_NEGOTIATING);
2928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        wkEvent.SetURL(m_frame->loader()->provisionalDocumentLoader()->request().url().string());
2938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        m_webView->GetEventHandler()->ProcessEvent(wkEvent);
2948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    }
2958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
2968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
2982daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdochvoid FrameLoaderClientWx::dispatchDidReceiveTitle(const StringWithDirection& title)
2998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
3008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (m_webView) {
3012daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch        // FIXME: use direction of title.
3022daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch        m_webView->SetPageTitle(title.string());
3038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        wxWebViewReceivedTitleEvent wkEvent(m_webView);
3042daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch        wkEvent.SetTitle(title.string());
3058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        m_webView->GetEventHandler()->ProcessEvent(wkEvent);
3068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    }
3078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
3088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::dispatchDidCommitLoad()
3118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
3128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (m_webView) {
3138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        wxWebViewLoadEvent wkEvent(m_webView);
3148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        wkEvent.SetState(wxWEBVIEW_LOAD_TRANSFERRING);
3158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        wkEvent.SetURL(m_frame->loader()->documentLoader()->request().url().string());
3168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        m_webView->GetEventHandler()->ProcessEvent(wkEvent);
3178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    }
3188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
3198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::dispatchDidFinishDocumentLoad()
3218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
3228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (m_webView) {
3238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        wxWebViewLoadEvent wkEvent(m_webView);
3248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        wkEvent.SetState(wxWEBVIEW_LOAD_DOC_COMPLETED);
3252fc2651226baac27029e38c9d6ef883fa32084dbSteve Block        wkEvent.SetURL(m_frame->document()->url().string());
3268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        m_webView->GetEventHandler()->ProcessEvent(wkEvent);
3278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    }
3288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
3298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
330dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Blockvoid FrameLoaderClientWx::dispatchDidChangeIcons()
331dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block{
332dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block    notImplemented();
333dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block}
334dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block
3358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::dispatchDidFinishLoad()
3368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
3378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
3388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
3398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::dispatchDidFirstLayout()
3428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
3438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
3448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
3458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
346635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Projectvoid FrameLoaderClientWx::dispatchDidFirstVisuallyNonEmptyLayout()
347635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project{
348635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    notImplemented();
349635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project}
3508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::dispatchShow()
3528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
3538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
3548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
3558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::cancelPolicyCheck()
3588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
3598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
3608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
3618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::dispatchWillSubmitForm(FramePolicyFunction function,
3648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project                                                 PassRefPtr<FormState>)
3658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
3668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    // FIXME: Send an event to allow for alerts and cancellation
367231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    if (!m_webFrame)
3688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        return;
369231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    (m_frame->loader()->policyChecker()->*function)(PolicyUse);
3708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
3718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::dispatchDidLoadMainResource(DocumentLoader*)
3748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
3758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
3768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
3778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::revertToProvisionalState(DocumentLoader*)
3808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
3818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
3828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
3838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::postProgressStartedNotification()
3858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
3868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
3878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
3888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::postProgressEstimateChangedNotification()
3908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
3918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
3928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
3938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
3948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::postProgressFinishedNotification()
3958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
3968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (m_webView) {
3978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        wxWebViewLoadEvent wkEvent(m_webView);
3988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        wkEvent.SetState(wxWEBVIEW_LOAD_DL_COMPLETED);
3992fc2651226baac27029e38c9d6ef883fa32084dbSteve Block        wkEvent.SetURL(m_frame->document()->url().string());
4008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        m_webView->GetEventHandler()->ProcessEvent(wkEvent);
4018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    }
4028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
4038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::progressStarted()
4058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
4068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
4078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
4088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::progressCompleted()
4118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
4128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
4138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
4148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::setMainFrameDocumentReady(bool b)
4178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
4188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
4198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    // this is only interesting once we provide an external API for the DOM
4208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
4218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::willChangeTitle(DocumentLoader*)
4248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
4258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
4268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
4278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::didChangeTitle(DocumentLoader *l)
4308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
4318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    setTitle(l->title(), l->url());
4328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
4338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4350617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsenvoid FrameLoaderClientWx::finishedLoading(DocumentLoader* loader)
4368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
4370617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen    if (!m_pluginView) {
4380617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen        if (m_firstData) {
4392fc2651226baac27029e38c9d6ef883fa32084dbSteve Block            loader->writer()->setEncoding(m_response.textEncodingName(), false);
4400617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen            m_firstData = false;
4410617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen        }
4420617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen    } else {
443643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        m_pluginView->didFinishLoading();
444643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        m_pluginView = 0;
445643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        m_hasSentResponseToPlugin = false;
446643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    }
4478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
4488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
44968513a70bcd92384395513322f1b801e7bf9c729Steve Blockbool FrameLoaderClientWx::canShowMIMETypeAsHTML(const String& MIMEType) const
45068513a70bcd92384395513322f1b801e7bf9c729Steve Block{
45168513a70bcd92384395513322f1b801e7bf9c729Steve Block    notImplemented();
45268513a70bcd92384395513322f1b801e7bf9c729Steve Block    return true;
45368513a70bcd92384395513322f1b801e7bf9c729Steve Block}
4548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
45568513a70bcd92384395513322f1b801e7bf9c729Steve Block
4568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbool FrameLoaderClientWx::canShowMIMEType(const String& MIMEType) const
4578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
4588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
4598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return true;
4608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
4618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbool FrameLoaderClientWx::representationExistsForURLScheme(const String& URLScheme) const
4648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
4658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
4668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return false;
4678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
4688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString FrameLoaderClientWx::generatedMIMETypeForURLScheme(const String& URLScheme) const
4718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
4728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
4738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return String();
4748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
4758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::frameLoadCompleted()
4788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
4798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
4808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
4818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::saveViewStateToItem(HistoryItem*)
4838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
4848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
4858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
4868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::restoreViewState()
4888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
4898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
4908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
4918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::restoreScrollPositionAndViewState()
4938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
4948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
4958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
4968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
4988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::provisionalLoadStarted()
4998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
5008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
5018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
5028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbool FrameLoaderClientWx::shouldTreatURLAsSameAsCurrent(const KURL&) const
5058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
5068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
5078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return false;
5088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
5098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::addHistoryItemForFragmentScroll()
5128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
5138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
5148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
5158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::didFinishLoad()
5188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
5198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
5208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
5218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::prepareForDataSourceReplacement()
5248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
5250bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    notImplemented();
5268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
5278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5292daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdochvoid FrameLoaderClientWx::setTitle(const StringWithDirection& title, const KURL&)
5308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
5318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
5328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
5338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString FrameLoaderClientWx::userAgent(const KURL&)
5368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
5378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    // FIXME: Use the new APIs introduced by the GTK port to fill in these values.
53881bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    return String("Mozilla/5.0 (Macintosh; Intel Mac OS X) AppleWebKit/418.9.1 (KHTML, like Gecko) Safari/419.3");
5398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
5408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::dispatchDidReceiveIcon()
5428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
5438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
5448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
5458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::frameLoaderDestroyed()
5478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
548231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    if (m_webFrame)
549231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        delete m_webFrame;
550231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    m_webFrame = 0;
5518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    m_frame = 0;
5528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    delete this;
5538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
5548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbool FrameLoaderClientWx::canHandleRequest(const WebCore::ResourceRequest&) const
5568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
5578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
5588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return true;
5598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
5608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::partClearedInBegin()
5628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
5638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
5648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
5658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
566635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Projectvoid FrameLoaderClientWx::updateGlobalHistory()
5678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
5688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
5698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
5708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
571563af33bc48281d19dce701398dbb88cb54fd7ecCary Clarkvoid FrameLoaderClientWx::updateGlobalHistoryRedirectLinks()
572563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark{
573563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark    notImplemented();
574563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark}
575563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
5768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbool FrameLoaderClientWx::shouldGoToHistoryItem(WebCore::HistoryItem*) const
5778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
5788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
5798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return true;
5808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
5818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
58281bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdochbool FrameLoaderClientWx::shouldStopLoadingForHistoryItem(WebCore::HistoryItem*) const
58381bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch{
58481bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    return true;
58581bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch}
58681bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
587ed3dcbaa89ede50bb054f63aa1847ae6240fa70dBen Murdochvoid FrameLoaderClientWx::dispatchDidAddBackForwardItem(WebCore::HistoryItem*) const
588ed3dcbaa89ede50bb054f63aa1847ae6240fa70dBen Murdoch{
589ed3dcbaa89ede50bb054f63aa1847ae6240fa70dBen Murdoch}
590ed3dcbaa89ede50bb054f63aa1847ae6240fa70dBen Murdoch
591ed3dcbaa89ede50bb054f63aa1847ae6240fa70dBen Murdochvoid FrameLoaderClientWx::dispatchDidRemoveBackForwardItem(WebCore::HistoryItem*) const
592ed3dcbaa89ede50bb054f63aa1847ae6240fa70dBen Murdoch{
593ed3dcbaa89ede50bb054f63aa1847ae6240fa70dBen Murdoch}
594ed3dcbaa89ede50bb054f63aa1847ae6240fa70dBen Murdoch
595ed3dcbaa89ede50bb054f63aa1847ae6240fa70dBen Murdochvoid FrameLoaderClientWx::dispatchDidChangeBackForwardIndex() const
596ed3dcbaa89ede50bb054f63aa1847ae6240fa70dBen Murdoch{
597ed3dcbaa89ede50bb054f63aa1847ae6240fa70dBen Murdoch}
598ed3dcbaa89ede50bb054f63aa1847ae6240fa70dBen Murdoch
599231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Blockvoid FrameLoaderClientWx::didDisplayInsecureContent()
600231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block{
601231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    notImplemented();
602231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block}
603231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block
6042fc2651226baac27029e38c9d6ef883fa32084dbSteve Blockvoid FrameLoaderClientWx::didRunInsecureContent(WebCore::SecurityOrigin*, const KURL&)
605231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block{
606231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    notImplemented();
607231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block}
608231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block
6098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::saveScrollPositionAndViewStateToItem(WebCore::HistoryItem*)
6108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
6118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
6128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
6138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
6148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbool FrameLoaderClientWx::canCachePage() const
6158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
6168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return false;
6178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
6188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
6190617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsenvoid FrameLoaderClientWx::setMainDocumentError(WebCore::DocumentLoader* loader, const WebCore::ResourceError&)
6208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
6210617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen    if (m_firstData) {
62281bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch        loader->writer()->setEncoding(m_response.textEncodingName(), false);
6230617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen        m_firstData = false;
6240617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen    }
6258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
6268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
62768513a70bcd92384395513322f1b801e7bf9c729Steve Block// FIXME: This function should be moved into WebCore.
6288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::committedLoad(WebCore::DocumentLoader* loader, const char* data, int length)
6298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
630231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    if (!m_webFrame)
6318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        return;
63268513a70bcd92384395513322f1b801e7bf9c729Steve Block    if (!m_pluginView)
63368513a70bcd92384395513322f1b801e7bf9c729Steve Block        loader->commitData(data, length);
63468513a70bcd92384395513322f1b801e7bf9c729Steve Block
635643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    // We re-check here as the plugin can have been created
636643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    if (m_pluginView) {
637643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        if (!m_hasSentResponseToPlugin) {
638643ca7872b450ea4efacab6188849e5aac2ba161Steve Block            m_pluginView->didReceiveResponse(loader->response());
639643ca7872b450ea4efacab6188849e5aac2ba161Steve Block            // didReceiveResponse sets up a new stream to the plug-in. on a full-page plug-in, a failure in
640643ca7872b450ea4efacab6188849e5aac2ba161Steve Block            // setting up this stream can cause the main document load to be cancelled, setting m_pluginView
641643ca7872b450ea4efacab6188849e5aac2ba161Steve Block            // to null
642643ca7872b450ea4efacab6188849e5aac2ba161Steve Block            if (!m_pluginView)
643643ca7872b450ea4efacab6188849e5aac2ba161Steve Block                return;
644643ca7872b450ea4efacab6188849e5aac2ba161Steve Block            m_hasSentResponseToPlugin = true;
645643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        }
646643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        m_pluginView->didReceiveData(data, length);
647643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    }
6488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
6498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
6500bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben MurdochWebCore::ResourceError FrameLoaderClientWx::cancelledError(const WebCore::ResourceRequest& request)
6518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
6528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
6530bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    return ResourceError(String(), WebKitErrorCannotShowURL, request.url().string(), String());
6548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
6558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
6560bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben MurdochWebCore::ResourceError FrameLoaderClientWx::blockedError(const ResourceRequest& request)
6578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
6588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
6590bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    return ResourceError(String(), WebKitErrorCannotShowURL, request.url().string(), String());
6608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
6618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
6620bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben MurdochWebCore::ResourceError FrameLoaderClientWx::cannotShowURLError(const WebCore::ResourceRequest& request)
6638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
6640bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    return ResourceError(String(), WebKitErrorCannotShowURL, request.url().string(), String());
6658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
6668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
6670bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben MurdochWebCore::ResourceError FrameLoaderClientWx::interruptForPolicyChangeError(const WebCore::ResourceRequest& request)
6688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
6698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
6700bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    return ResourceError(String(), WebKitErrorFrameLoadInterruptedByPolicyChange, request.url().string(), String());
6718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
6728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
6730bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben MurdochWebCore::ResourceError FrameLoaderClientWx::cannotShowMIMETypeError(const WebCore::ResourceResponse& response)
6748e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
6758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
6760bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    return ResourceError(String(), WebKitErrorCannotShowMIMEType, response.url().string(), String());
6778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
6788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
6790bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben MurdochWebCore::ResourceError FrameLoaderClientWx::fileDoesNotExistError(const WebCore::ResourceResponse& response)
6808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
6818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
6820bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    return ResourceError(String(), WebKitErrorCannotShowURL, response.url().string(), String());
6838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
6848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
6858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbool FrameLoaderClientWx::shouldFallBack(const WebCore::ResourceError& error)
6868e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
6878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
6888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return false;
6898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
6908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
6918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectWTF::PassRefPtr<DocumentLoader> FrameLoaderClientWx::createDocumentLoader(const ResourceRequest& request, const SubstituteData& substituteData)
6928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
6938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return DocumentLoader::create(request, substituteData);
6948e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
6958e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
6968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::download(ResourceHandle*, const ResourceRequest&, const ResourceRequest&, const ResourceResponse&)
6978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
6988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
6998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
7008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
7018e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::assignIdentifierToInitialRequest(unsigned long identifier, DocumentLoader*, const ResourceRequest&)
7028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
7038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
7048e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
7058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
7068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::dispatchWillSendRequest(DocumentLoader*, unsigned long, ResourceRequest& request, const ResourceResponse& response)
7078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
7088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
7098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
7108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
711635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Projectbool FrameLoaderClientWx::shouldUseCredentialStorage(DocumentLoader*, unsigned long)
712635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project{
713635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    notImplemented();
714635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project    return false;
715635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project}
716635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Project
7178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::dispatchDidReceiveAuthenticationChallenge(DocumentLoader*, unsigned long, const AuthenticationChallenge&)
7188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
7198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
7208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
7218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
7228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::dispatchDidCancelAuthenticationChallenge(DocumentLoader*, unsigned long, const AuthenticationChallenge&)
7238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
7248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
7258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
7268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
7278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::dispatchDidReceiveResponse(DocumentLoader* loader, unsigned long id, const ResourceResponse& response)
7288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
7298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
7308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    m_response = response;
7318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    m_firstData = true;
7328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
7338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
7348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::dispatchDidReceiveContentLength(DocumentLoader* loader, unsigned long id, int length)
7358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
7368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
7378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
7388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
7398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::dispatchDidFinishLoading(DocumentLoader*, unsigned long)
7408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
7418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
7428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
7438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
7440617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsenvoid FrameLoaderClientWx::dispatchDidFailLoading(DocumentLoader* loader, unsigned long, const ResourceError&)
7458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
7460617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen    if (m_firstData) {
74781bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch        loader->writer()->setEncoding(m_response.textEncodingName(), false);
7480617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen        m_firstData = false;
7490617145a89917ae7735fe1c9538688ab9a577df5Kristian Monsen    }
7500bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    if (m_webView) {
7510bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        wxWebViewLoadEvent wkEvent(m_webView);
7520bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        wkEvent.SetState(wxWEBVIEW_LOAD_FAILED);
7530bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        wkEvent.SetURL(m_frame->loader()->documentLoader()->request().url().string());
7540bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        m_webView->GetEventHandler()->ProcessEvent(wkEvent);
7550bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    }
7568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
7578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
7588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectbool FrameLoaderClientWx::dispatchDidLoadResourceFromMemoryCache(DocumentLoader*, const ResourceRequest&, const ResourceResponse&, int)
7598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
7608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
7618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return false;
7628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
7638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
7648e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::dispatchDidFailProvisionalLoad(const ResourceError&)
7658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
7668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
7678e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
7688e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
7698e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::dispatchDidFailLoad(const ResourceError&)
7708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
7718e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
7728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
7738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
774e14391e94c850b8bd03680c23b38978db68687a8John ReckFrame* FrameLoaderClientWx::dispatchCreatePage(const NavigationAction&)
7758e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
7768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
7778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return false;
7788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
7798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
78081bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdochvoid FrameLoaderClientWx::dispatchDecidePolicyForResponse(FramePolicyFunction function, const ResourceResponse& response, const ResourceRequest& request)
7818e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
782231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    if (!m_webFrame)
7838e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        return;
7848e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
7858e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
786231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    (m_frame->loader()->policyChecker()->*function)(PolicyUse);
7878e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
7888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
7890bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid FrameLoaderClientWx::dispatchDecidePolicyForNewWindowAction(FramePolicyFunction function, const NavigationAction&, const ResourceRequest& request, PassRefPtr<FormState>, const String& targetName)
7908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
791231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    if (!m_webFrame)
7928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        return;
7938e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
7940bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    if (m_webView) {
7950bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        wxWebViewNewWindowEvent wkEvent(m_webView);
7960bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        wkEvent.SetURL(request.url().string());
7970bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        wkEvent.SetTargetName(targetName);
7980bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        if (m_webView->GetEventHandler()->ProcessEvent(wkEvent)) {
7990bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch            // if the app handles and doesn't skip the event,
8000bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch            // from WebKit's perspective treat it as blocked / ignored
801231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block            (m_frame->loader()->policyChecker()->*function)(PolicyIgnore);
8020bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch            return;
8030bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        }
8040bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    }
8050bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
806231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    (m_frame->loader()->policyChecker()->*function)(PolicyUse);
8078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
8088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
8098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::dispatchDecidePolicyForNavigationAction(FramePolicyFunction function, const NavigationAction& action, const ResourceRequest& request, PassRefPtr<FormState>)
8108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
811231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    if (!m_webFrame)
8128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        return;
8138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
8148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (m_webView) {
8158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        wxWebViewBeforeLoadEvent wkEvent(m_webView);
8168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        wkEvent.SetNavigationType(wxNavTypeFromWebNavType(action.type()));
8178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        wkEvent.SetURL(request.url().string());
8188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
8198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        m_webView->GetEventHandler()->ProcessEvent(wkEvent);
8208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        if (wkEvent.IsCancelled())
821231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block            (m_frame->loader()->policyChecker()->*function)(PolicyIgnore);
8228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        else
823231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block            (m_frame->loader()->policyChecker()->*function)(PolicyUse);
8248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
8258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    }
8268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
8278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
8288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::dispatchUnableToImplementPolicy(const ResourceError&)
8298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
8308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
8318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
8328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
8338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::startDownload(const ResourceRequest&)
8348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
8358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
8368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
8378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
8388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectPassRefPtr<Frame> FrameLoaderClientWx::createFrame(const KURL& url, const String& name, HTMLFrameOwnerElement* ownerElement,
8398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project                                   const String& referrer, bool allowsScrolling, int marginWidth, int marginHeight)
8408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
8418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    WebViewFrameData* data = new WebViewFrameData();
8428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    data->name = name;
8438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    data->ownerElement = ownerElement;
8448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    data->url = url;
8458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    data->referrer = referrer;
846231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    data->allowsScrolling = allowsScrolling;
8478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    data->marginWidth = marginWidth;
8488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    data->marginHeight = marginHeight;
8498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
850231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    wxWebFrame* newFrame = new wxWebFrame(m_webView, m_webFrame, data);
8518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
852231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    RefPtr<Frame> childFrame = adoptRef(newFrame->m_impl->frame);
8538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
854231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    // The creation of the frame may have run arbitrary JavaScript that removed it from the page already.
855231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    if (!childFrame->page())
856231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        return 0;
8578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
8582fc2651226baac27029e38c9d6ef883fa32084dbSteve Block    m_frame->loader()->loadURLIntoChildFrame(url, referrer, childFrame.get());
8598e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
8608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    // The frame's onload handler may have removed it from the document.
8618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (!childFrame->tree()->parent())
8628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        return 0;
8638e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
864231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    return childFrame.release();
8658e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
8668e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
867bec39347bb3bb5bf1187ccaf471d26247f28b585Kristian Monsenvoid FrameLoaderClientWx::didTransferChildFrameToNewDocument(Page*)
868692e5dbf12901edacf14812a6fae25462920af42Steve Block{
869692e5dbf12901edacf14812a6fae25462920af42Steve Block}
870692e5dbf12901edacf14812a6fae25462920af42Steve Block
871e14391e94c850b8bd03680c23b38978db68687a8John Reckvoid FrameLoaderClientWx::transferLoadingResourceFromPage(unsigned long, DocumentLoader*, const ResourceRequest&, Page*)
872e14391e94c850b8bd03680c23b38978db68687a8John Reck{
873e14391e94c850b8bd03680c23b38978db68687a8John Reck}
874e14391e94c850b8bd03680c23b38978db68687a8John Reck
8752bde8e466a4451c7319e3a072d118917957d6554Steve BlockObjectContentType FrameLoaderClientWx::objectContentType(const KURL& url, const String& mimeType, bool shouldPreferPlugInsForImages)
8768e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
8778e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
8788e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return ObjectContentType();
8798e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
8808e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
881643ca7872b450ea4efacab6188849e5aac2ba161Steve BlockPassRefPtr<Widget> FrameLoaderClientWx::createPlugin(const IntSize& size, HTMLPlugInElement* element, const KURL& url, const Vector<String>& paramNames, const Vector<String>& paramValues, const String& mimeType, bool loadManually)
8828e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
883643ca7872b450ea4efacab6188849e5aac2ba161Steve Block#if __WXMSW__ || __WXMAC__
884643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    RefPtr<PluginView> pv = PluginView::create(m_frame, size, element, url, paramNames, paramValues, mimeType, loadManually);
885643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    if (pv->status() == PluginStatusLoadedSuccessfully)
886643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        return pv;
887643ca7872b450ea4efacab6188849e5aac2ba161Steve Block#endif
8888e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return 0;
8898e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
8908e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
8918e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::redirectDataToPlugin(Widget* pluginWidget)
8928e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
893643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    ASSERT(!m_pluginView);
894643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    m_pluginView = static_cast<PluginView*>(pluginWidget);
895643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    m_hasSentResponseToPlugin = false;
8968e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
8978e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
8980bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben MurdochResourceError FrameLoaderClientWx::pluginWillHandleLoadError(const ResourceResponse& response)
8998e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
9008e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
9010bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    return ResourceError(String(), WebKitErrorCannotLoadPlugIn, response.url().string(), String());
9028e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
9038e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
9040bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben MurdochPassRefPtr<Widget> FrameLoaderClientWx::createJavaAppletWidget(const IntSize&, HTMLAppletElement*, const KURL& baseURL,
9058e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project                                                    const Vector<String>& paramNames, const Vector<String>& paramValues)
9068e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
9078e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
9088e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return 0;
9098e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
9108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
9118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source ProjectString FrameLoaderClientWx::overrideMediaType() const
9128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
9138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
9148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    return String();
9158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
9168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
917643ca7872b450ea4efacab6188849e5aac2ba161Steve Blockvoid FrameLoaderClientWx::dispatchDidClearWindowObjectInWorld(DOMWrapperWorld* world)
9188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
919643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    if (world != mainThreadNormalWorld())
920643ca7872b450ea4efacab6188849e5aac2ba161Steve Block        return;
921643ca7872b450ea4efacab6188849e5aac2ba161Steve Block
9220bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    if (m_webView) {
9230bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        wxWebViewWindowObjectClearedEvent wkEvent(m_webView);
9240bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        Frame* coreFrame = m_webView->GetMainFrame()->GetFrame();
925cac0f67c402d107cdb10971b95719e2ff9c7c76bSteve Block        JSGlobalContextRef context = toGlobalRef(coreFrame->script()->globalObject(mainThreadNormalWorld())->globalExec());
926cac0f67c402d107cdb10971b95719e2ff9c7c76bSteve Block        JSObjectRef windowObject = toRef(coreFrame->script()->globalObject(mainThreadNormalWorld()));
9270bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        wkEvent.SetJSContext(context);
9280bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        wkEvent.SetWindowObject(windowObject);
9290bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        m_webView->GetEventHandler()->ProcessEvent(wkEvent);
9300bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    }
9318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
9328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
933563af33bc48281d19dce701398dbb88cb54fd7ecCary Clarkvoid FrameLoaderClientWx::documentElementAvailable()
934563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark{
935563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark}
936563af33bc48281d19dce701398dbb88cb54fd7ecCary Clark
9378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::didPerformFirstNavigation() const
9388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
9398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
9408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
9418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
9428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::registerForIconNotification(bool listen)
9438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
9448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
9458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
9468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
947635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Projectvoid FrameLoaderClientWx::savePlatformDataToCachedFrame(CachedFrame*)
9488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
9498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
9508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
9518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
952635860845790a19bf50bbc51ba8fb66a96dde068The Android Open Source Projectvoid FrameLoaderClientWx::transitionToCommittedFromCachedFrame(CachedFrame*)
9538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
9548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    notImplemented();
9558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
9568e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
9578e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid FrameLoaderClientWx::transitionToCommittedForNewPage()
9588e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
959231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    ASSERT(m_webFrame);
9608e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT(m_frame);
9618e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    ASSERT(m_webView);
9628e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
963231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    IntSize size = IntRect(m_webView->GetRect()).size();
964231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    // FIXME: This value should be gotten from m_webView->IsTransparent();
965231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    // but transitionToCommittedForNewPage() can be called while m_webView is
966231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    // still being initialized.
967231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    bool transparent = false;
968231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    Color backgroundColor = transparent ? WebCore::Color::transparent : WebCore::Color::white;
969231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block
970231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block    if (m_frame)
971231d4e3152a9c27a73b6ac7badbe6be673aa3ddfSteve Block        m_frame->createView(size, backgroundColor, transparent, IntSize(), false);
9728e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
9738e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
974cad810f21b803229eb11403f9209855525a25d57Steve Blockvoid FrameLoaderClientWx::didSaveToPageCache()
975cad810f21b803229eb11403f9209855525a25d57Steve Block{
976cad810f21b803229eb11403f9209855525a25d57Steve Block}
977cad810f21b803229eb11403f9209855525a25d57Steve Block
978cad810f21b803229eb11403f9209855525a25d57Steve Blockvoid FrameLoaderClientWx::didRestoreFromPageCache()
979cad810f21b803229eb11403f9209855525a25d57Steve Block{
980cad810f21b803229eb11403f9209855525a25d57Steve Block}
981cad810f21b803229eb11403f9209855525a25d57Steve Block
982e14391e94c850b8bd03680c23b38978db68687a8John Reckvoid FrameLoaderClientWx::dispatchDidBecomeFrameset(bool)
983e14391e94c850b8bd03680c23b38978db68687a8John Reck{
984e14391e94c850b8bd03680c23b38978db68687a8John Reck}
985e14391e94c850b8bd03680c23b38978db68687a8John Reck
986643ca7872b450ea4efacab6188849e5aac2ba161Steve Blockbool FrameLoaderClientWx::shouldUsePluginDocument(const String &mimeType) const
987643ca7872b450ea4efacab6188849e5aac2ba161Steve Block{
988643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    // NOTE: Plugin Documents are used for viewing PDFs, etc. inline, and should
989643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    // not be used for pages with plugins in them.
990643ca7872b450ea4efacab6188849e5aac2ba161Steve Block    return false;
991643ca7872b450ea4efacab6188849e5aac2ba161Steve Block}
992643ca7872b450ea4efacab6188849e5aac2ba161Steve Block
99368513a70bcd92384395513322f1b801e7bf9c729Steve BlockPassRefPtr<FrameNetworkingContext> FrameLoaderClientWx::createNetworkingContext()
99468513a70bcd92384395513322f1b801e7bf9c729Steve Block{
99568513a70bcd92384395513322f1b801e7bf9c729Steve Block    return FrameNetworkingContextWx::create(m_frame);
99668513a70bcd92384395513322f1b801e7bf9c729Steve Block}
99768513a70bcd92384395513322f1b801e7bf9c729Steve Block
9988e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
999