summaryrefslogtreecommitdiff
path: root/chromium/content/renderer/render_frame_impl.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/content/renderer/render_frame_impl.h')
-rw-r--r--chromium/content/renderer/render_frame_impl.h196
1 files changed, 196 insertions, 0 deletions
diff --git a/chromium/content/renderer/render_frame_impl.h b/chromium/content/renderer/render_frame_impl.h
new file mode 100644
index 00000000000..f4686b2d15d
--- /dev/null
+++ b/chromium/content/renderer/render_frame_impl.h
@@ -0,0 +1,196 @@
+// Copyright 2013 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CONTENT_RENDERER_RENDER_FRAME_IMPL_H_
+#define CONTENT_RENDERER_RENDER_FRAME_IMPL_H_
+
+#include "base/basictypes.h"
+#include "content/public/renderer/render_frame.h"
+#include "ipc/ipc_message.h"
+#include "third_party/WebKit/public/web/WebDataSource.h"
+#include "third_party/WebKit/public/web/WebFrameClient.h"
+
+namespace content {
+
+class RenderViewImpl;
+
+class CONTENT_EXPORT RenderFrameImpl
+ : public RenderFrame,
+ NON_EXPORTED_BASE(public WebKit::WebFrameClient) {
+ public:
+ // Creates a new RenderFrame. |render_view| is the RenderView object that this
+ // frame belongs to.
+ static RenderFrameImpl* Create(RenderViewImpl* render_view, int32 routing_id);
+
+ // Used by content_layouttest_support to hook into the creation of
+ // RenderFrameImpls.
+ static void InstallCreateHook(
+ RenderFrameImpl* (*create_render_frame_impl)(RenderViewImpl*, int32));
+
+ virtual ~RenderFrameImpl();
+
+ // IPC::Sender
+ virtual bool Send(IPC::Message* msg) OVERRIDE;
+
+ // IPC::Listener
+ virtual bool OnMessageReceived(const IPC::Message& msg) OVERRIDE;
+
+ // WebKit::WebFrameClient implementation -------------------------------------
+ virtual WebKit::WebPlugin* createPlugin(
+ WebKit::WebFrame* frame,
+ const WebKit::WebPluginParams& params);
+ virtual WebKit::WebSharedWorker* createSharedWorker(
+ WebKit::WebFrame* frame,
+ const WebKit::WebURL& url,
+ const WebKit::WebString& name,
+ unsigned long long document_id);
+ virtual WebKit::WebMediaPlayer* createMediaPlayer(
+ WebKit::WebFrame* frame,
+ const WebKit::WebURL& url,
+ WebKit::WebMediaPlayerClient* client);
+ virtual WebKit::WebApplicationCacheHost* createApplicationCacheHost(
+ WebKit::WebFrame* frame,
+ WebKit::WebApplicationCacheHostClient* client);
+ virtual WebKit::WebCookieJar* cookieJar(WebKit::WebFrame* frame);
+ virtual void didAccessInitialDocument(WebKit::WebFrame* frame);
+ virtual void didCreateFrame(WebKit::WebFrame* parent,
+ WebKit::WebFrame* child);
+ virtual void didDisownOpener(WebKit::WebFrame* frame);
+ virtual void frameDetached(WebKit::WebFrame* frame);
+ virtual void willClose(WebKit::WebFrame* frame);
+ virtual void didChangeName(WebKit::WebFrame* frame,
+ const WebKit::WebString& name);
+ virtual void loadURLExternally(WebKit::WebFrame* frame,
+ const WebKit::WebURLRequest& request,
+ WebKit::WebNavigationPolicy policy);
+ virtual void loadURLExternally(
+ WebKit::WebFrame* frame,
+ const WebKit::WebURLRequest& request,
+ WebKit::WebNavigationPolicy policy,
+ const WebKit::WebString& suggested_name);
+ virtual WebKit::WebNavigationPolicy decidePolicyForNavigation(
+ WebKit::WebFrame* frame,
+ const WebKit::WebURLRequest& request,
+ WebKit::WebNavigationType type,
+ WebKit::WebNavigationPolicy default_policy,
+ bool is_redirect);
+ virtual void willSendSubmitEvent(WebKit::WebFrame* frame,
+ const WebKit::WebFormElement& form);
+ virtual void willSubmitForm(WebKit::WebFrame* frame,
+ const WebKit::WebFormElement& form);
+ virtual void didCreateDataSource(WebKit::WebFrame* frame,
+ WebKit::WebDataSource* datasource);
+ virtual void didStartProvisionalLoad(WebKit::WebFrame* frame);
+ virtual void didReceiveServerRedirectForProvisionalLoad(
+ WebKit::WebFrame* frame);
+ virtual void didFailProvisionalLoad(
+ WebKit::WebFrame* frame,
+ const WebKit::WebURLError& error);
+ virtual void didCommitProvisionalLoad(WebKit::WebFrame* frame,
+ bool is_new_navigation);
+ virtual void didClearWindowObject(WebKit::WebFrame* frame);
+ virtual void didCreateDocumentElement(WebKit::WebFrame* frame);
+ virtual void didReceiveTitle(WebKit::WebFrame* frame,
+ const WebKit::WebString& title,
+ WebKit::WebTextDirection direction);
+ virtual void didChangeIcon(WebKit::WebFrame* frame,
+ WebKit::WebIconURL::Type icon_type);
+ virtual void didFinishDocumentLoad(WebKit::WebFrame* frame);
+ virtual void didHandleOnloadEvents(WebKit::WebFrame* frame);
+ virtual void didFailLoad(WebKit::WebFrame* frame,
+ const WebKit::WebURLError& error);
+ virtual void didFinishLoad(WebKit::WebFrame* frame);
+ virtual void didNavigateWithinPage(WebKit::WebFrame* frame,
+ bool is_new_navigation);
+ virtual void didUpdateCurrentHistoryItem(WebKit::WebFrame* frame);
+ virtual void willRequestAfterPreconnect(WebKit::WebFrame* frame,
+ WebKit::WebURLRequest& request);
+ virtual void willSendRequest(
+ WebKit::WebFrame* frame,
+ unsigned identifier,
+ WebKit::WebURLRequest& request,
+ const WebKit::WebURLResponse& redirect_response);
+ virtual void didReceiveResponse(
+ WebKit::WebFrame* frame,
+ unsigned identifier,
+ const WebKit::WebURLResponse& response);
+ virtual void didFinishResourceLoad(WebKit::WebFrame* frame,
+ unsigned identifier);
+ virtual void didLoadResourceFromMemoryCache(
+ WebKit::WebFrame* frame,
+ const WebKit::WebURLRequest& request,
+ const WebKit::WebURLResponse& response);
+ virtual void didDisplayInsecureContent(WebKit::WebFrame* frame);
+ virtual void didRunInsecureContent(WebKit::WebFrame* frame,
+ const WebKit::WebSecurityOrigin& origin,
+ const WebKit::WebURL& target);
+ virtual void didExhaustMemoryAvailableForScript(
+ WebKit::WebFrame* frame);
+ virtual void didCreateScriptContext(WebKit::WebFrame* frame,
+ v8::Handle<v8::Context> context,
+ int extension_group,
+ int world_id);
+ virtual void willReleaseScriptContext(WebKit::WebFrame* frame,
+ v8::Handle<v8::Context> context,
+ int world_id);
+ virtual void didFirstVisuallyNonEmptyLayout(WebKit::WebFrame* frame);
+ virtual void didChangeContentsSize(WebKit::WebFrame* frame,
+ const WebKit::WebSize& size);
+ virtual void didChangeScrollOffset(WebKit::WebFrame* frame);
+ virtual void willInsertBody(WebKit::WebFrame* frame);
+ virtual void reportFindInPageMatchCount(int request_id,
+ int count,
+ bool final_update);
+ virtual void reportFindInPageSelection(int request_id,
+ int active_match_ordinal,
+ const WebKit::WebRect& sel);
+ virtual void openFileSystem(
+ WebKit::WebFrame* frame,
+ WebKit::WebFileSystemType type,
+ long long size,
+ bool create,
+ WebKit::WebFileSystemCallbacks* callbacks);
+ virtual void deleteFileSystem(
+ WebKit::WebFrame* frame,
+ WebKit::WebFileSystemType type,
+ WebKit::WebFileSystemCallbacks* callbacks);
+ virtual void requestStorageQuota(
+ WebKit::WebFrame* frame,
+ WebKit::WebStorageQuotaType type,
+ unsigned long long requested_size,
+ WebKit::WebStorageQuotaCallbacks* callbacks);
+ virtual void willOpenSocketStream(
+ WebKit::WebSocketStreamHandle* handle);
+ virtual void willStartUsingPeerConnectionHandler(
+ WebKit::WebFrame* frame,
+ WebKit::WebRTCPeerConnectionHandler* handler);
+ virtual bool willCheckAndDispatchMessageEvent(
+ WebKit::WebFrame* sourceFrame,
+ WebKit::WebFrame* targetFrame,
+ WebKit::WebSecurityOrigin targetOrigin,
+ WebKit::WebDOMMessageEvent event);
+ virtual WebKit::WebString userAgentOverride(
+ WebKit::WebFrame* frame,
+ const WebKit::WebURL& url);
+ virtual WebKit::WebString doNotTrackValue(WebKit::WebFrame* frame);
+ virtual bool allowWebGL(WebKit::WebFrame* frame, bool default_value);
+ virtual void didLoseWebGLContext(WebKit::WebFrame* frame,
+ int arb_robustness_status_code);
+
+ // RenderFrameImpl methods
+ int GetRoutingID() const;
+
+ protected:
+ RenderFrameImpl(RenderViewImpl* render_view, int32 routing_id);
+
+ private:
+ RenderViewImpl* render_view_;
+ int routing_id_;
+
+ DISALLOW_COPY_AND_ASSIGN(RenderFrameImpl);
+};
+
+} // namespace content
+
+#endif // CONTENT_RENDERER_RENDER_FRAME_IMPL_H_