| Index: content/public/android/java/src/org/chromium/content/browser/BindingManager.java
|
| diff --git a/content/public/android/java/src/org/chromium/content/browser/BindingManager.java b/content/public/android/java/src/org/chromium/content/browser/BindingManager.java
|
| deleted file mode 100644
|
| index 3f38056f6e2d28af35cde28a9d10a20faf5e7066..0000000000000000000000000000000000000000
|
| --- a/content/public/android/java/src/org/chromium/content/browser/BindingManager.java
|
| +++ /dev/null
|
| @@ -1,89 +0,0 @@
|
| -// Copyright 2013 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -package org.chromium.content.browser;
|
| -
|
| -import android.content.Context;
|
| -
|
| -/**
|
| - * Manages oom bindings used to bound child services. "Oom binding" is a binding that raises the
|
| - * process oom priority so that it shouldn't be killed by the OS out-of-memory killer under
|
| - * normal conditions (it can still be killed under drastic memory pressure). ChildProcessConnections
|
| - * have two oom bindings: initial binding and strong binding.
|
| - *
|
| - * BindingManager receives calls that signal status of each service (setInForeground(),
|
| - * determinedVisibility()) and the entire embedding application (onSentToBackground(),
|
| - * onBroughtToForeground()) and manipulates child process bindings accordingly.
|
| - *
|
| - * In particular, BindingManager is responsible for:
|
| - * - adding and removing the strong binding as service visibility changes (setInForeground())
|
| - * - removing the initial binding of a service when we can start to rely on the visibility signal /
|
| - * strong binding exclusively (after determinedVisibility())
|
| - * - dropping the current oom bindings when a new connection is started on a low-memory device
|
| - * - keeping a strong binding on the foreground service while the entire application is in
|
| - * background
|
| - *
|
| - * Thread-safety: most of the methods will be called only on the main thread, exceptions are
|
| - * explicitly noted.
|
| - */
|
| -public interface BindingManager {
|
| - /**
|
| - * Registers a freshly started child process. This can be called on any thread.
|
| - * @param pid handle of the service process
|
| - */
|
| - void addNewConnection(int pid, ManagedChildProcessConnection connection);
|
| -
|
| - /**
|
| - * Called when the service visibility changes or is determined for the first time. On low-memory
|
| - * devices this will also drop the oom bindings of the last process that was oom-bound if a new
|
| - * process is used in foreground.
|
| - * @param pid handle of the service process
|
| - * @param inForeground true iff the service is visibile to the user
|
| - */
|
| - void setInForeground(int pid, boolean inForeground);
|
| -
|
| - /**
|
| - * Called when we can begin to rely on the visibility signal only and remove the initial
|
| - * binding. It's safe to call it multiple times, only the first call matters.
|
| - * @param pid handle of the service process
|
| - */
|
| - void onDeterminedVisibility(int pid);
|
| -
|
| - /**
|
| - * Called when the embedding application is sent to background. We want to maintain a strong
|
| - * binding on the most recently used renderer while the embedder is in background, to indicate
|
| - * the relative importance of the renderer to system oom killer.
|
| - *
|
| - * The embedder needs to ensure that:
|
| - * - every onBroughtToForeground() is followed by onSentToBackground()
|
| - * - pairs of consecutive onBroughtToForeground() / onSentToBackground() calls do not overlap
|
| - */
|
| - void onSentToBackground();
|
| -
|
| - /**
|
| - * Called when the embedding application is brought to foreground. This will drop the strong
|
| - * binding kept on the main renderer during the background period, so the embedder should make
|
| - * sure that this is called after the regular strong binding is attached for the foreground
|
| - * session.
|
| - */
|
| - void onBroughtToForeground();
|
| -
|
| - /**
|
| - * Should be called when the connection to the child process goes away (either after a clean
|
| - * exit or an unexpected crash). At this point we let go of the reference to the
|
| - * ChildProcessConnection. This can be called on any thread.
|
| - */
|
| - void removeConnection(int pid);
|
| -
|
| - /**
|
| - * Starts moderate binding management.
|
| - * Please see https://goo.gl/tl9MQm for details.
|
| - */
|
| - void startModerateBindingManagement(Context context, int maxSize);
|
| -
|
| - /**
|
| - * Releases all moderate bindings.
|
| - */
|
| - void releaseAllModerateBindings();
|
| -}
|
|
|