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

Issue 774719 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Nov 2017
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

SafeJSONParser should have an isolated mode

Project Member Reported by jcivelli@chromium.org, Oct 13 2017

Issue description

SafeJSONParser is part of the data_decoder service, meaning that JSON such as payment method JSON could be parsed in the same process as images are being decoded.
We should add a SHARED/ISOLATED enum to the the SafeJSONParser.Parse API. When called with ISOLATED, a separate process unique for this parsing would be used. ISOLATED should be the default.

Implementation note:
when using isolated, the service would be bound with a random instance name so that it gets its own process.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Nov 2 2017

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

commit d8dc7c6a7c3835f45fa5d2c7cc766f3e9870adcb
Author: Jay Civelli <jcivelli@google.com>
Date: Thu Nov 02 02:10:41 2017

Adding an isolated mode to SafeJsonParser.

Making the SafeJsonParser::Parse() method run in a different process for
each invocation. Adding a ParseShared() method that keeps the previous
behavior of only using one data_decoder process.

Bug:  774719 
Change-Id: Ib47ba953d0a7b5e23babd6b196b60ce3a80f1b5f
Reviewed-on: https://chromium-review.googlesource.com/729213
Commit-Queue: Jay Civelli <jcivelli@chromium.org>
Reviewed-by: Scott Violet <sky@chromium.org>
Reviewed-by: Robert Sesek <rsesek@chromium.org>
Reviewed-by: Ken Rockot <rockot@chromium.org>
Cr-Commit-Position: refs/heads/master@{#513372}
[modify] https://crrev.com/d8dc7c6a7c3835f45fa5d2c7cc766f3e9870adcb/chrome/browser/DEPS
[modify] https://crrev.com/d8dc7c6a7c3835f45fa5d2c7cc766f3e9870adcb/chrome/browser/safe_json_parser_browsertest.cc
[modify] https://crrev.com/d8dc7c6a7c3835f45fa5d2c7cc766f3e9870adcb/content/public/app/mojo/content_packaged_services_manifest.json
[modify] https://crrev.com/d8dc7c6a7c3835f45fa5d2c7cc766f3e9870adcb/services/data_decoder/public/cpp/safe_json_parser.h
[modify] https://crrev.com/d8dc7c6a7c3835f45fa5d2c7cc766f3e9870adcb/services/data_decoder/public/cpp/safe_json_parser_impl.cc

Status: Fixed (was: Untriaged)

Sign in to add a comment