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

Side by Side Diff: content/public/browser/render_process_host.h

Issue 88503002: Have the unload event execute in background on cross-site navigations (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase + addressed some of Nasko's comments Created 6 years, 11 months 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_BROWSER_RENDER_PROCESS_HOST_H_ 5 #ifndef CONTENT_PUBLIC_BROWSER_RENDER_PROCESS_HOST_H_
6 #define CONTENT_PUBLIC_BROWSER_RENDER_PROCESS_HOST_H_ 6 #define CONTENT_PUBLIC_BROWSER_RENDER_PROCESS_HOST_H_
7 7
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "base/id_map.h" 9 #include "base/id_map.h"
10 #include "base/process/kill.h" 10 #include "base/process/kill.h"
(...skipping 11 matching lines...) Expand all
22 namespace base { 22 namespace base {
23 class TimeDelta; 23 class TimeDelta;
24 } 24 }
25 25
26 namespace content { 26 namespace content {
27 class BrowserContext; 27 class BrowserContext;
28 class BrowserMessageFilter; 28 class BrowserMessageFilter;
29 class RenderProcessHostObserver; 29 class RenderProcessHostObserver;
30 class RenderWidgetHost; 30 class RenderWidgetHost;
31 class StoragePartition; 31 class StoragePartition;
32 struct GlobalRequestID;
32 33
33 typedef base::Thread* (*RendererMainThreadFactoryFunction)( 34 typedef base::Thread* (*RendererMainThreadFactoryFunction)(
34 const std::string& id); 35 const std::string& id);
35 36
36 // Interface that represents the browser side of the browser <-> renderer 37 // Interface that represents the browser side of the browser <-> renderer
37 // communication channel. There will generally be one RenderProcessHost per 38 // communication channel. There will generally be one RenderProcessHost per
38 // renderer process. 39 // renderer process.
39 class CONTENT_EXPORT RenderProcessHost : public IPC::Sender, 40 class CONTENT_EXPORT RenderProcessHost : public IPC::Sender,
40 public IPC::Listener, 41 public IPC::Listener,
41 public base::SupportsUserData { 42 public base::SupportsUserData {
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after
210 // Checks that the given renderer can request |url|, if not it sets it to 211 // Checks that the given renderer can request |url|, if not it sets it to
211 // about:blank. 212 // about:blank.
212 // |empty_allowed| must be set to false for navigations for security reasons. 213 // |empty_allowed| must be set to false for navigations for security reasons.
213 virtual void FilterURL(bool empty_allowed, GURL* url) = 0; 214 virtual void FilterURL(bool empty_allowed, GURL* url) = 0;
214 215
215 #if defined(ENABLE_WEBRTC) 216 #if defined(ENABLE_WEBRTC)
216 virtual void EnableAecDump(const base::FilePath& file) = 0; 217 virtual void EnableAecDump(const base::FilePath& file) = 0;
217 virtual void DisableAecDump() = 0; 218 virtual void DisableAecDump() = 0;
218 #endif 219 #endif
219 220
221 // Tells the ResourceDispatcherHost to resume a deferred navigation without
222 // transferring it to a new renderer process.
223 virtual void ResumeDeferredNavigation(const GlobalRequestID& request_id) = 0;
224
220 // Static management functions ----------------------------------------------- 225 // Static management functions -----------------------------------------------
221 226
222 // Flag to run the renderer in process. This is primarily 227 // Flag to run the renderer in process. This is primarily
223 // for debugging purposes. When running "in process", the 228 // for debugging purposes. When running "in process", the
224 // browser maintains a single RenderProcessHost which communicates 229 // browser maintains a single RenderProcessHost which communicates
225 // to a RenderProcess which is instantiated in the same process 230 // to a RenderProcess which is instantiated in the same process
226 // with the Browser. All IPC between the Browser and the 231 // with the Browser. All IPC between the Browser and the
227 // Renderer is the same, it's just not crossing a process boundary. 232 // Renderer is the same, it's just not crossing a process boundary.
228 233
229 static bool run_renderer_in_process(); 234 static bool run_renderer_in_process();
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
271 // module. 276 // module.
272 static size_t GetMaxRendererProcessCount(); 277 static size_t GetMaxRendererProcessCount();
273 278
274 static void RegisterRendererMainThreadFactory( 279 static void RegisterRendererMainThreadFactory(
275 RendererMainThreadFactoryFunction create); 280 RendererMainThreadFactoryFunction create);
276 }; 281 };
277 282
278 } // namespace content. 283 } // namespace content.
279 284
280 #endif // CONTENT_PUBLIC_BROWSER_RENDER_PROCESS_HOST_H_ 285 #endif // CONTENT_PUBLIC_BROWSER_RENDER_PROCESS_HOST_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698