summaryrefslogtreecommitdiff
path: root/core/java/android/webkit/WebViewRenderProcess.java
diff options
context:
space:
mode:
authorTobias Sargeant <tobiasjs@google.com>2019-03-07 21:29:31 +0000
committerToby Sargeant <tobiasjs@google.com>2019-03-11 15:03:03 +0000
commit39b68efcc3c37600b4742a23ce8460bc58347e61 (patch)
tree4d7ec621f05f92d3322f2acb51da664c1aee096f /core/java/android/webkit/WebViewRenderProcess.java
parent707b4655d1cdf205d49f7cc3cfa79ade0d8d36ee (diff)
[webview] rename unresponsive renderer APIs
Followup from API council review: * Rename Renderer to RenderProcess for consistency with existing APIs. * Make WebViewRenderProcess constructor public. * Document 5 second minimum interval between successive callbacks. Bug: 124767616 Bug: 123629980 Test: atest 'CtsWebkitTestCases' Change-Id: I4416a97e8bb449c4a14a3617ef72a49c92aa3a83
Diffstat (limited to 'core/java/android/webkit/WebViewRenderProcess.java')
-rw-r--r--core/java/android/webkit/WebViewRenderProcess.java41
1 files changed, 41 insertions, 0 deletions
diff --git a/core/java/android/webkit/WebViewRenderProcess.java b/core/java/android/webkit/WebViewRenderProcess.java
new file mode 100644
index 000000000000..1be2210baa68
--- /dev/null
+++ b/core/java/android/webkit/WebViewRenderProcess.java
@@ -0,0 +1,41 @@
+/*
+ * Copyright 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.webkit;
+
+/**
+ * WebViewRenderProcess provides an opaque handle to a {@link WebView} renderer.
+ */
+public abstract class WebViewRenderProcess {
+ /**
+ * Cause this renderer to terminate.
+ *
+ * <p>Calling this on a not yet started, or an already terminated renderer will have no effect.
+ *
+ * <p>Terminating a renderer process may have an effect on multiple {@link WebView} instances.
+ *
+ * <p>Renderer termination must be handled by properly overriding
+ * {@link WebViewClient#onRenderProcessGone} for every WebView that shares this
+ * renderer. If termination is not handled by all associated WebViews, then the application
+ * process will also be terminated.
+ *
+ * @return {@code true} if it was possible to terminate this renderer, {@code false} otherwise.
+ */
+ public abstract boolean terminate();
+
+ public WebViewRenderProcess() {
+ }
+}