[Subresource Filter] Add content settings-based adjustment to WebLayer
This CL incorporates Chrome's adjustment of subresource filter page activation decisions based on content settings within WebLayer. To do so, we have the shared SubresourceFilterSafeBrowsingActivationThrottle directly invoke the logic in question rather than having ChromeSubresourceFilterClient do so. That change necessitates some others, also made in this CL: - WebLayer brings up ProfileInteractionManager. - SubresourceFilterClient provides an accessor for ProfileInteractionManager. - SubresourceFilterSafeBrowsingActivationThrottle calls the adjustment logic via a new Delegate interface rather than doing so via SubresourceFilterClient. This interface is implemented by ProfileInteractionManager in production while allowing for porting of tests that provide custom (or nil) stub logic. We also add browsertests of this interaction in //weblayer. Note that this CL does not do any incorporation of the relevant *UI* for content/site settings of ad blocking in WebLayer; that will be followup work. This CL is a reland. The original CL was reverted as the introduced tests were flaky. I have since debugged the source of the flake; the fix is contained in the diff between PS1 and PS2. It turned out to be a pre-existing problem in //weblayer's subresource_filter_browsertest.cc that the new tests simply tickled: I was holding the TestRulesetCreator in a local variable and sending the temporary files that it creates to renderer processes, but it destroys those temporary files when it is destroyed. D'oh! Bug: 1116095 Change-Id: I25f5dca647761f652c9d5a2dfc41db1a4d7712b5 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2622215 Auto-Submit: Colin Blundell <blundell@chromium.org> Reviewed-by:Charlie Harrison <csharrison@chromium.org> Commit-Queue: Colin Blundell <blundell@chromium.org> Cr-Commit-Position: refs/heads/master@{#842429}
Showing
Please register or sign in to comment