Mark non-native Autofill browsers as unsupported on Oreo (#1370)
Android Oreo lacks the Autofill compatibility mode for browsers, which means that browsers without explicit Android support will not trigger Autofill events on web sites.
This commit is contained in:
parent
cf5f0eae3a
commit
474770c5e3
1 changed files with 7 additions and 1 deletions
|
@ -48,7 +48,6 @@ import androidx.annotation.RequiresApi
|
||||||
check whether it correctly distinguishes web origins even if iframes are present on the page.
|
check whether it correctly distinguishes web origins even if iframes are present on the page.
|
||||||
You can use https://fabianhenneke.github.io/Android-Password-Store/ as a test form.
|
You can use https://fabianhenneke.github.io/Android-Password-Store/ as a test form.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* **Security assumption**: Browsers on this list correctly report the web origin of the top-level
|
* **Security assumption**: Browsers on this list correctly report the web origin of the top-level
|
||||||
* window as part of their AssistStructure.
|
* window as part of their AssistStructure.
|
||||||
|
@ -208,7 +207,14 @@ private fun getBrowserAutofillSupportLevel(context: Context, appPackage: String)
|
||||||
browserInfo.multiOriginMethod == BrowserMultiOriginMethod.None -> BrowserAutofillSupportLevel.PasswordFill
|
browserInfo.multiOriginMethod == BrowserMultiOriginMethod.None -> BrowserAutofillSupportLevel.PasswordFill
|
||||||
browserInfo.saveFlags == null -> BrowserAutofillSupportLevel.GeneralFill
|
browserInfo.saveFlags == null -> BrowserAutofillSupportLevel.GeneralFill
|
||||||
else -> BrowserAutofillSupportLevel.GeneralFillAndSave
|
else -> BrowserAutofillSupportLevel.GeneralFillAndSave
|
||||||
|
}.takeUnless { supportLevel ->
|
||||||
|
// On Android Oreo, only browsers with native Autofill support can be used with Password Store
|
||||||
|
// (compatibility mode is only available on Android Pie and higher). Since all known browsers
|
||||||
|
// with native Autofill support offer full save support as well, we reuse the list of those
|
||||||
|
// browsers here.
|
||||||
|
supportLevel != BrowserAutofillSupportLevel.GeneralFillAndSave && Build.VERSION.SDK_INT < Build.VERSION_CODES.P
|
||||||
}
|
}
|
||||||
|
?: BrowserAutofillSupportLevel.None
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequiresApi(Build.VERSION_CODES.O)
|
@RequiresApi(Build.VERSION_CODES.O)
|
||||||
|
|
Loading…
Reference in a new issue