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

Side by Side Diff: content/public/android/java/src/org/chromium/content/browser/BindingManager.java

Issue 2828793002: Refactoring ChildProcessConnection. (Closed)
Patch Set: More test fixing. Created 3 years, 7 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 package org.chromium.content.browser; 5 package org.chromium.content.browser;
6 6
7 import android.content.Context; 7 import android.content.Context;
8 8
9 /** 9 /**
10 * Manages oom bindings used to bound child services. "Oom binding" is a binding that raises the 10 * Manages oom bindings used to bound child services. "Oom binding" is a binding that raises the
(...skipping 14 matching lines...) Expand all
25 * background 25 * background
26 * 26 *
27 * Thread-safety: most of the methods will be called only on the main thread, ex ceptions are 27 * Thread-safety: most of the methods will be called only on the main thread, ex ceptions are
28 * explicitly noted. 28 * explicitly noted.
29 */ 29 */
30 public interface BindingManager { 30 public interface BindingManager {
31 /** 31 /**
32 * Registers a freshly started child process. This can be called on any thre ad. 32 * Registers a freshly started child process. This can be called on any thre ad.
33 * @param pid handle of the service process 33 * @param pid handle of the service process
34 */ 34 */
35 void addNewConnection(int pid, ChildProcessConnection connection); 35 void addNewConnection(int pid, ManagedChildProcessConnection connection);
36 36
37 /** 37 /**
38 * Called when the service visibility changes or is determined for the first time. On low-memory 38 * Called when the service visibility changes or is determined for the first time. On low-memory
39 * devices this will also drop the oom bindings of the last process that was oom-bound if a new 39 * devices this will also drop the oom bindings of the last process that was oom-bound if a new
40 * process is used in foreground. 40 * process is used in foreground.
41 * @param pid handle of the service process 41 * @param pid handle of the service process
42 * @param inForeground true iff the service is visibile to the user 42 * @param inForeground true iff the service is visibile to the user
43 */ 43 */
44 void setInForeground(int pid, boolean inForeground); 44 void setInForeground(int pid, boolean inForeground);
45 45
(...skipping 17 matching lines...) Expand all
63 63
64 /** 64 /**
65 * Called when the embedding application is brought to foreground. This will drop the strong 65 * Called when the embedding application is brought to foreground. This will drop the strong
66 * binding kept on the main renderer during the background period, so the em bedder should make 66 * binding kept on the main renderer during the background period, so the em bedder should make
67 * sure that this is called after the regular strong binding is attached for the foreground 67 * sure that this is called after the regular strong binding is attached for the foreground
68 * session. 68 * session.
69 */ 69 */
70 void onBroughtToForeground(); 70 void onBroughtToForeground();
71 71
72 /** 72 /**
73 * @return True iff the given service process is protected from the out-of-m emory killing, or it
74 * was protected when it died unexpectedly. This can be used to decide if a disconnection of a
75 * renderer was a crash or a probable out-of-memory kill. This can be called on any thread.
76 */
77 boolean isOomProtected(int pid);
78
79 /**
80 * Should be called when the connection to the child process goes away (eith er after a clean 73 * Should be called when the connection to the child process goes away (eith er after a clean
81 * exit or an unexpected crash). At this point we let go of the reference to the 74 * exit or an unexpected crash). At this point we let go of the reference to the
82 * ChildProcessConnection. This can be called on any thread. 75 * ChildProcessConnection. This can be called on any thread.
83 */ 76 */
84 void clearConnection(int pid); 77 void removeConnection(int pid);
85 78
86 /** 79 /**
87 * Starts moderate binding management. 80 * Starts moderate binding management.
88 * Please see https://goo.gl/tl9MQm for details. 81 * Please see https://goo.gl/tl9MQm for details.
89 */ 82 */
90 void startModerateBindingManagement(Context context, int maxSize); 83 void startModerateBindingManagement(Context context, int maxSize);
91 84
92 /** 85 /**
93 * Releases all moderate bindings. 86 * Releases all moderate bindings.
94 */ 87 */
95 void releaseAllModerateBindings(); 88 void releaseAllModerateBindings();
96 } 89 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698