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

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

Issue 141533006: [Android] Move the java content/ package to content_public/ to start the split. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Small fixes and findbugs line update 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 side-by-side diff with in-line comments
Download patch
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 01e0bfabb1506dcb6a7a631dc961a9477339a09f..0000000000000000000000000000000000000000
--- a/content/public/android/java/src/org/chromium/content/browser/BindingManager.java
+++ /dev/null
@@ -1,76 +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;
-
-/**
- * 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 visibility of each service (setInForeground()) and the
- * entire embedding application (onSentToBackground(), onBroughtToForeground()) and manipulates
- * child process bindings accordingly.
- *
- * In particular, BindingManager is responsible for:
- * - removing the initial binding of a service when its visibility is determined for the first time
- * - addition and (possibly delayed) removal of a strong binding when service visibility changes
- * - 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. On low-memory devices this will also drop the
- * oom bindings of the last process that was oom-bound. We can do that, because every time a
- * connection is created on the low-end, it is used in foreground (no prerendering, no
- * loading of tabs opened in background). This can be called on any thread.
- * @param pid handle of the service process
- */
- void addNewConnection(int pid, ChildProcessConnection connection);
-
- /**
- * Called when the service visibility changes or is determined for the first time.
- * @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 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();
-
- /**
- * @return True iff the given service process is protected from the out-of-memory killing, or it
- * was protected when it died unexpectedly. This can be used to decide if a disconnection of a
- * renderer was a crash or a probable out-of-memory kill. This can be called on any thread.
- */
- boolean isOomProtected(int pid);
-
- /**
- * 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 clearConnection(int pid);
-}

Powered by Google App Engine
This is Rietveld 408576698