New issue
Advanced search Search tips

Issue 782015 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2018
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Chrome , Mac
Pri: 2
Type: Bug
Proj-Servicification

Blocking:
issue 598073



Sign in to add a comment

Support extension content verification with Network Service enabled

Project Member Reported by roc...@chromium.org, Nov 6 2017

Issue description

The machinery in place to support extension content verification is fairly tightly coupled to the old network stack. In order to unblock other work, extension resource loading will be initially supported on the Network Service path *without* content verification enabled.

This needs to work before we can ship network service, but it is essentially a leaf node.
 
Blocking: 598073

Comment 2 by laforge@google.com, Nov 7 2017

Components: Internals>Network>Service

Comment 3 by laforge@google.com, Nov 7 2017

Components: -Internals>Network>Service
Apologies, applied the wrong component in bulk.
Test failures that should be fixed with Network Service enabled once this bug is resolved:

ContentVerifierTest.DotSlashPaths
ContentVerifierTest.FailOnDone
ContentVerifierTest.FailOnRead

The gist is pretty simple: we need to be able to create a ContentVerifyJob (old stack does it here https://cs.chromium.org/chromium/src/extensions/browser/extension_protocols.cc?rcl=347637a52653723220d64c10b567d22b7c0074e8&l=566) and feed it extension resource data as it's loaded. All that machinery expects to run on the IO thread though, and Network Service loading of extension resources is intentionally on the main thread.

Shouldn't need to be much else done, as a side-effect of a failed ContentVerifyJob  is for the extension to be disabled. i.e., we don't need to influence the outcome of the network request.
Also the new extension loading codepath hasn't landed yet, but it end up in ExtensionURLLoaderFactory within the same file (extension_protocols.cc).
Owner: cmumford@chromium.org
Status: Started (was: Assigned)
Project Member

Comment 7 by bugdroid1@chromium.org, Jan 3 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b5df8ef2b8668cabf9d8be28fe3073760867f017

commit b5df8ef2b8668cabf9d8be28fe3073760867f017
Author: Chris Mumford <cmumford@chromium.org>
Date: Wed Jan 03 19:36:05 2018

Add extension content verification in Network Service.

Bug:  782015 
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_mojo
Change-Id: I877446e14fb53d0c6c0ea73b5eda8399821668fc
Reviewed-on: https://chromium-review.googlesource.com/801235
Reviewed-by: Ken Rockot <rockot@chromium.org>
Reviewed-by: John Abd-El-Malek <jam@chromium.org>
Commit-Queue: Chris Mumford <cmumford@chromium.org>
Cr-Commit-Position: refs/heads/master@{#526770}
[modify] https://crrev.com/b5df8ef2b8668cabf9d8be28fe3073760867f017/chrome/browser/chrome_content_browser_client.cc
[modify] https://crrev.com/b5df8ef2b8668cabf9d8be28fe3073760867f017/content/browser/file_url_loader_factory.cc
[modify] https://crrev.com/b5df8ef2b8668cabf9d8be28fe3073760867f017/content/public/browser/file_url_loader.h
[modify] https://crrev.com/b5df8ef2b8668cabf9d8be28fe3073760867f017/extensions/browser/content_verify_job.cc
[modify] https://crrev.com/b5df8ef2b8668cabf9d8be28fe3073760867f017/extensions/browser/content_verify_job.h
[modify] https://crrev.com/b5df8ef2b8668cabf9d8be28fe3073760867f017/extensions/browser/extension_protocols.cc
[modify] https://crrev.com/b5df8ef2b8668cabf9d8be28fe3073760867f017/mojo/public/cpp/system/file_data_pipe_producer.cc
[modify] https://crrev.com/b5df8ef2b8668cabf9d8be28fe3073760867f017/mojo/public/cpp/system/file_data_pipe_producer.h
[modify] https://crrev.com/b5df8ef2b8668cabf9d8be28fe3073760867f017/mojo/public/cpp/system/tests/file_data_pipe_producer_unittest.cc
[modify] https://crrev.com/b5df8ef2b8668cabf9d8be28fe3073760867f017/testing/buildbot/filters/mojo.fyi.network_browser_tests.filter

Status: Fixed (was: Started)

Sign in to add a comment