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

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: Add Resume 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 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
172 int cdm_id) const override; 172 int cdm_id) const override;
173 #endif 173 #endif
174 bool IsProcessBackgrounded() const override; 174 bool IsProcessBackgrounded() const override;
175 void IncrementServiceWorkerRefCount() override; 175 void IncrementServiceWorkerRefCount() override;
176 void DecrementServiceWorkerRefCount() override; 176 void DecrementServiceWorkerRefCount() override;
177 void IncrementSharedWorkerRefCount() override; 177 void IncrementSharedWorkerRefCount() override;
178 void DecrementSharedWorkerRefCount() override; 178 void DecrementSharedWorkerRefCount() override;
179 void ForceReleaseWorkerRefCounts() override; 179 void ForceReleaseWorkerRefCounts() override;
180 bool IsWorkerRefCountDisabled() override; 180 bool IsWorkerRefCountDisabled() override;
181 void PurgeAndSuspend() override; 181 void PurgeAndSuspend() override;
182 void Resume() override;
183 const base::TimeTicks& GetLastPurgedAndSuspendedTime() const override;
184 const base::TimeTicks& GetLastResumedTime() const override;
182 185
183 mojom::RouteProvider* GetRemoteRouteProvider(); 186 mojom::RouteProvider* GetRemoteRouteProvider();
184 187
185 // IPC::Sender via RenderProcessHost. 188 // IPC::Sender via RenderProcessHost.
186 bool Send(IPC::Message* msg) override; 189 bool Send(IPC::Message* msg) override;
187 190
188 // IPC::Listener via RenderProcessHost. 191 // IPC::Listener via RenderProcessHost.
189 bool OnMessageReceived(const IPC::Message& msg) override; 192 bool OnMessageReceived(const IPC::Message& msg) override;
190 void OnChannelConnected(int32_t peer_pid) override; 193 void OnChannelConnected(int32_t peer_pid) override;
191 void OnChannelError() override; 194 void OnChannelError() override;
(...skipping 278 matching lines...) Expand 10 before | Expand all | Expand 10 after
470 std::unique_ptr<base::Thread> in_process_renderer_; 473 std::unique_ptr<base::Thread> in_process_renderer_;
471 474
472 // True after Init() has been called. We can't just check channel_ because we 475 // True after Init() has been called. We can't just check channel_ because we
473 // also reset that in the case of process termination. 476 // also reset that in the case of process termination.
474 bool is_initialized_; 477 bool is_initialized_;
475 478
476 // PlzNavigate 479 // PlzNavigate
477 // Stores the time at which the first call to Init happened. 480 // Stores the time at which the first call to Init happened.
478 base::TimeTicks init_time_; 481 base::TimeTicks init_time_;
479 482
483 // The last time when the renderer is purged and suspended.
484 base::TimeTicks last_purged_and_suspended_time_;
485
486 // The last time when the renderer is resumed from suspended.
487 base::TimeTicks last_resumed_time_;
488
480 // Used to launch and terminate the process without blocking the UI thread. 489 // Used to launch and terminate the process without blocking the UI thread.
481 std::unique_ptr<ChildProcessLauncher> child_process_launcher_; 490 std::unique_ptr<ChildProcessLauncher> child_process_launcher_;
482 491
483 // Messages we queue before the ChannelProxy is created. 492 // Messages we queue before the ChannelProxy is created.
484 using MessageQueue = std::queue<std::unique_ptr<IPC::Message>>; 493 using MessageQueue = std::queue<std::unique_ptr<IPC::Message>>;
485 MessageQueue queued_messages_; 494 MessageQueue queued_messages_;
486 495
487 // The globally-unique identifier for this RPH. 496 // The globally-unique identifier for this RPH.
488 const int id_; 497 const int id_;
489 498
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
591 instance_weak_factory_; 600 instance_weak_factory_;
592 601
593 base::WeakPtrFactory<RenderProcessHostImpl> weak_factory_; 602 base::WeakPtrFactory<RenderProcessHostImpl> weak_factory_;
594 603
595 DISALLOW_COPY_AND_ASSIGN(RenderProcessHostImpl); 604 DISALLOW_COPY_AND_ASSIGN(RenderProcessHostImpl);
596 }; 605 };
597 606
598 } // namespace content 607 } // namespace content
599 608
600 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_PROCESS_HOST_IMPL_H_ 609 #endif // CONTENT_BROWSER_RENDERER_HOST_RENDER_PROCESS_HOST_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698