2 * Copyright (C) 2006 Dirk Mueller <mueller@kde.org>
3 * Copyright (C) 2006 Zack Rusin <zack@kde.org>
4 * Copyright (C) 2006 George Staikos <staikos@kde.org>
5 * Copyright (C) 2006 Simon Hausmann <hausmann@kde.org>
6 * Copyright (C) 2006 Rob Buis <buis@kde.org>
7 * Copyright (C) 2006 Nikolas Zimmermann <zimmermann@kde.org>
11 * Redistribution and use in source and binary forms, with or without
12 * modification, are permitted provided that the following conditions
14 * 1. Redistributions of source code must retain the above copyright
15 * notice, this list of conditions and the following disclaimer.
16 * 2. Redistributions in binary form must reproduce the above copyright
17 * notice, this list of conditions and the following disclaimer in the
18 * documentation and/or other materials provided with the distribution.
20 * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
21 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
24 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
27 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
28 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 #include "ResourceLoaderClient.h"
46 virtual ~FrameQtClient();
48 virtual void openURL(const DeprecatedString&) = 0;
49 virtual void submitForm(const String& method, const KURL&, const FormData*) = 0;
52 class FrameQt : public Frame,
53 public ResourceLoaderClient {
55 FrameQt(QWidget* parent);
59 virtual bool openURL(const KURL&);
60 virtual void openURLRequest(const ResourceRequest&);
61 virtual void submitForm(const ResourceRequest&);
62 virtual void urlSelected(const ResourceRequest&);
64 virtual void setTitle(const String&);
66 virtual ObjectContentType objectContentType(const KURL&, const String& mimeType);
67 virtual Plugin* createPlugin(Element*, const KURL&, const Vector<String>&, const Vector<String>&, const String&);
68 virtual Frame* createFrame(const KURL&, const String& name, Element*, const String& referrer);
70 virtual void scheduleClose();
72 virtual void unfocusWindow();
74 virtual void focusWindow();
76 virtual void saveDocumentState();
77 virtual void restoreDocumentState();
79 virtual void addMessageToConsole(const String& message, unsigned lineNumber, const String& sourceID);
81 virtual void runJavaScriptAlert(const String& message);
82 virtual bool runJavaScriptConfirm(const String& message);
83 virtual bool runJavaScriptPrompt(const String& message, const String& defaultValue, String& result);
84 virtual bool locationbarVisible();
85 virtual bool menubarVisible();
86 virtual bool personalbarVisible();
87 virtual bool statusbarVisible();
88 virtual bool toolbarVisible();
90 virtual void createEmptyDocument();
91 virtual Range* markedTextRange() const;
93 virtual String incomingReferrer() const;
94 virtual String userAgent() const;
96 virtual String mimeTypeForFileName(const String&) const;
98 virtual void markMisspellingsInAdjacentWords(const VisiblePosition&);
99 virtual void markMisspellings(const SelectionController&);
101 virtual bool lastEventIsMouseUp() const;
103 virtual bool passSubframeEventToSubframe(MouseEventWithHitTestResults&, Frame* subframe = 0);
104 virtual bool passWheelEventToChildWidget(Node*);
106 virtual String overrideMediaType() const;
108 virtual KJS::Bindings::Instance* getEmbedInstanceForWidget(Widget*);
109 virtual KJS::Bindings::Instance* getObjectInstanceForWidget(Widget*);
110 virtual KJS::Bindings::Instance* getAppletInstanceForWidget(Widget*);
112 virtual void registerCommandForUndo(PassRefPtr<EditCommand>);
113 virtual void registerCommandForRedo(PassRefPtr<EditCommand>);
114 virtual void clearUndoRedoOperations();
115 virtual void issueUndoCommand();
116 virtual void issueRedoCommand();
117 virtual void issueCutCommand();
118 virtual void issueCopyCommand();
119 virtual void issuePasteCommand();
120 virtual void issuePasteAndMatchStyleCommand();
121 virtual void issueTransposeCommand();
122 virtual void respondToChangedSelection(const SelectionController& oldSelection, bool closeTyping);
123 virtual void respondToChangedContents();
124 virtual bool shouldChangeSelection(const SelectionController& oldSelection, const SelectionController& newSelection, EAffinity, bool stillSelecting) const;
125 virtual void partClearedInBegin();
127 virtual bool canGoBackOrForward(int distance) const;
128 virtual void handledOnloadEvents();
130 virtual bool canPaste() const;
131 virtual bool canRedo() const;
132 virtual bool canUndo() const;
133 virtual void print();
134 virtual bool shouldInterruptJavaScript();
136 bool keyEvent(const PlatformKeyboardEvent& keyEvent);
138 virtual void receivedResponse(ResourceLoader*, PlatformResponse);
139 virtual void receivedData(ResourceLoader*, const char*, int);
140 virtual void receivedAllData(ResourceLoader*, PlatformData);
142 void setFrameGeometry(const IntRect&);
146 virtual bool passMouseDownEventToWidget(Widget*);
148 FrameQtClient* m_client;