-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Update Webview Android JS builtins added version #25886
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here's the output of npm run diff
:
javascript.builtins.Array:
→ support.webview_android.version_added is edited ("≤37" → "≤4")
javascript.builtins.Array.Array:
→ support.webview_android.version_added is edited ("≤37" → "≤4")
javascript.builtins.Array.every:
→ support.webview_android.version_added is edited ("≤37" → "≤4")
javascript.builtins.Array.filter:
→ support.webview_android.version_added is edited ("≤37" → "≤4")
javascript.builtins.Array.forEach:
→ support.webview_android.version_added is edited ("≤37" → "≤4")
javascript.builtins.Array.indexOf:
→ support.webview_android.version_added is edited ("≤37" → "≤4")
javascript.builtins.Array.lastIndexOf:
→ support.webview_android.version_added is edited ("≤37" → "≤4")
javascript.builtins.Array.map:
→ support.webview_android.version_added is edited ("≤37" → "≤4")
javascript.builtins.Array.reduce:
→ support.webview_android.version_added is edited ("≤37" → "≤4")
javascript.builtins.Array.reduceRight:
→ support.webview_android.version_added is edited ("≤37" → "≤4")
javascript.builtins.Array.some:
→ support.webview_android.version_added is edited ("≤37" → "≤4")
javascript.builtins.Array.toLocaleString:
→ support.webview_android.version_added is edited ("≤37" → "≤4")
javascript.builtins.Array.toString:
→ support.webview_android.version_added is edited ("≤37" → "≤4")
javascript.builtins.Object:
→ support.webview_android is edited ({"version_added":"4.4"} → {"version_added":"≤4"}) - No longer mirrors
javascript.builtins.Object.create:
→ support.webview_android is edited ({"version_added":"4.4"} → {"version_added":"≤4"}) - No longer mirrors
javascript.builtins.Object.defineProperties:
→ support.webview_android is edited ({"version_added":"4.4"} → {"version_added":"≤4"}) - No longer mirrors
javascript.builtins.Object.defineProperty:
→ support.webview_android is edited ({"version_added":"4.4"} → {"version_added":"≤4"}) - No longer mirrors
javascript.builtins.Object.freeze:
→ support.webview_android is edited ({"version_added":"4.4"} → {"version_added":"≤4"}) - No longer mirrors
javascript.builtins.Object.getOwnPropertyDescriptor:
→ support.webview_android is edited ({"version_added":"4.4"} → {"version_added":"≤4"}) - No longer mirrors
javascript.builtins.Object.getOwnPropertyNames:
→ support.webview_android is edited ({"version_added":"4.4"} → {"version_added":"≤4"}) - No longer mirrors
javascript.builtins.Object.getPrototypeOf:
→ support.webview_android is edited ({"version_added":"4.4"} → {"version_added":"≤4"}) - No longer mirrors
javascript.builtins.Object.is:
→ support.webview_android is edited ({"version_added":"4.4"} → {"version_added":"≤4"}) - No longer mirrors
javascript.builtins.Object.isExtensible:
→ support.webview_android is edited ({"version_added":"4.4"} → {"version_added":"≤4"}) - No longer mirrors
javascript.builtins.Object.isFrozen:
→ support.webview_android is edited ({"version_added":"4.4"} → {"version_added":"≤4"}) - No longer mirrors
javascript.builtins.Object.keys:
→ support.webview_android is edited ({"version_added":"4.4"} → {"version_added":"≤4"}) - No longer mirrors
javascript.builtins.Object.preventExtensions:
→ support.webview_android is edited ({"version_added":"4.4"} → {"version_added":"≤4"}) - No longer mirrors
javascript.builtins.Object.seal:
→ support.webview_android is edited ({"version_added":"4.4"} → {"version_added":"≤4"}) - No longer mirrors
javascript.builtins.String:
→ support.webview_android is edited ({"version_added":"4.4"} → {"version_added":"≤4"}) - No longer mirrors
javascript.builtins.String.trim:
→ support.webview_android.version_added is edited ("≤37" → "≤4")
I'm not too excited about the changes away from "mirror". I don't think WebView Android shipped things earlier than Chrome here. So, this might suggest that the chrome
versions could be set to earlier in these cases.
Perhaps my test results were influenced by device provider. In fact, Android 4 might not support some ES5 features as well as Chrome. So I reverted some changes based on the relevant information. |
Summary
This PR updates JavaScript builtins support version of Webview Android. Most changes are changing
≤37
ormirror
to≤4
.Test results and supporting details
I wrote a simple tool to determine if the value is
undefined
to check if the browser supports this feature (only implemented 3 checks so far). Which is available at SessionHu/check-js-feat.Then I run the server on my another device and open the page on the old Android 4.2 TV with an browser which using Android System Webview.
Here is the result photo (UserAgent on the top, support features in green background, unsupport in red. And I cannot take screenshot on that device):
here 3 photos shot on phone camera
Although the system version is
4.2.1
instead of4
according to thenavigator.userAgent
and System Settings. I believe it has the same behavior as 4. Because I did not find Android Webview 4.2 release in /browsers/webview_android.json.I also do some other tests on that device. But test code were already removed before this PR opened.
Related issues
Not fond yet