| Commit-Queue | +1 |
base::ElapsedTimer timer;I'm not sure if all the timers still measure the exact same thing; in particular, this timer didn't used to include json parsing time...
base::ElapsedTimer timer;Though I guess it's a bit of a mixed bag, because it did include JSON parsing time previously on the "unsafe" path so you could reasonably argue that it's just unifying things.
if (!base::PathExists(json_path_)) {This is a little optimization that jetski really really wanted so I didn't try ot fight it :)
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Code-Review | +1 |
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
26 is the latest approved patch-set.
No files were changed between the latest approved patch-set and the submitted one.
Remove data decoder use in declarative net request ruleset indexing
`base::JSONReader` is backed by a memory-safe parser, so using a
sandboxed data decoder process is no longer necessary–in fact, all the
former entry points to the data decoder's JSON parser simply
synchronously parse on the calling thread and then post a task to the
same sequence to report the result.
While converting everything to be synchronous would be straightforward,
this CL preserves the async path where it already exists today: the
95%ile time on Extensions.DeclarativeNetRequest.IndexAndPersistRulesTime
in the seconds range. To avoid blocking a task runner continuously for
seconds at a time, the async paths process rulesets for up to 50
milliseconds before yielding and posting a task to continue where it
left off.
Despite still having some asynchronous control flows, this still
significantly simplifies the code overall, e.g. `RulesetInfo` no longer
needs to persist whether or not the indexing was successful in a field,
as the actual parsing/indexing path for an individual rulset is fully
synchronous.
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |