Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(130)

Side by Side Diff: webkit/api/public/WebFrameClient.h

Issue 385057: Deleted webkit/api which now lives in webkit.org (Closed)
Patch Set: Created 11 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « webkit/api/public/WebFrame.h ('k') | webkit/api/public/WebHTTPBody.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 /*
2 * Copyright (C) 2009 Google Inc. All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are
6 * met:
7 *
8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above
11 * copyright notice, this list of conditions and the following disclaimer
12 * in the documentation and/or other materials provided with the
13 * distribution.
14 * * Neither the name of Google Inc. nor the names of its
15 * contributors may be used to endorse or promote products derived from
16 * this software without specific prior written permission.
17 *
18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 */
30
31 #ifndef WebFrameClient_h
32 #define WebFrameClient_h
33
34 #include "WebCommon.h"
35 #include "WebNavigationPolicy.h"
36 #include "WebNavigationType.h"
37 #include "WebURLError.h"
38
39 namespace WebKit {
40
41 class WebDataSource;
42 class WebFormElement;
43 class WebFrame;
44 class WebMediaPlayer;
45 class WebMediaPlayerClient;
46 class WebNode;
47 class WebPlugin;
48 class WebSecurityOrigin;
49 class WebSharedWorker;
50 class WebString;
51 class WebURL;
52 class WebURLRequest;
53 class WebURLResponse;
54 class WebWorker;
55 class WebWorkerClient;
56 struct WebPluginParams;
57 struct WebRect;
58 struct WebSize;
59 struct WebURLError;
60
61 class WebFrameClient {
62 public:
63 // Factory methods -----------------------------------------------------
64
65 // May return null.
66 virtual WebPlugin* createPlugin(WebFrame*, const WebPluginParams&) { return 0; }
67
68 // May return null.
69 virtual WebWorker* createWorker(WebFrame*, WebWorkerClient*) { return 0; }
70
71 // May return null.
72 virtual WebSharedWorker* createSharedWorker(WebFrame*, const WebURL&, const WebString&, unsigned long long) { return 0; }
73
74 // May return null.
75 virtual WebMediaPlayer* createMediaPlayer(WebFrame*, WebMediaPlayerClient*) { return 0; }
76
77
78 // General notifications -----------------------------------------------
79
80 // This frame is about to be closed.
81 virtual void willClose(WebFrame*) { }
82
83
84 // Load commands -------------------------------------------------------
85
86 // The client should handle the navigation externally.
87 virtual void loadURLExternally(
88 WebFrame*, const WebURLRequest&, WebNavigationPolicy) { }
89
90
91 // Navigational queries ------------------------------------------------
92
93 // The client may choose to alter the navigation policy. Otherwise,
94 // defaultPolicy should just be returned.
95 virtual WebNavigationPolicy decidePolicyForNavigation(
96 WebFrame*, const WebURLRequest&, WebNavigationType,
97 const WebNode& originatingNode,
98 WebNavigationPolicy defaultPolicy, bool isRedirect) { return defaultPolicy; }
99
100 // Query if the specified request can be handled.
101 virtual bool canHandleRequest(
102 WebFrame*, const WebURLRequest& request) { return true; }
103
104 // Returns an error corresponding to canHandledRequest() returning false.
105 virtual WebURLError cannotHandleRequestError(
106 WebFrame*, const WebURLRequest& request) { return WebURLError(); }
107
108 // Returns an error corresponding to a user cancellation event.
109 virtual WebURLError cancelledError(
110 WebFrame*, const WebURLRequest& request) { return WebURLError(); }
111
112 // Notify that a URL cannot be handled.
113 virtual void unableToImplementPolicyWithError(
114 WebFrame*, const WebURLError&) { }
115
116
117 // Navigational notifications ------------------------------------------
118
119 // A form submission is about to occur.
120 virtual void willSubmitForm(WebFrame*, const WebFormElement&) { }
121
122 // A client-side redirect will occur. This may correspond to a <META
123 // refresh> or some script activity.
124 virtual void willPerformClientRedirect(
125 WebFrame*, const WebURL& from, const WebURL& to,
126 double interval, double fireTime) { }
127
128 // A client-side redirect was cancelled.
129 virtual void didCancelClientRedirect(WebFrame*) { }
130
131 // A client-side redirect completed.
132 virtual void didCompleteClientRedirect(WebFrame*, const WebURL& fromURL) { }
133
134 // A datasource has been created for a new navigation. The given
135 // datasource will become the provisional datasource for the frame.
136 virtual void didCreateDataSource(WebFrame*, WebDataSource*) { }
137
138 // A new provisional load has been started.
139 virtual void didStartProvisionalLoad(WebFrame*) { }
140
141 // The provisional load was redirected via a HTTP 3xx response.
142 virtual void didReceiveServerRedirectForProvisionalLoad(WebFrame*) { }
143
144 // The provisional load failed.
145 virtual void didFailProvisionalLoad(WebFrame*, const WebURLError&) { }
146
147 // Notifies the client to commit data for the given frame. The client
148 // may optionally prevent default processing by setting preventDefault
149 // to true before returning. If default processing is prevented, then
150 // it is up to the client to manually call commitDocumentData on the
151 // WebFrame. It is only valid to call commitDocumentData within a call
152 // to didReceiveDocumentData. If commitDocumentData is not called,
153 // then an empty document will be loaded.
154 virtual void didReceiveDocumentData(
155 WebFrame*, const char* data, size_t length, bool& preventDefault) { }
156
157 // The provisional datasource is now committed. The first part of the
158 // response body has been received, and the encoding of the response
159 // body is known.
160 virtual void didCommitProvisionalLoad(WebFrame*, bool isNewNavigation) { }
161
162 // The window object for the frame has been cleared of any extra
163 // properties that may have been set by script from the previously
164 // loaded document.
165 virtual void didClearWindowObject(WebFrame*) { }
166
167 // The document element has been created.
168 virtual void didCreateDocumentElement(WebFrame*) { }
169
170 // The page title is available.
171 virtual void didReceiveTitle(WebFrame*, const WebString& title) { }
172
173 // The frame's document finished loading.
174 virtual void didFinishDocumentLoad(WebFrame*) { }
175
176 // The 'load' event was dispatched.
177 virtual void didHandleOnloadEvents(WebFrame*) { }
178
179 // The frame's document or one of its subresources failed to load.
180 virtual void didFailLoad(WebFrame*, const WebURLError&) { }
181
182 // The frame's document and all of its subresources succeeded to load.
183 virtual void didFinishLoad(WebFrame*) { }
184
185 // The navigation resulted in scrolling the page to a named anchor instead
186 // of downloading a new document.
187 virtual void didChangeLocationWithinPage(WebFrame*, bool isNewNavigation) { }
188
189 // Called upon update to scroll position, document state, and other
190 // non-navigational events related to the data held by WebHistoryItem.
191 // WARNING: This method may be called very frequently.
192 virtual void didUpdateCurrentHistoryItem(WebFrame*) { }
193
194
195 // Low-level resource notifications ------------------------------------
196
197 // An identifier was assigned to the specified request. The client
198 // should remember this association if interested in subsequent events.
199 virtual void assignIdentifierToRequest(
200 WebFrame*, unsigned identifier, const WebURLRequest&) { }
201
202 // A request is about to be sent out, and the client may modify it. Request
203 // is writable, and changes to the URL, for example, will change the request
204 // made. If this request is the result of a redirect, then redirectResponse
205 // will be non-null and contain the response that triggered the redirect.
206 virtual void willSendRequest(
207 WebFrame*, unsigned identifier, WebURLRequest&,
208 const WebURLResponse& redirectResponse) { }
209
210 // Response headers have been received for the resource request given
211 // by identifier.
212 virtual void didReceiveResponse(
213 WebFrame*, unsigned identifier, const WebURLResponse&) { }
214
215 // The resource request given by identifier succeeded.
216 virtual void didFinishResourceLoad(
217 WebFrame*, unsigned identifier) { }
218
219 // The resource request given by identifier failed.
220 virtual void didFailResourceLoad(
221 WebFrame*, unsigned identifier, const WebURLError&) { }
222
223 // The specified request was satified from WebCore's memory cache.
224 virtual void didLoadResourceFromMemoryCache(
225 WebFrame*, const WebURLRequest&, const WebURLResponse&) { }
226
227 // This frame has displayed inactive content (such as an image) from an
228 // insecure source. Inactive content cannot spread to other frames.
229 virtual void didDisplayInsecureContent(WebFrame*) { }
230
231 // The indicated security origin has run active content (such as a
232 // script) from an insecure source. Note that the insecure content can
233 // spread to other frames in the same origin.
234 virtual void didRunInsecureContent(WebFrame*, const WebSecurityOrigin&) { }
235
236
237 // Script notifications ------------------------------------------------
238
239 // Controls whether scripts are allowed to execute for this frame.
240 virtual bool allowScript(WebFrame*, bool enabledPerSettings) { return enabledPerSettings; }
241
242 // Script in the page tried to allocate too much memory.
243 virtual void didExhaustMemoryAvailableForScript(WebFrame*) { }
244
245 // Notifies that a new script context has been created for this frame.
246 // This is similar to didClearWindowObject but only called once per
247 // frame context.
248 virtual void didCreateScriptContext(WebFrame*) { }
249
250 // Notifies that this frame's script context has been destroyed.
251 virtual void didDestroyScriptContext(WebFrame*) { }
252
253 // Notifies that a garbage-collected context was created - content
254 // scripts.
255 virtual void didCreateIsolatedScriptContext(WebFrame*) { }
256
257
258 // Geometry notifications ----------------------------------------------
259
260 // The size of the content area changed.
261 virtual void didChangeContentsSize(WebFrame*, const WebSize&) { }
262
263 // The main frame scrolled.
264 virtual void didChangeScrollOffset(WebFrame*) { }
265
266
267 // Find-in-page notifications ------------------------------------------
268
269 // Notifies how many matches have been found so far, for a given
270 // identifier. |finalUpdate| specifies whether this is the last update
271 // (all frames have completed scoping).
272 virtual void reportFindInPageMatchCount(
273 int identifier, int count, bool finalUpdate) { }
274
275 // Notifies what tick-mark rect is currently selected. The given
276 // identifier lets the client know which request this message belongs
277 // to, so that it can choose to ignore the message if it has moved on
278 // to other things. The selection rect is expected to have coordinates
279 // relative to the top left corner of the web page area and represent
280 // where on the screen the selection rect is currently located.
281 virtual void reportFindInPageSelection(
282 int identifier, int activeMatchOrdinal, const WebRect& selection) { }
283
284 protected:
285 ~WebFrameClient() { }
286 };
287
288 } // namespace WebKit
289
290 #endif
OLDNEW
« no previous file with comments | « webkit/api/public/WebFrame.h ('k') | webkit/api/public/WebHTTPBody.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698