New issue
Advanced search Search tips

Issue 879224 link

Starred by 1 user

Issue metadata

Status: Available
Owner: ----
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Remove non-standard AppCache features

Project Member Reported by pwnall@chromium.org, Aug 30

Issue description

Chrome supports the following non-standard features

[ ] manifest signature can be CHROMIUM CACHE MANIFEST
[ ] URLs can be suffixed by "isPattern" to create patterns
[ ] CHROME-INTERCEPT manifest section containing rules like "namespace return target_url"
[ ] Limited support for cross-origin URLs in some manifest sections

We should measure the usage of these features and remove them, if possible.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Sep 1

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

commit 92940c99a682f67d32762308355c891d4f970852
Author: Victor Costan <pwnall@chromium.org>
Date: Sat Sep 01 02:39:20 2018

AppCache: Clean up manifest parsing algorithm implementation.

This cleanup refactors content::ParseManifest(). The main outcome is
separating low-level string manipulation (previously using C-style
pointers) from the higher-level logic for interpreting manifest data.
The desired benefit is being able to easily reason about the (standard
and proprietary) AppCache features that Chrome supports.

The CL relies heavily on base::StringPiece for string parsing, which
uses a (start, length) representation. Updating this requires more work
than the previous (start, end) representation. The extra work should be
outweighed by the performance savings of the new approach.

* URLs are not re-encoded from std::wstring to UTF16.
* Keywords are encoded as static base::StringPiece instances, avoiding
  some strlen() calls.

Bug: 879224
Change-Id: Ia8ecdb9453a103b7c6bfed8bc80ecf159095afc5
Reviewed-on: https://chromium-review.googlesource.com/1192985
Commit-Queue: Victor Costan <pwnall@chromium.org>
Reviewed-by: Joshua Bell <jsbell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#588251}
[modify] https://crrev.com/92940c99a682f67d32762308355c891d4f970852/content/browser/appcache/appcache_manifest_parser.cc
[modify] https://crrev.com/92940c99a682f67d32762308355c891d4f970852/content/browser/appcache/appcache_manifest_parser.h
[modify] https://crrev.com/92940c99a682f67d32762308355c891d4f970852/content/browser/appcache/appcache_manifest_parser_unittest.cc

Sign in to add a comment