summaryrefslogtreecommitdiff
path: root/core/java/android/webkit/JavascriptInterface.java
diff options
context:
space:
mode:
authorSelim Gurun <sgurun@google.com>2012-09-04 16:45:53 -0700
committerSelim Gurun <sgurun@google.com>2012-09-10 16:43:35 -0700
commit94740e6c333a109be7516abbd17dd418f23b4f0c (patch)
tree28b5da2f4614cb4d33695074018c1dc31313133e /core/java/android/webkit/JavascriptInterface.java
parentbdf8fa0c1b762d82b056fa8d929ceaff47ae241b (diff)
Control access to inherited methods of jsinterface objects
Bug: 7073422 Create the plumbing to use an annotation to allow access to inherited methods of jsinterface objects. The default webview behavior has not changed yet. However internally an a flag is introduced to restrict javascript access to methods that have an annotation. Change-Id: I41927248e6bc4b09d17c0707c60fe5e6ab681e66
Diffstat (limited to 'core/java/android/webkit/JavascriptInterface.java')
-rw-r--r--core/java/android/webkit/JavascriptInterface.java36
1 files changed, 36 insertions, 0 deletions
diff --git a/core/java/android/webkit/JavascriptInterface.java b/core/java/android/webkit/JavascriptInterface.java
new file mode 100644
index 000000000000..3f1ed129b6c5
--- /dev/null
+++ b/core/java/android/webkit/JavascriptInterface.java
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2012 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;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Annotation that allows exposing methods to JavaScript. Starting from API level
+ * {@link android.os.Build.VERSION_CODES#JELLY_BEAN_MR1} and above, only methods explicitly
+ * marked with this annotation are available to the Javascript code. See
+ * {@link android.webkit.Webview#addJavaScriptInterface} for more information about it.
+ *
+ * @hide
+ */
+@SuppressWarnings("javadoc")
+@Retention(RetentionPolicy.RUNTIME)
+@Target({ElementType.METHOD})
+public @interface JavascriptInterface {
+} \ No newline at end of file