Loading mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoSession.java +8 −1 Original line number Diff line number Diff line Loading @@ -5837,12 +5837,19 @@ public class GeckoSession { return super.confirm(); } private static String normalizePath(String input) { // For an unclear reason, Android media picker delivers file paths // starting with double slash. Firefox performs path validation on // all paths, and double slash is deemed invalid. return input.startsWith("//") ? input.substring(1) : input; } private static String getFile(final @NonNull Context context, final @NonNull Uri uri) { if (uri == null) { return null; } if ("file".equals(uri.getScheme())) { return uri.getPath(); return normalizePath(uri.getPath()); } if ("content".equals(uri.getScheme())) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N && DocumentsContract.isTreeUri(uri)) { Loading Loading
mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoSession.java +8 −1 Original line number Diff line number Diff line Loading @@ -5837,12 +5837,19 @@ public class GeckoSession { return super.confirm(); } private static String normalizePath(String input) { // For an unclear reason, Android media picker delivers file paths // starting with double slash. Firefox performs path validation on // all paths, and double slash is deemed invalid. return input.startsWith("//") ? input.substring(1) : input; } private static String getFile(final @NonNull Context context, final @NonNull Uri uri) { if (uri == null) { return null; } if ("file".equals(uri.getScheme())) { return uri.getPath(); return normalizePath(uri.getPath()); } if ("content".equals(uri.getScheme())) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N && DocumentsContract.isTreeUri(uri)) { Loading