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

Side by Side Diff: content/public/test/mock_render_thread.h

Issue 82033002: Always create FrameTreeNodes and RenderFrameHosts for every frame. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix two bugs with slow/crashed renderers; add tests Created 7 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
OLDNEW
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"
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
91 } 91 }
92 92
93 bool has_widget() const { 93 bool has_widget() const {
94 return (widget_ != NULL); 94 return (widget_ != NULL);
95 } 95 }
96 96
97 void set_new_window_routing_id(int32 id) { 97 void set_new_window_routing_id(int32 id) {
98 new_window_routing_id_ = id; 98 new_window_routing_id_ = id;
99 } 99 }
100 100
101 void set_new_frame_routing_id(int32 id) {
102 new_frame_routing_id_ = id;
103 }
104
101 // Simulates the Widget receiving a close message. This should result 105 // Simulates the Widget receiving a close message. This should result
102 // on releasing the internal reference counts and destroying the internal 106 // on releasing the internal reference counts and destroying the internal
103 // state. 107 // state.
104 void SendCloseMessage(); 108 void SendCloseMessage();
105 109
106 protected: 110 protected:
107 // This function operates as a regular IPC listener. Subclasses 111 // This function operates as a regular IPC listener. Subclasses
108 // overriding this should first delegate to this implementation. 112 // overriding this should first delegate to this implementation.
109 virtual bool OnMessageReceived(const IPC::Message& msg); 113 virtual bool OnMessageReceived(const IPC::Message& msg);
110 114
111 // Dispatches control messages to observers. 115 // Dispatches control messages to observers.
112 bool OnControlMessageReceived(const IPC::Message& msg); 116 bool OnControlMessageReceived(const IPC::Message& msg);
113 117
114 // The Widget expects to be returned valid route_id. 118 // The Widget expects to be returned valid route_id.
115 void OnCreateWidget(int opener_id, 119 void OnCreateWidget(int opener_id,
116 blink::WebPopupType popup_type, 120 blink::WebPopupType popup_type,
117 int* route_id, 121 int* route_id,
118 int* surface_id); 122 int* surface_id);
119 123
120 // The View expects to be returned a valid route_id different from its own. 124 // The View expects to be returned a valid route_id different from its own.
121 // We do not keep track of the newly created widget in MockRenderThread, 125 // We do not keep track of the newly created widget in MockRenderThread,
122 // so it must be cleaned up on its own. 126 // so it must be cleaned up on its own.
123 void OnCreateWindow( 127 void OnCreateWindow(
124 const ViewHostMsg_CreateWindow_Params& params, 128 const ViewHostMsg_CreateWindow_Params& params,
125 int* route_id, 129 int* route_id,
126 int* main_frame_route_id, 130 int* main_frame_route_id,
127 int* surface_id, 131 int* surface_id,
128 int64* cloned_session_storage_namespace_id); 132 int64* cloned_session_storage_namespace_id);
129 133
134 // The Frame expects to be returned a valid route_id different from its own.
135 void OnCreateChildFrame(int new_frame_routing_id,
136 int64 parent_frame_id,
137 int64 frame_id,
138 const std::string& frame_name,
139 int* new_render_frame_id);
140
130 #if defined(OS_WIN) 141 #if defined(OS_WIN)
131 void OnDuplicateSection(base::SharedMemoryHandle renderer_handle, 142 void OnDuplicateSection(base::SharedMemoryHandle renderer_handle,
132 base::SharedMemoryHandle* browser_handle); 143 base::SharedMemoryHandle* browser_handle);
133 #endif 144 #endif
134 145
135 IPC::TestSink sink_; 146 IPC::TestSink sink_;
136 147
137 // Routing id what will be assigned to the Widget. 148 // Routing id what will be assigned to the Widget.
138 int32 routing_id_; 149 int32 routing_id_;
139 150
140 // Surface id what will be assigned to the Widget. 151 // Surface id what will be assigned to the Widget.
141 int32 surface_id_; 152 int32 surface_id_;
142 153
143 // Opener id reported by the Widget. 154 // Opener id reported by the Widget.
144 int32 opener_id_; 155 int32 opener_id_;
145 156
146 // We only keep track of one Widget, we learn its pointer when it 157 // We only keep track of one Widget, we learn its pointer when it
147 // adds a new route. We do not keep track of Widgets created with 158 // adds a new route. We do not keep track of Widgets created with
148 // OnCreateWindow. 159 // OnCreateWindow.
149 IPC::Listener* widget_; 160 IPC::Listener* widget_;
150 161
151 // Routing id that will be assigned to a CreateWindow Widget. 162 // Routing id that will be assigned to a CreateWindow Widget.
152 int32 new_window_routing_id_; 163 int32 new_window_routing_id_;
153 int32 new_window_main_frame_routing_id_; 164 int32 new_window_main_frame_routing_id_;
165 int32 new_frame_routing_id_;
154 166
155 // The last known good deserializer for sync messages. 167 // The last known good deserializer for sync messages.
156 scoped_ptr<IPC::MessageReplyDeserializer> reply_deserializer_; 168 scoped_ptr<IPC::MessageReplyDeserializer> reply_deserializer_;
157 169
158 // A list of message filters added to this thread. 170 // A list of message filters added to this thread.
159 std::vector<scoped_refptr<IPC::ChannelProxy::MessageFilter> > filters_; 171 std::vector<scoped_refptr<IPC::ChannelProxy::MessageFilter> > filters_;
160 172
161 // Observers to notify. 173 // Observers to notify.
162 ObserverList<RenderProcessObserver> observers_; 174 ObserverList<RenderProcessObserver> observers_;
163 }; 175 };
164 176
165 } // namespace content 177 } // namespace content
166 178
167 #endif // CONTENT_PUBLIC_TEST_MOCK_RENDER_THREAD_H_ 179 #endif // CONTENT_PUBLIC_TEST_MOCK_RENDER_THREAD_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698