Code-Review | +0 |
elklm, please take the first look at this revised prototype, thanks!
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Code-Review | +1 |
Thank you, lgtm
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Auto-Submit | +1 |
Commit-Queue | +1 |
Thanks elklm. Other owners, please review the updated descriptor shape:
mkwst: shell_permission_manager.cc, permission.mojom, runtime_enabled_features.json5
boliu: aw_permission_manager.cc, browser_handler.cc
caseq: browser_protocol.pdl
Thanks!
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
if (descriptor->GetAllowWithoutGesture(false)) {
Is there a point in requiring this dance on part of the client? Can we just imply `allowWithoutGesture: false` here, or is 'allowWithoutGesture: true` coming in the future?
"Fullscreen Permission only supports allowWithoutGesture:true");
That's the opposite of what you're actually checking though.
# For "fullscreen" permission, may specify allowWithoutGesture.
Looks more like "must" on the implementation side to me ;-)
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Auto-Submit | +0 |
Commit-Queue | +1 |
Moving caseq to CC and asking mkwst to also review browser_protocol.pdl.
Thanks for unchecking CQ+2, boliu! mkwst should re-review before landing.
caseq: thanks for the prompt review, please take another look or ping me to chat, thanks.
if (descriptor->GetAllowWithoutGesture(false)) {
Is there a point in requiring this dance on part of the client? Can we just imply `allowWithoutGesture: false` here, or is 'allowWithoutGesture: true` coming in the future?
`allowWithoutGesture: true` is the only supported descriptor for now.
"Fullscreen Permission only supports allowWithoutGesture:true");
That's the opposite of what you're actually checking though.
Sorry, can you clarify? The intent here is to get the caller-specified `allowWithoutGesture`, with a `false` default value, even though `false` is not supported. i.e. the caller must specify `allowWithoutGesture: true`.
# For "fullscreen" permission, may specify allowWithoutGesture.
Looks more like "must" on the implementation side to me ;-)
Indeed, the false default value is not supported for now. I can update the comment if appropriate.
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
"Fullscreen Permission only supports allowWithoutGesture:true");
Mike WassermanThat's the opposite of what you're actually checking though.
Sorry, can you clarify? The intent here is to get the caller-specified `allowWithoutGesture`, with a `false` default value, even though `false` is not supported. i.e. the caller must specify `allowWithoutGesture: true`.
The intent sounds good, however `descriptor->GetAllowWithoutGesture(false)` will return true in case `allowWithoutGesture: true` is specified, and you appear to return an error just in this case.
Which convenient brings us to the subject of test coverage for this code ;-)
"Fullscreen Permission only supports allowWithoutGesture:true");
Mike WassermanThat's the opposite of what you're actually checking though.
Andrey KosyakovSorry, can you clarify? The intent here is to get the caller-specified `allowWithoutGesture`, with a `false` default value, even though `false` is not supported. i.e. the caller must specify `allowWithoutGesture: true`.
The intent sounds good, however `descriptor->GetAllowWithoutGesture(false)` will return true in case `allowWithoutGesture: true` is specified, and you appear to return an error just in this case.
Which convenient brings us to the subject of test coverage for this code ;-)
*conveniently
Commit-Queue | +1 |
caseq: please take another look, thanks!
"Fullscreen Permission only supports allowWithoutGesture:true");
Mike WassermanThat's the opposite of what you're actually checking though.
Andrey KosyakovSorry, can you clarify? The intent here is to get the caller-specified `allowWithoutGesture`, with a `false` default value, even though `false` is not supported. i.e. the caller must specify `allowWithoutGesture: true`.
Andrey KosyakovThe intent sounds good, however `descriptor->GetAllowWithoutGesture(false)` will return true in case `allowWithoutGesture: true` is specified, and you appear to return an error just in this case.
Which convenient brings us to the subject of test coverage for this code ;-)
*conveniently
Good catch! I fixed the inverted check, added browser-set-permission.js coverage, and added a WPT, although test_driver.set_permission apparently does not exercise this codepath. Please take another look and lmk if you recommend following any other test coverage patterns for this new permission descriptor, thanks.
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Code-Review | +1 |
Thanks, devtools/ lgtm!
# For "fullscreen" permission, may specify allowWithoutGesture.
Mike WassermanLooks more like "must" on the implementation side to me ;-)
Indeed, the false default value is not supported for now. I can update the comment if appropriate.
Yep, let's document that this is required for this permission.
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Thanks, caseq! Owners, please take another look (I think your CR+1s were reset?):
elklm: overall (just minor diffs since your PS19 CR+1 was reset).
boliu: aw_permission_manager.cc
mkwst: shell_permission_manager.cc, permission.mojom, runtime_enabled_features.json5
Thanks everyone!
Mike WassermanIs there a point in requiring this dance on part of the client? Can we just imply `allowWithoutGesture: false` here, or is 'allowWithoutGesture: true` coming in the future?
`allowWithoutGesture: true` is the only supported descriptor for now.
Acknowledged
"Fullscreen Permission only supports allowWithoutGesture:true");
Mike WassermanThat's the opposite of what you're actually checking though.
Andrey KosyakovSorry, can you clarify? The intent here is to get the caller-specified `allowWithoutGesture`, with a `false` default value, even though `false` is not supported. i.e. the caller must specify `allowWithoutGesture: true`.
Andrey KosyakovThe intent sounds good, however `descriptor->GetAllowWithoutGesture(false)` will return true in case `allowWithoutGesture: true` is specified, and you appear to return an error just in this case.
Which convenient brings us to the subject of test coverage for this code ;-)
Mike Wasserman*conveniently
Good catch! I fixed the inverted check, added browser-set-permission.js coverage, and added a WPT, although test_driver.set_permission apparently does not exercise this codepath. Please take another look and lmk if you recommend following any other test coverage patterns for this new permission descriptor, thanks.
Acknowledged
# For "fullscreen" permission, may specify allowWithoutGesture.
Mike WassermanLooks more like "must" on the implementation side to me ;-)
Andrey KosyakovIndeed, the false default value is not supported for now. I can update the comment if appropriate.
Yep, let's document that this is required for this permission.
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Thanks, caseq! Owners, please take another look (I think your CR+1s were reset?):
elklm: overall (just minor diffs since your PS19 CR+1 was reset).
boliu: aw_permission_manager.cc
mkwst: shell_permission_manager.cc, permission.mojom, runtime_enabled_features.json5
Thanks everyone!
TIL Code-Owners state isn't cleared when CR+1s are reset.
I'm satisfied with just mkwst's re-review; removing others from attention set.
Exportable changes to web-platform-tests were detected in this CL and a pull request in the upstream repo has been made: https://github.com/web-platform-tests/wpt/pull/46804.
When this CL lands, the bot will automatically merge the PR on GitHub if the required GitHub checks pass; otherwise, ecosystem-infra@ team will triage the failures and may contact you.
WPT Export docs:
https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md#Automatic-export-process
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
I'll defer to Elias on the shape of the permissions integration. The implementation of that shape in mojo, //content/shell, and //third_party/blink LGTM.
Automatic Fullscreen: Prototype Permissions API query support
Add navigator.permissions.query support for a new descriptor:
{name:'fullscreen', allowWithoutGesture:true}
Gate on RunTimeEnabledFeature AutomaticFullscreenPermissionsQuery.
Enhances feature detection and debuggability, per guidance:
https://groups.google.com/a/chromium.org/g/blink-dev/c/WOch5LPq9RY
Yield `TypeError` for allowWithoutGesture:false, like unknown names.
Descriptor supports potential future fullscreen permission iteration.
http://doc/1ojUXRUcciyjxAgXOuTZoYREzI4Xp_dUd9NiFlYJxMew
Associate permission with `fullscreen` permissions policy feature.
(yield 'denied' for frames without `fullscreen` permissions policy)
Add interactive_ui_tests, tentative WPT, and inspector-protocol tests.
Refine supporting test functionality.
https://chromestatus.com/feature/6218822004768768
https://github.com/explainers-by-googlers/html-fullscreen-without-a-gesture
http://go/automatic-fullscreen-content-setting
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
The WPT PR for this CL has been merged upstream! https://github.com/web-platform-tests/wpt/pull/46804
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |