OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CONTENT_PUBLIC_TEST_MOCK_RENDER_THREAD_H_ | 5 #ifndef CONTENT_PUBLIC_TEST_MOCK_RENDER_THREAD_H_ |
6 #define CONTENT_PUBLIC_TEST_MOCK_RENDER_THREAD_H_ | 6 #define CONTENT_PUBLIC_TEST_MOCK_RENDER_THREAD_H_ |
7 | 7 |
8 #include "base/memory/shared_memory.h" | 8 #include "base/memory/shared_memory.h" |
9 #include "base/observer_list.h" | 9 #include "base/observer_list.h" |
10 #include "base/strings/string16.h" | 10 #include "base/strings/string16.h" |
11 #include "cc/test/test_shared_bitmap_manager.h" | 11 #include "cc/test/test_shared_bitmap_manager.h" |
12 #include "content/public/renderer/render_thread.h" | 12 #include "content/public/renderer/render_thread.h" |
13 #include "ipc/ipc_test_sink.h" | 13 #include "ipc/ipc_test_sink.h" |
14 #include "ipc/message_filter.h" | 14 #include "ipc/message_filter.h" |
15 #include "third_party/WebKit/public/web/WebPopupType.h" | 15 #include "third_party/WebKit/public/web/WebPopupType.h" |
16 | 16 |
17 struct ViewHostMsg_CreateWindow_Params; | 17 struct ViewHostMsg_CreateWindow_Params; |
| 18 struct ViewHostMsg_CreateWindow_Reply; |
18 | 19 |
19 namespace IPC { | 20 namespace IPC { |
20 class MessageFilter; | 21 class MessageFilter; |
21 class MessageReplyDeserializer; | 22 class MessageReplyDeserializer; |
22 } | 23 } |
23 | 24 |
24 namespace blink { | 25 namespace blink { |
25 enum class WebSandboxFlags; | 26 enum class WebSandboxFlags; |
26 enum class WebTreeScopeType; | 27 enum class WebTreeScopeType; |
27 } | 28 } |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
91 } | 92 } |
92 | 93 |
93 int32 opener_id() const { | 94 int32 opener_id() const { |
94 return opener_id_; | 95 return opener_id_; |
95 } | 96 } |
96 | 97 |
97 void set_new_window_routing_id(int32 id) { | 98 void set_new_window_routing_id(int32 id) { |
98 new_window_routing_id_ = id; | 99 new_window_routing_id_ = id; |
99 } | 100 } |
100 | 101 |
| 102 void set_new_window_main_frame_widget_routing_id(int32 id) { |
| 103 new_window_main_frame_widget_routing_id_ = id; |
| 104 } |
| 105 |
101 void set_new_frame_routing_id(int32 id) { | 106 void set_new_frame_routing_id(int32 id) { |
102 new_frame_routing_id_ = id; | 107 new_frame_routing_id_ = id; |
103 } | 108 } |
104 | 109 |
105 // Simulates the Widget receiving a close message. This should result | 110 // Simulates the Widget receiving a close message. This should result |
106 // on releasing the internal reference counts and destroying the internal | 111 // on releasing the internal reference counts and destroying the internal |
107 // state. | 112 // state. |
108 void SendCloseMessage(); | 113 void SendCloseMessage(); |
109 | 114 |
110 // Dispatches control messages to observers. | 115 // Dispatches control messages to observers. |
111 bool OnControlMessageReceived(const IPC::Message& msg); | 116 bool OnControlMessageReceived(const IPC::Message& msg); |
112 | 117 |
113 base::ObserverList<RenderProcessObserver>& observers() { return observers_; } | 118 base::ObserverList<RenderProcessObserver>& observers() { return observers_; } |
114 | 119 |
115 protected: | 120 protected: |
116 // This function operates as a regular IPC listener. Subclasses | 121 // This function operates as a regular IPC listener. Subclasses |
117 // overriding this should first delegate to this implementation. | 122 // overriding this should first delegate to this implementation. |
118 virtual bool OnMessageReceived(const IPC::Message& msg); | 123 virtual bool OnMessageReceived(const IPC::Message& msg); |
119 | 124 |
120 // The Widget expects to be returned valid route_id. | 125 // The Widget expects to be returned valid route_id. |
121 void OnCreateWidget(int opener_id, | 126 void OnCreateWidget(int opener_id, |
122 blink::WebPopupType popup_type, | 127 blink::WebPopupType popup_type, |
123 int* route_id, | 128 int* route_id, |
124 int* surface_id); | 129 int* surface_id); |
125 | 130 |
126 // The View expects to be returned a valid route_id different from its own. | 131 // The View expects to be returned a valid |reply.route_id| different from its |
127 // We do not keep track of the newly created widget in MockRenderThread, | 132 // own. We do not keep track of the newly created widget in MockRenderThread, |
128 // so it must be cleaned up on its own. | 133 // so it must be cleaned up on its own. |
129 void OnCreateWindow( | 134 void OnCreateWindow(const ViewHostMsg_CreateWindow_Params& params, |
130 const ViewHostMsg_CreateWindow_Params& params, | 135 ViewHostMsg_CreateWindow_Reply* reply); |
131 int* route_id, | |
132 int* main_frame_route_id, | |
133 int* surface_id, | |
134 int64* cloned_session_storage_namespace_id); | |
135 | 136 |
136 // The Frame expects to be returned a valid route_id different from its own. | 137 // The Frame expects to be returned a valid route_id different from its own. |
137 void OnCreateChildFrame(int new_frame_routing_id, | 138 void OnCreateChildFrame(int new_frame_routing_id, |
138 blink::WebTreeScopeType scope, | 139 blink::WebTreeScopeType scope, |
139 const std::string& frame_name, | 140 const std::string& frame_name, |
140 blink::WebSandboxFlags sandbox_flags, | 141 blink::WebSandboxFlags sandbox_flags, |
141 int* new_render_frame_id); | 142 int* new_render_frame_id); |
142 | 143 |
143 #if defined(OS_WIN) | 144 #if defined(OS_WIN) |
144 void OnDuplicateSection(base::SharedMemoryHandle renderer_handle, | 145 void OnDuplicateSection(base::SharedMemoryHandle renderer_handle, |
145 base::SharedMemoryHandle* browser_handle); | 146 base::SharedMemoryHandle* browser_handle); |
146 #endif | 147 #endif |
147 | 148 |
148 IPC::TestSink sink_; | 149 IPC::TestSink sink_; |
149 | 150 |
150 // Routing id what will be assigned to the Widget. | 151 // Routing id what will be assigned to the Widget. |
151 int32 routing_id_; | 152 int32 routing_id_; |
152 | 153 |
153 // Surface id what will be assigned to the Widget. | 154 // Surface id what will be assigned to the Widget. |
154 int32 surface_id_; | 155 int32 surface_id_; |
155 | 156 |
156 // Opener id reported by the Widget. | 157 // Opener id reported by the Widget. |
157 int32 opener_id_; | 158 int32 opener_id_; |
158 | 159 |
159 // Routing id that will be assigned to a CreateWindow Widget. | 160 // Routing id that will be assigned to a CreateWindow Widget. |
160 int32 new_window_routing_id_; | 161 int32 new_window_routing_id_; |
161 int32 new_window_main_frame_routing_id_; | 162 int32 new_window_main_frame_routing_id_; |
| 163 int32 new_window_main_frame_widget_routing_id_; |
162 int32 new_frame_routing_id_; | 164 int32 new_frame_routing_id_; |
163 | 165 |
164 // The last known good deserializer for sync messages. | 166 // The last known good deserializer for sync messages. |
165 scoped_ptr<IPC::MessageReplyDeserializer> reply_deserializer_; | 167 scoped_ptr<IPC::MessageReplyDeserializer> reply_deserializer_; |
166 | 168 |
167 // A list of message filters added to this thread. | 169 // A list of message filters added to this thread. |
168 std::vector<scoped_refptr<IPC::MessageFilter> > filters_; | 170 std::vector<scoped_refptr<IPC::MessageFilter> > filters_; |
169 | 171 |
170 // Observers to notify. | 172 // Observers to notify. |
171 base::ObserverList<RenderProcessObserver> observers_; | 173 base::ObserverList<RenderProcessObserver> observers_; |
172 | 174 |
173 cc::TestSharedBitmapManager shared_bitmap_manager_; | 175 cc::TestSharedBitmapManager shared_bitmap_manager_; |
174 }; | 176 }; |
175 | 177 |
176 } // namespace content | 178 } // namespace content |
177 | 179 |
178 #endif // CONTENT_PUBLIC_TEST_MOCK_RENDER_THREAD_H_ | 180 #endif // CONTENT_PUBLIC_TEST_MOCK_RENDER_THREAD_H_ |
OLD | NEW |