2 * Copyright (C) 2007 Kevin Ollivier <kevino@theolliviers.com>
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 * 2. Redistributions in binary form must reproduce the above copyright
12 * notice, this list of conditions and the following disclaimer in the
13 * documentation and/or other materials provided with the distribution.
15 * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
16 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
18 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
19 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
20 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
21 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
22 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
23 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
25 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 #include "wx/wxprec.h"
37 class WebViewFrameData;
42 class FrameLoaderClientWx;
48 #if WXMAKINGDLL_WEBKIT
49 #define WXDLLIMPEXP_WEBKIT WXEXPORT
50 #elif defined(WXUSINGDLL_WEBKIT)
51 #define WXDLLIMPEXP_WEBKIT WXIMPORT
53 #define WXDLLIMPEXP_WEBKIT
57 #define WXDLLIMPEXP_WEBKIT
60 class WXDLLIMPEXP_WEBKIT wxWebFrame
62 // ChromeClientWx needs to get the Page* stored by the wxWebView
63 // for the createWindow function.
64 friend class WebCore::ChromeClientWx;
65 friend class WebCore::FrameLoaderClientWx;
66 friend class wxWebView;
68 wxWebFrame(wxWebView* container, wxWebFrame* parent = NULL, WebViewFrameData* data = NULL);
72 void LoadURL(const wxString& url);
89 wxString GetPageSource();
90 void SetPageSource(const wxString& source, const wxString& baseUrl = wxEmptyString);
92 wxString GetInnerText();
93 wxString GetAsMarkup();
94 wxString GetExternalRepresentation();
96 wxString RunScript(const wxString& javascript);
98 bool CanIncreaseTextSize() const;
99 void IncreaseTextSize();
100 bool CanDecreaseTextSize() const;
101 void DecreaseTextSize();
102 void MakeEditable(bool enable);
103 bool IsEditable() const { return m_isEditable; }
105 wxString GetPageTitle() const { return m_title; }
106 void SetPageTitle(const wxString& title) { m_title = title; }
108 WebCore::Frame* GetFrame();
111 float m_textMagnifier;
113 bool m_isInitialized;
114 bool m_beingDestroyed;
115 WebViewPrivate* m_impl;
120 #endif // ifndef WXWEBFRAME_H