Commit-Queue | +1 |
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Commit-Queue | +1 |
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Commit-Queue | +1 |
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Commit-Queue | +1 |
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Commit-Queue | +1 |
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Commit-Queue | +1 |
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Commit-Queue | +1 |
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Commit-Queue | +1 |
Hi Philip, Tom, and Dave, can you please review the relevant parts of this CL to add a Controlled Frame permissions policy and the relevant checks for that policy? Thank you.
pdr:
third_party/blink/public/devtools_protocol/browser_protocol.pdl
third_party/blink/public/web/web_local_frame.h
third_party/blink/renderer/core/frame/web_local_frame_impl.cc
third_party/blink/renderer/core/frame/web_local_frame_impl.h
third_party/blink/renderer/core/permissions_policy/permissions_policy_features.json5
third_party/blink/renderer/core/permissions_policy/permissions_policy_test.cc
third_party/blink/web_tests/VirtualTestSuites
tsepez:
third_party/blink/public/mojom/permissions_policy/permissions_policy_feature.mojom
dbertoni:
extensions/browser/browser_frame_context_data.cc
extensions/browser/browser_frame_context_data.h
extensions/browser/browser_process_context_data.cc
extensions/browser/browser_process_context_data.h
extensions/common/context_data.h
extensions/renderer/DEPS
extensions/renderer/renderer_context_data.cc
extensions/renderer/renderer_context_data.h
extensions/renderer/renderer_frame_context_data.cc
extensions/renderer/renderer_frame_context_data.h
extensions/renderer/script_context_set.cc
extensions/test/test_context_data.cc
extensions/test/test_context_data.h
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
// * |platformSpecific| determines the platform-filtering of features. Only
It seems wrong to have this in external/wpt if it is only used by wpt_internal tests. Should this be under wpt_internal/?
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
// * |platformSpecific| determines the platform-filtering of features. Only
It seems wrong to have this in external/wpt if it is only used by wpt_internal tests. Should this be under wpt_internal/?
I wasn't sure where to put this file. I've moved it into the same directory as the wpt_internal test.
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Commit-Queue | +1 |
Code-Review | +1 |
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Code-Review | +1 |
mojom LG
AddPermissionsPolicy(blink::mojom::PermissionsPolicyFeature::kControlledFrame,
Can you add this in the tests that need it instead of including it globally? cross-origin-isolated is only added because literally everything needs it.
Code-Review | +1 |
lgtm for extensions/*. Thanks!
CHECK(frame_);
Given the comment on line 22, can you verify this won't be tripped in tests?
Commit-Queue | +1 |
Thanks for reviews! I addressed the comment from Robbie in the latest patchset.
I'm looking into why the latest WPT test failure happened. That shouldn't happen so I'll investigate that.
AddPermissionsPolicy(blink::mojom::PermissionsPolicyFeature::kControlledFrame,
Can you add this in the tests that need it instead of including it globally? cross-origin-isolated is only added because literally everything needs it.
Okay, I moved this line to a more appropriate base class.
Given the comment on line 22, can you verify this won't be tripped in tests?
Yes, my analysis is that there are 2 production calls to HasControlledFrameCapability(): one in controlled_frame::AvailabilityCheck() and the other in ScriptContextSet::Register().
For ScriptContextSet::Register(), the HasControlledFrameCapability() usage happens only when an explicit RendererFrameContextData(frame) is created, so we can ignore that case. What's left is AvailabilityCheck(). And since the mock circumstance we're talking about is only in tests, we're only concerned about when a test in the extensions system calls through there directly or indirectly. Specifically the test will have to have used the extensions test's CreateScriptContext().
The AvailabilityCheck() call is tested dynamically in places like browser_tests. In those environments, the ScriptContext is real and uses a real WebLocalFrame. What's left to consider are unit tests where these are mocked out and tested and there aren't unit tests for AvailabilityCheck().
I examined addressing the issue in the extensions code so a mocked WebLocalFrame was provided. If that was fixed, we could use CHECK(frame_) throughout here and in the ctor. However, that looks like a bigger project than just adding this lone CHECK(frame_) for now.
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Commit-Queue | +1 |
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Code-Review | +1 |
Not sure why I'm an owner here, approving the test config change only
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
controlledframe: Add permissions policy
Controlled Frame is only available to IWAs and per our explainer
(https://github.com/WICG/controlled-frame) IWAs that intend to access
the API should request to use it via a permissions policy. This CL
adds that permissions policy, named "controlled-frame".
The new permissions policy is defined as a normal Blink permissions
policy and requires that the "ControlledFrame" runtime-enabled feature
is enabled. Finally, the permissions policy is only visible in an
isolated context, similar to other IWA APIs.
Since Controlled Frame is implemented as a wrapper around WebView, the
permissions policy check on both the renderer- and browser-sides is
in //extensions. The //extensions/renderer code to do this uses a
Blink public interface on WebLocalFrame. This CL modifies that class
to support checking IsFeatureEnabled() on the ExecutionContext object
it holds within Blink internal classes.
Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |