Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / content / test / test_render_frame_host.h
1 // Copyright 2013 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 CONTENT_TEST_TEST_RENDER_FRAME_HOST_H_
6 #define CONTENT_TEST_TEST_RENDER_FRAME_HOST_H_
7
8 #include "base/basictypes.h"
9 #include "content/browser/frame_host/render_frame_host_impl.h"
10 #include "content/public/common/page_transition_types.h"
11
12 struct FrameHostMsg_DidCommitProvisionalLoad_Params;
13
14 namespace content {
15
16 class TestRenderFrameHost : public RenderFrameHostImpl {
17  public:
18   TestRenderFrameHost(RenderViewHostImpl* render_view_host,
19                       RenderFrameHostDelegate* delegate,
20                       FrameTree* frame_tree,
21                       FrameTreeNode* frame_tree_node,
22                       int routing_id,
23                       bool is_swapped_out);
24   virtual ~TestRenderFrameHost();
25
26   void SendNavigate(int page_id, const GURL& url);
27   void SendNavigateWithTransition(
28       int page_id,
29       const GURL& url,
30       PageTransition transition);
31   void SendFailedNavigate(int page_id, const GURL& url);
32   void SendNavigateWithTransitionAndResponseCode(
33       int page_id,
34       const GURL& url, PageTransition transition,
35       int response_code);
36   void SendNavigateWithOriginalRequestURL(
37       int page_id,
38       const GURL& url,
39       const GURL& original_request_url);
40   void SendNavigateWithFile(
41       int page_id,
42       const GURL& url,
43       const base::FilePath& file_path);
44   void SendNavigateWithParams(
45       FrameHostMsg_DidCommitProvisionalLoad_Params* params);
46   void SendNavigateWithParameters(
47       int page_id,
48       const GURL& url,
49       PageTransition transition,
50       const GURL& original_request_url,
51       int response_code,
52       const base::FilePath* file_path_for_history_item);
53
54   void set_contents_mime_type(const std::string& mime_type) {
55     contents_mime_type_ = mime_type;
56   }
57
58   // If set, navigations will appear to have cleared the history list in the
59   // RenderFrame
60   // (FrameHostMsg_DidCommitProvisionalLoad_Params::history_list_was_cleared).
61   // False by default.
62   void set_simulate_history_list_was_cleared(bool cleared) {
63     simulate_history_list_was_cleared_ = cleared;
64   }
65
66   // TODO(nick): As necessary for testing, override behavior of RenderFrameHost
67   // here.
68
69  private:
70   std::string contents_mime_type_;
71
72   // See set_simulate_history_list_was_cleared() above.
73   bool simulate_history_list_was_cleared_;
74
75   DISALLOW_COPY_AND_ASSIGN(TestRenderFrameHost);
76 };
77
78 }  // namespace content
79
80 #endif  // CONTENT_TEST_TEST_RENDER_FRAME_HOST_H_