DescriptionSafeBrowsing support for WebSocket (post-network-servicification)
Add WebsocketSBHandshakeThrottle, an implementation of
blink::WebSocketHandshakeThrottle that performs safe browsing checks.
WebSocket handshakes are performed in parallel with the SafeBrowsing
check. The result of the handshake will not be exposed to Javascript before
the SafeBrowsing check passes. While an interstitial is displayed the
WebSocket connection will remain in this pending state. If the connection is
blocked then the WebSocket connection will be closed. Javascript will be
notified of a connection error (without a specific reason) and the fact that
the connection was blocked by SafeBrowsing will be logged to the console.
This implementation requires the network service to be enabled. This means
passing the --enable-network-service flag to chrome and browser_tests. The
unit tests (which are compiled into the unit_tests binary) do not require
the flag.
See the design doc at
https://docs.google.com/document/d/1iR3XMIQukqlXb6ajIHE91apHZAxyF_wvRoB5JGeJYPs/edit#heading=h.1r0zq3g29n7m
BUG=644744
Review-Url: https://codereview.chromium.org/2952583002
Cr-Commit-Position: refs/heads/master@{#482897}
Committed: https://chromium.googlesource.com/chromium/src/+/4ce57e66544e783efe1ae05548c2e00e0fd0ebed
Patch Set 1 #Patch Set 2 : Fix compile error and a couple of nits #Patch Set 3 : Fix compile on Windows #
Total comments: 10
Patch Set 4 : Share SafeBrowsing interface pointer, and misc fixes #
Total comments: 8
Patch Set 5 : Remove no-op std::move #Patch Set 6 : Add V4SafeBrowsingServiceTest browser tests #Patch Set 7 : Revert change to WebSocketHandshakeThrottle.h #
Total comments: 2
Patch Set 8 : Early-exit from tests if network service disabled #Patch Set 9 : Move check of flag into *ContentRendererClient #Patch Set 10 : Fix header files for move of service lookup #
Total comments: 4
Patch Set 11 : Remove useless DCHECKs #Messages
Total messages: 71 (39 generated)
|