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

Side by Side Diff: content/browser/renderer_host/render_process_host_impl.h

Issue 2387603003: Resume a backgrounded renderer that was purged and suspended (Closed)
Patch Set: Rebaselined Created 4 years, 2 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
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_BROWSER_RENDERER_HOST_RENDER_PROCESS_HOST_IMPL_H_ 5 #ifndef CONTENT_BROWSER_RENDERER_HOST_RENDER_PROCESS_HOST_IMPL_H_
6 #define CONTENT_BROWSER_RENDERER_HOST_RENDER_PROCESS_HOST_IMPL_H_ 6 #define CONTENT_BROWSER_RENDERER_HOST_RENDER_PROCESS_HOST_IMPL_H_
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 10
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
167 override; 167 override;
168 const base::TimeTicks& GetInitTimeForNavigationMetrics() const override; 168 const base::TimeTicks& GetInitTimeForNavigationMetrics() const override;
169 bool IsProcessBackgrounded() const override; 169 bool IsProcessBackgrounded() const override;
170 void IncrementServiceWorkerRefCount() override; 170 void IncrementServiceWorkerRefCount() override;
171 void DecrementServiceWorkerRefCount() override; 171 void DecrementServiceWorkerRefCount() override;
172 void IncrementSharedWorkerRefCount() override; 172 void IncrementSharedWorkerRefCount() override;
173 void DecrementSharedWorkerRefCount() override; 173 void DecrementSharedWorkerRefCount() override;
174 void ForceReleaseWorkerRefCounts() override; 174 void ForceReleaseWorkerRefCounts() override;
175 bool IsWorkerRefCountDisabled() override; 175 bool IsWorkerRefCountDisabled() override;
176 void PurgeAndSuspend() override; 176 void PurgeAndSuspend() override;
177 void Resume() override;
178 const base::TimeTicks& GetLastPurgedAndSuspendedTime() const override;
179 const base::TimeTicks& GetLastResumedInBackgroundTime() const override;
177 mojom::Renderer* GetRendererInterface() override; 180 mojom::Renderer* GetRendererInterface() override;
178 181
179 mojom::RouteProvider* GetRemoteRouteProvider(); 182 mojom::RouteProvider* GetRemoteRouteProvider();
180 183
181 // IPC::Sender via RenderProcessHost. 184 // IPC::Sender via RenderProcessHost.
182 bool Send(IPC::Message* msg) override; 185 bool Send(IPC::Message* msg) override;
183 186
184 // IPC::Listener via RenderProcessHost. 187 // IPC::Listener via RenderProcessHost.
185 bool OnMessageReceived(const IPC::Message& msg) override; 188 bool OnMessageReceived(const IPC::Message& msg) override;
186 void OnChannelConnected(int32_t peer_pid) override; 189 void OnChannelConnected(int32_t peer_pid) override;
(...skipping 274 matching lines...) Expand 10 before | Expand all | Expand 10 after
461 // True after Init() has been called. 464 // True after Init() has been called.
462 bool is_initialized_ = false; 465 bool is_initialized_ = false;
463 466
464 // True after ProcessDied(), until the next call to Init(). 467 // True after ProcessDied(), until the next call to Init().
465 bool is_dead_ = false; 468 bool is_dead_ = false;
466 469
467 // PlzNavigate 470 // PlzNavigate
468 // Stores the time at which the first call to Init happened. 471 // Stores the time at which the first call to Init happened.
469 base::TimeTicks init_time_; 472 base::TimeTicks init_time_;
470 473
474 // The last time when the renderer is purged and suspended.
475 base::TimeTicks last_purged_and_suspended_time_;
476
477 // The last time when the renderer is resumed in the background.
478 base::TimeTicks last_resumed_in_background_time_;
479
471 // Used to launch and terminate the process without blocking the UI thread. 480 // Used to launch and terminate the process without blocking the UI thread.
472 std::unique_ptr<ChildProcessLauncher> child_process_launcher_; 481 std::unique_ptr<ChildProcessLauncher> child_process_launcher_;
473 482
474 // The globally-unique identifier for this RPH. 483 // The globally-unique identifier for this RPH.
475 const int id_; 484 const int id_;
476 485
477 // A secondary ID used by the Service Manager to distinguish different 486 // A secondary ID used by the Service Manager to distinguish different
478 // incarnations of the same RPH from each other. Unlike |id_| this is not 487 // incarnations of the same RPH from each other. Unlike |id_| this is not
479 // globally unique, but it is guaranteed to change every time ProcessDied() is 488 // globally unique, but it is guaranteed to change every time ProcessDied() is
480 // called. 489 // called.
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
586 instance_weak_factory_; 595 instance_weak_factory_;
587 596
588 base::WeakPtrFactory<RenderProcessHostImpl> weak_factory_; 597 base::WeakPtrFactory<RenderProcessHostImpl> weak_factory_;
589 598
590 DISALLOW_COPY_AND_ASSIGN(RenderProcessHostImpl); 599 DISALLOW_COPY_AND_ASSIGN(RenderProcessHostImpl);
591 }; 600 };
592 601
593 } // namespace content 602 } // namespace content
594 603
595 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_PROCESS_HOST_IMPL_H_ 604 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_PROCESS_HOST_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698