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

Side by Side Diff: webkit/glue/webframeloaderclient_impl.h

Issue 341030: Moves webview_impl.cc, webframe_impl.cc and webframeloaderclient_impl.cc into... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
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 | Annotate | Revision Log
« no previous file with comments | « webkit/glue/webframe_impl.cc ('k') | webkit/glue/webframeloaderclient_impl.cc » ('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 // Copyright (c) 2006-2009 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef WEBKIT_GLUE_WEBFRAMELOADERCLIENT_IMPL_H_
6 #define WEBKIT_GLUE_WEBFRAMELOADERCLIENT_IMPL_H_
7
8 #include "FrameLoaderClient.h"
9 #include "KURL.h"
10 #include <wtf/PassOwnPtr.h>
11 #include <wtf/RefPtr.h>
12
13 #include "webkit/api/public/WebNavigationPolicy.h"
14
15 class WebFrameImpl;
16
17 namespace WebKit {
18 class WebPluginContainerImpl;
19 class WebPluginLoadObserver;
20 }
21
22 class WebFrameLoaderClient : public WebCore::FrameLoaderClient {
23 public:
24 WebFrameLoaderClient(WebFrameImpl* webframe);
25 virtual ~WebFrameLoaderClient();
26
27 WebFrameImpl* webframe() const { return webframe_; }
28
29 // WebCore::FrameLoaderClient ----------------------------------------------
30
31 virtual void frameLoaderDestroyed();
32
33 // Notifies the WebView delegate that the JS window object has been cleared,
34 // giving it a chance to bind native objects to the window before script
35 // parsing begins.
36 virtual void windowObjectCleared();
37 virtual void documentElementAvailable();
38
39 // A frame's V8 context was created or destroyed.
40 virtual void didCreateScriptContextForFrame();
41 virtual void didDestroyScriptContextForFrame();
42
43 // A context untied to a frame was created (through evaluateInNewContext).
44 // This context is not tied to the lifetime of its frame, and is destroyed
45 // in garbage collection.
46 virtual void didCreateIsolatedScriptContext();
47
48 virtual bool hasWebView() const; // mainly for assertions
49 virtual bool hasFrameView() const; // ditto
50
51 virtual void makeRepresentation(WebCore::DocumentLoader*);
52 virtual void forceLayout();
53 virtual void forceLayoutForNonHTML();
54
55 virtual void setCopiesOnScroll();
56
57 virtual void detachedFromParent2();
58 virtual void detachedFromParent3();
59
60 virtual void assignIdentifierToInitialRequest(unsigned long identifier, WebCor e::DocumentLoader*, const WebCore::ResourceRequest&);
61
62 virtual void dispatchWillSendRequest(WebCore::DocumentLoader*, unsigned long i dentifier, WebCore::ResourceRequest&, const WebCore::ResourceResponse& redirectR esponse);
63 virtual bool shouldUseCredentialStorage(WebCore::DocumentLoader*, unsigned lon g identifier);
64 virtual void dispatchDidReceiveAuthenticationChallenge(WebCore::DocumentLoader *, unsigned long identifier, const WebCore::AuthenticationChallenge&);
65 virtual void dispatchDidCancelAuthenticationChallenge(WebCore::DocumentLoader* , unsigned long identifier, const WebCore::AuthenticationChallenge&);
66 virtual void dispatchDidReceiveResponse(WebCore::DocumentLoader*, unsigned lon g identifier, const WebCore::ResourceResponse&);
67 virtual void dispatchDidReceiveContentLength(WebCore::DocumentLoader*, unsigne d long identifier, int lengthReceived);
68 virtual void dispatchDidFinishLoading(WebCore::DocumentLoader*, unsigned long identifier);
69 virtual void dispatchDidFailLoading(WebCore::DocumentLoader*, unsigned long id entifier, const WebCore::ResourceError&);
70 virtual bool dispatchDidLoadResourceFromMemoryCache(WebCore::DocumentLoader*, const WebCore::ResourceRequest&, const WebCore::ResourceResponse&, int length);
71 virtual void dispatchDidLoadResourceByXMLHttpRequest(unsigned long identifier, const WebCore::ScriptString&);
72
73 virtual void dispatchDidHandleOnloadEvents();
74 virtual void dispatchDidReceiveServerRedirectForProvisionalLoad();
75 virtual void dispatchDidCancelClientRedirect();
76 virtual void dispatchWillPerformClientRedirect(const WebCore::KURL&, double in terval, double fireDate);
77 virtual void dispatchDidChangeLocationWithinPage();
78 virtual void dispatchWillClose();
79 virtual void dispatchDidReceiveIcon();
80 virtual void dispatchDidStartProvisionalLoad();
81 virtual void dispatchDidReceiveTitle(const WebCore::String& title);
82 virtual void dispatchDidCommitLoad();
83 virtual void dispatchDidFailProvisionalLoad(const WebCore::ResourceError&);
84 virtual void dispatchDidFailLoad(const WebCore::ResourceError&);
85 virtual void dispatchDidFinishDocumentLoad();
86 virtual void dispatchDidFinishLoad();
87 virtual void dispatchDidFirstLayout();
88 virtual void dispatchDidFirstVisuallyNonEmptyLayout();
89
90 virtual WebCore::Frame* dispatchCreatePage();
91 virtual void dispatchShow();
92
93 virtual void dispatchDecidePolicyForMIMEType(WebCore::FramePolicyFunction func tion, const WebCore::String& mime_type, const WebCore::ResourceRequest&);
94 virtual void dispatchDecidePolicyForNewWindowAction(WebCore::FramePolicyFuncti on function, const WebCore::NavigationAction& action, const WebCore::ResourceReq uest& request, PassRefPtr<WebCore::FormState> form_state, const WebCore::String& frame_name);
95 virtual void dispatchDecidePolicyForNavigationAction(WebCore::FramePolicyFunct ion function, const WebCore::NavigationAction& action, const WebCore::ResourceRe quest& request, PassRefPtr<WebCore::FormState> form_state);
96 virtual void cancelPolicyCheck();
97
98 virtual void dispatchUnableToImplementPolicy(const WebCore::ResourceError&);
99
100 virtual void dispatchWillSubmitForm(WebCore::FramePolicyFunction, PassRefPtr<W ebCore::FormState>);
101
102 virtual void dispatchDidLoadMainResource(WebCore::DocumentLoader*);
103 virtual void revertToProvisionalState(WebCore::DocumentLoader*);
104 virtual void setMainDocumentError(WebCore::DocumentLoader*, const WebCore::Res ourceError&);
105
106 // Maybe these should go into a ProgressTrackerClient some day
107 virtual void willChangeEstimatedProgress() { }
108 virtual void didChangeEstimatedProgress() { }
109 virtual void postProgressStartedNotification();
110 virtual void postProgressEstimateChangedNotification();
111 virtual void postProgressFinishedNotification();
112
113 virtual void setMainFrameDocumentReady(bool);
114
115 virtual void startDownload(const WebCore::ResourceRequest&);
116
117 virtual void willChangeTitle(WebCore::DocumentLoader*);
118 virtual void didChangeTitle(WebCore::DocumentLoader*);
119
120 virtual void committedLoad(WebCore::DocumentLoader*, const char*, int);
121 virtual void finishedLoading(WebCore::DocumentLoader*);
122
123 virtual void updateGlobalHistory();
124 virtual void updateGlobalHistoryRedirectLinks();
125
126 virtual bool shouldGoToHistoryItem(WebCore::HistoryItem*) const;
127
128 virtual void didDisplayInsecureContent();
129 virtual void didRunInsecureContent(WebCore::SecurityOrigin*);
130
131 virtual WebCore::ResourceError blockedError(const WebCore::ResourceRequest&);
132 virtual WebCore::ResourceError cancelledError(const WebCore::ResourceRequest&) ;
133 virtual WebCore::ResourceError cannotShowURLError(const WebCore::ResourceReque st&);
134 virtual WebCore::ResourceError interruptForPolicyChangeError(const WebCore::Re sourceRequest&);
135
136 virtual WebCore::ResourceError cannotShowMIMETypeError(const WebCore::Resource Response&);
137 virtual WebCore::ResourceError fileDoesNotExistError(const WebCore::ResourceRe sponse&);
138 virtual WebCore::ResourceError pluginWillHandleLoadError(const WebCore::Resour ceResponse&);
139
140 virtual bool shouldFallBack(const WebCore::ResourceError&);
141
142 virtual bool canHandleRequest(const WebCore::ResourceRequest&) const;
143 virtual bool canShowMIMEType(const WebCore::String& MIMEType) const;
144 virtual bool representationExistsForURLScheme(const WebCore::String& URLScheme ) const;
145 virtual WebCore::String generatedMIMETypeForURLScheme(const WebCore::String& U RLScheme) const;
146
147 virtual void frameLoadCompleted();
148 virtual void saveViewStateToItem(WebCore::HistoryItem*);
149 virtual void restoreViewState();
150 virtual void provisionalLoadStarted();
151 virtual void didFinishLoad();
152 virtual void prepareForDataSourceReplacement();
153
154 virtual PassRefPtr<WebCore::DocumentLoader> createDocumentLoader(
155 const WebCore::ResourceRequest&,
156 const WebCore::SubstituteData&);
157 virtual void setTitle(const WebCore::String& title, const WebCore::KURL&);
158
159 virtual WebCore::String userAgent(const WebCore::KURL&);
160
161 virtual void savePlatformDataToCachedFrame(WebCore::CachedFrame*);
162 virtual void transitionToCommittedFromCachedFrame(WebCore::CachedFrame*);
163 virtual void transitionToCommittedForNewPage();
164
165 virtual bool canCachePage() const;
166 virtual void download(WebCore::ResourceHandle* handle,
167 const WebCore::ResourceRequest& request,
168 const WebCore::ResourceRequest& initialRequest,
169 const WebCore::ResourceResponse& response);
170 virtual PassRefPtr<WebCore::Frame> createFrame(
171 const WebCore::KURL& url,
172 const WebCore::String& name,
173 WebCore::HTMLFrameOwnerElement* ownerEleme nt,
174 const WebCore::String& referrer,
175 bool allowsScrolling, int marginWidth,
176 int marginHeight);
177 virtual PassRefPtr<WebCore::Widget> createPlugin(const WebCore::IntSize&,
178 WebCore::HTMLPlugInElement*,
179 const WebCore::KURL&,
180 const WTF::Vector<WebCore::String>&,
181 const WTF::Vector<WebCore::String>&,
182 const WebCore::String&,
183 bool loadManually);
184 virtual void redirectDataToPlugin(WebCore::Widget* pluginWidget);
185
186 virtual PassRefPtr<WebCore::Widget> createJavaAppletWidget(
187 const WebCore::IntSize&,
188 WebCore::HTMLAppletElement*,
189 const WebCore::KURL& /* base_url */,
190 const WTF::Vector<WebCore::String>& paramNames,
191 const WTF::Vector<WebCore::String>& paramValues);
192
193 virtual WebCore::ObjectContentType objectContentType(
194 const WebCore::KURL& url, const WebCore::String& mimeType);
195 virtual WebCore::String overrideMediaType() const;
196
197 virtual void didPerformFirstNavigation() const;
198
199 virtual void registerForIconNotification(bool listen = true);
200
201 private:
202 void makeDocumentView();
203
204 // Given a NavigationAction, determine the associated WebNavigationPolicy.
205 // For example, a middle click means "open in background tab".
206 static bool ActionSpecifiesNavigationPolicy(
207 const WebCore::NavigationAction& action,
208 WebKit::WebNavigationPolicy* policy);
209
210 // Called when a dummy back-forward navigation is intercepted.
211 void HandleBackForwardNavigation(const WebCore::KURL&);
212
213 PassOwnPtr<WebKit::WebPluginLoadObserver> GetPluginLoadObserver();
214
215 // The WebFrame that owns this object and manages its lifetime. Therefore,
216 // the web frame object is guaranteed to exist.
217 WebFrameImpl* webframe_;
218
219 // True if makeRepresentation was called. We don't actually have a concept
220 // of a "representation", but we need to know when we're expected to have one.
221 // See finishedLoading().
222 bool has_representation_;
223
224 // Used to help track client redirects. When a provisional load starts, it
225 // has no redirects in its chain. But in the case of client redirects, we want
226 // to add that initial load as a redirect. When we get a new provisional load
227 // and the dest URL matches that load, we know that it was the result of a
228 // previous client redirect and the source should be added as a redirect.
229 // Both should be empty if unused.
230 WebCore::KURL expected_client_redirect_src_;
231 WebCore::KURL expected_client_redirect_dest_;
232
233 // Contains a pointer to the plugin widget.
234 WTF::RefPtr<WebKit::WebPluginContainerImpl> plugin_widget_;
235
236 // Indicates if we need to send over the initial notification to the plugin
237 // which specifies that the plugin should be ready to accept data.
238 bool sent_initial_response_to_plugin_;
239
240 // The navigation policy to use for the next call to dispatchCreatePage.
241 WebKit::WebNavigationPolicy next_navigation_policy_;
242 };
243
244 #endif // #ifndef WEBKIT_GLUE_WEBFRAMELOADERCLIENT_IMPL_H_
OLDNEW
« no previous file with comments | « webkit/glue/webframe_impl.cc ('k') | webkit/glue/webframeloaderclient_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698