New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 915966 link

Starred by 2 users

Issue metadata

Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Feature

Blocked on:
issue 909966



Sign in to add a comment

Add On The Fly MHTML Hash Computation

Project Member Reported by mtlieuu@chromium.org, Dec 18

Issue description

Feature description:
On-The-Fly MHTML Hash Computation is a feature aiming to compress the current three step process of computing a hash for an MHTML file into one step. The current process consists of downloading the MHTML file into a private directory, computing its digest, and moving the file into the public Downloads folder for the user to access. We want to change this to having the browser write the MHTML contents to the public folder directly, and compute the digest of the file as it is being downloaded. This removes the need for a relatively expensive move operation.

Eng owner: mtlieuu

Design doc: go/on-the-fly-mhtml-hash-computation

 
Labels: Pri-3 Type-Feature
Blockedon: 909966
Components: UI>Browser>Offline Blink>SavePage
Project Member

Comment 3 by bugdroid1@chromium.org, Jan 8

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

commit faa1b764f33d49cd498449adf731a4784a05dd96
Author: Mark Lieu <mtlieuu@chromium.org>
Date: Tue Jan 08 19:37:28 2019

Add Feature Flag for On-The-Fly MHTML Hashing

Added new feature flag which all future work for On-The-Fly MHTML
hashing will be hidden behind.

Bug: 915966
Change-Id: I63e4453aef70d9cfb07066c2073ff640609328f0
Reviewed-on: https://chromium-review.googlesource.com/c/1372414
Reviewed-by: Elly Fong-Jones <ellyjones@chromium.org>
Reviewed-by: Carlos Knippschild <carlosk@chromium.org>
Reviewed-by: Dan H <harringtond@google.com>
Commit-Queue: Mark Lieu <mtlieuu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#620837}
[modify] https://crrev.com/faa1b764f33d49cd498449adf731a4784a05dd96/chrome/browser/about_flags.cc
[modify] https://crrev.com/faa1b764f33d49cd498449adf731a4784a05dd96/chrome/browser/flag-metadata.json
[modify] https://crrev.com/faa1b764f33d49cd498449adf731a4784a05dd96/chrome/browser/flag_descriptions.cc
[modify] https://crrev.com/faa1b764f33d49cd498449adf731a4784a05dd96/chrome/browser/flag_descriptions.h
[modify] https://crrev.com/faa1b764f33d49cd498449adf731a4784a05dd96/chrome/common/chrome_switches.cc
[modify] https://crrev.com/faa1b764f33d49cd498449adf731a4784a05dd96/chrome/common/chrome_switches.h
[modify] https://crrev.com/faa1b764f33d49cd498449adf731a4784a05dd96/components/offline_pages/core/offline_page_feature.cc
[modify] https://crrev.com/faa1b764f33d49cd498449adf731a4784a05dd96/components/offline_pages/core/offline_page_feature.h
[modify] https://crrev.com/faa1b764f33d49cd498449adf731a4784a05dd96/tools/metrics/histograms/enums.xml

Starting work on replacing IPC with Mojo for MHTML Serialization

This will consist of three changes which will replace the current usage of legacy IPC within the context of MHTML Generation with Mojo to both update the interface as well as prepare for the upcoming streaming of serialized MHTML data back to the browser.

These three changes will be, in the following order:
   1. Create new parameter to carry OTFMHC feature flag to MHTML Generation
   2. Create MhtmlFileWriter Mojo interface and generic MHTML serialization parameters
   3. Create new IPC and Mojo entry points for MHTML Serialization into a generic serialization function
Project Member

Comment 5 by bugdroid1@chromium.org, Jan 10

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

commit 313646112278384c0e8fe64005f5727faae558f3
Author: Mark Lieu <mtlieuu@chromium.org>
Date: Thu Jan 10 19:22:41 2019

Create new parameter to carry OTFMHC feature flag to MHTML Generation

This is the first of three changes, which reads the new OTFMHC feature
flag to determine whether we are using Mojo IPC or legacy IPC to begin
MHTML serialization.

Bug: 915966
Change-Id: Iae318c21b3fbe57485e8021785135062c5f92e5a
Reviewed-on: https://chromium-review.googlesource.com/c/1395892
Reviewed-by: Dan H <harringtond@google.com>
Reviewed-by: Carlos Knippschild <carlosk@chromium.org>
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Commit-Queue: Mark Lieu <mtlieuu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#621697}
[modify] https://crrev.com/313646112278384c0e8fe64005f5727faae558f3/chrome/browser/offline_pages/offline_page_mhtml_archiver.cc
[modify] https://crrev.com/313646112278384c0e8fe64005f5727faae558f3/components/offline_pages/core/offline_page_feature.cc
[modify] https://crrev.com/313646112278384c0e8fe64005f5727faae558f3/components/offline_pages/core/offline_page_feature.h
[modify] https://crrev.com/313646112278384c0e8fe64005f5727faae558f3/content/public/common/mhtml_generation_params.h

Discussed offline to make the above 3-step change not hidden behind a feature flag, since we will need to do Mojo migration anyway.

Next revision will be a single consolidated change migrating IPC to Mojo

Sign in to add a comment