Add WebView permission MIDI sysex
Change-Id: I0d27e8ca48ee35b02dddc5d85ecfebfdaa3ec8cb
diff --git a/api/current.txt b/api/current.txt
index c277784..7d58bdb 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -38798,6 +38798,7 @@
method public abstract java.lang.String[] getResources();
method public abstract void grant(java.lang.String[]);
field public static final java.lang.String RESOURCE_AUDIO_CAPTURE = "android.webkit.resource.AUDIO_CAPTURE";
+ field public static final java.lang.String RESOURCE_MIDI_SYSEX = "android.webkit.resource.MIDI_SYSEX";
field public static final java.lang.String RESOURCE_PROTECTED_MEDIA_ID = "android.webkit.resource.PROTECTED_MEDIA_ID";
field public static final java.lang.String RESOURCE_VIDEO_CAPTURE = "android.webkit.resource.VIDEO_CAPTURE";
}
diff --git a/api/system-current.txt b/api/system-current.txt
index dd05c1b..2e2a23a 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -41131,6 +41131,7 @@
method public abstract java.lang.String[] getResources();
method public abstract void grant(java.lang.String[]);
field public static final java.lang.String RESOURCE_AUDIO_CAPTURE = "android.webkit.resource.AUDIO_CAPTURE";
+ field public static final java.lang.String RESOURCE_MIDI_SYSEX = "android.webkit.resource.MIDI_SYSEX";
field public static final java.lang.String RESOURCE_PROTECTED_MEDIA_ID = "android.webkit.resource.PROTECTED_MEDIA_ID";
field public static final java.lang.String RESOURCE_VIDEO_CAPTURE = "android.webkit.resource.VIDEO_CAPTURE";
}
diff --git a/core/java/android/webkit/PermissionRequest.java b/core/java/android/webkit/PermissionRequest.java
index 6ad639c..18ec334 100644
--- a/core/java/android/webkit/PermissionRequest.java
+++ b/core/java/android/webkit/PermissionRequest.java
@@ -26,6 +26,16 @@
*
* Either {@link #grant(String[]) grant()} or {@link #deny()} must be called in UI
* thread to respond to the request.
+ *
+ * New protected resources whose names are not defined here may be requested in
+ * future versions of WebView, even when running on an older Android release. To
+ * avoid unintentionally granting requests for new permissions, you should pass the
+ * specific permissions you intend to grant to {@link #grant(String[]) grant()},
+ * and avoid writing code like this example:
+ * <pre>
+ * permissionRequest.grant(permissionRequest.getResources()) // This is wrong!!!
+ * </pre>
+ * See the WebView's release notes for information about new protected resources.
*/
public abstract class PermissionRequest {
/**
@@ -43,6 +53,15 @@
*/
public final static String RESOURCE_PROTECTED_MEDIA_ID =
"android.webkit.resource.PROTECTED_MEDIA_ID";
+ /**
+ * Resource will allow sysex messages to be sent to or received from MIDI devices. These
+ * messages are privileged operations, e.g. modifying sound libraries and sampling data, or
+ * even updating the MIDI device's firmware.
+ *
+ * Permission may be requested for this resource in API levels 21 and above, if the Android
+ * device has been updated to WebView 45 or above.
+ */
+ public final static String RESOURCE_MIDI_SYSEX = "android.webkit.resource.MIDI_SYSEX";
/**
* Call this method to get the origin of the web page which is trying to access